[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CF8KBMZ4D0CDJQ3PF1YVTP":3,"skill-same:01M6CF8KBMZ4D0CDJQ3PF1YVTP":91},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":28,"publishedAt":49,"linkOnly":50,"markdownContent":51,"markdownBody":52,"frontMatter":53,"refName":69,"commitSha":70,"skillDirectory":71,"forksCount":72,"repositoryHtmlUrl":73,"repositoryHomepageUrl":6,"ownerHtmlUrl":74,"ownerBlogUrl":6,"ownerDescription":75,"updatedAt":76,"install":77,"resources":90},"01M6CF8KBMZ4D0CDJQ3PF1YVTP","issues\u002Fmap",null,"Issue-board (Issue Pivot) generation domain. Use when reasoning about `cn issues map`'s fetch, taxonomy-parse, effort-computation, and render pipeline, or about the board's JSON\u002FHTML output contract.","usurobor\u002Fcnos","usurobor","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F182342826?v=4","01M6CEXJCRMYD8HB2315FGB1Q8","Peter Lisovin","01M6CEXJH2RW04GQ2SNXY40F5S",9,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fblob\u002Fmain\u002Fsrc\u002Fpackages\u002Fcnos.issues\u002Fskills\u002Fmap\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48],"issues map","issues","json","issue","use","generated","fetch","interactive","edit","board","README","github","how","open","taxonomy","api","SET","pipeline","data","reasoning","2026-11-10 10:12:30",false,"---\nname: issues\u002Fmap\ndescription: Issue-board (Issue Pivot) generation domain. Use when reasoning about `cn issues map`'s fetch, taxonomy-parse, effort-computation, and render pipeline, or about the board's JSON\u002FHTML output contract.\nartifact_class: skill\nkata_surface: none\ngoverning_question: How does an open-issue set become a taxonomy-aware, effort-weighted board record set and a self-contained interactive board output?\nvisibility: public\ntriggers:\n  - issues map\n  - issue board\n  - issue pivot\n  - board-data.json\nscope: task-local\ninputs:\n  - open GitHub issues (live via API, or fixture\u002Fstdin for offline use)\noutputs:\n  - board records (taxonomy, effort, effort_weight, unestimated)\n  - index.html (Voronoi + Pivot views)\n  - board-data.json\n  - README.md (generated, do-not-hand-edit)\n---\n\n# Issue map\n\n## Core Principle\n\nThe board is a **projection of the issue taxonomy**, not an independent data\nmodel: every field a board record carries is derived from taxonomy labels\n(`skills\u002Ftaxonomy\u002FSKILL.md`), never invented locally.\n\n## Implementation location\n\nThe domain implementation lives at\n[`src\u002Fpackages\u002Fcnos.issues\u002Fcommands\u002Fissues-map\u002F`](..\u002F..\u002Fcommands\u002Fissues-map\u002F)\nas its own Go module\n(`module github.com\u002Fusurobor\u002Fcnos\u002Fpackages\u002Fcnos.issues\u002Fcommands\u002Fissues-map`),\nco-located with this package, mirroring the\n[cnos#392](https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fissues\u002F392) `cdd-verify`\nprecedent exactly:\n\n- wired into `src\u002Fgo\u002Fgo.mod` via a `require`+`replace` pair;\n- added to `go.work`'s `use (...)` list;\n- dispatched by the thin `src\u002Fgo\u002Finternal\u002Fcli\u002Fcmd_issues_map.go` (argument\n  parsing + one-line delegation only — no domain logic).\n\nSee `src\u002Fpackages\u002Fcnos.issues\u002FSKILL.md` §\"Command-dispatch disposition\" for\nwhy this is Go-source co-location and not package-command exec-dispatch.\n\n## Command contract\n\n```text\ncn issues map --repo \u003Cowner\u002Frepo> --out docs\u002Fdevelopment\u002Fboard\n```\n\n- fetches open issues (GitHub API, or `--fixture`\u002F`--stdin` for offline use);\n- parses `kind\u002F*`, `area\u002F*`, `P0`–`P3`, `status:*`, `dispatch:cell`,\n  `protocol:*`, `effort\u002F*` per the taxonomy;\n- computes `effort`, `effort_weight` (S=1, M=2, L=4, XL=8), and\n  `unestimated` (missing effort ≠ small — nominal weight 1, visually flagged);\n- excludes `kind\u002Ftracking` from effort rollups by default;\n- emits `index.html`, `board-data.json`, `README.md` into `--out`.\n\n## Rule\n\n- The CLI dispatcher never contains taxonomy, effort, or rendering logic —\n  that is a dispatch-boundary violation (`docs\u002Farchitecture\u002FDESIGN-CONSTRAINTS.md` §3.2).\n- Board output behavior (fields, weights, exclusions) is unchanged by moving\n  the implementation's package home; a package-boundary refactor is not a\n  license to change board semantics.\n","# Issue map\n\n## Core Principle\n\nThe board is a **projection of the issue taxonomy**, not an independent data\nmodel: every field a board record carries is derived from taxonomy labels\n(`skills\u002Ftaxonomy\u002FSKILL.md`), never invented locally.\n\n## Implementation location\n\nThe domain implementation lives at\n[`src\u002Fpackages\u002Fcnos.issues\u002Fcommands\u002Fissues-map\u002F`](..\u002F..\u002Fcommands\u002Fissues-map\u002F)\nas its own Go module\n(`module github.com\u002Fusurobor\u002Fcnos\u002Fpackages\u002Fcnos.issues\u002Fcommands\u002Fissues-map`),\nco-located with this package, mirroring the\n[cnos#392](https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fissues\u002F392) `cdd-verify`\nprecedent exactly:\n\n- wired into `src\u002Fgo\u002Fgo.mod` via a `require`+`replace` pair;\n- added to `go.work`'s `use (...)` list;\n- dispatched by the thin `src\u002Fgo\u002Finternal\u002Fcli\u002Fcmd_issues_map.go` (argument\n  parsing + one-line delegation only — no domain logic).\n\nSee `src\u002Fpackages\u002Fcnos.issues\u002FSKILL.md` §\"Command-dispatch disposition\" for\nwhy this is Go-source co-location and not package-command exec-dispatch.\n\n## Command contract\n\n```text\ncn issues map --repo \u003Cowner\u002Frepo> --out docs\u002Fdevelopment\u002Fboard\n```\n\n- fetches open issues (GitHub API, or `--fixture`\u002F`--stdin` for offline use);\n- parses `kind\u002F*`, `area\u002F*`, `P0`–`P3`, `status:*`, `dispatch:cell`,\n  `protocol:*`, `effort\u002F*` per the taxonomy;\n- computes `effort`, `effort_weight` (S=1, M=2, L=4, XL=8), and\n  `unestimated` (missing effort ≠ small — nominal weight 1, visually flagged);\n- excludes `kind\u002Ftracking` from effort rollups by default;\n- emits `index.html`, `board-data.json`, `README.md` into `--out`.\n\n## Rule\n\n- The CLI dispatcher never contains taxonomy, effort, or rendering logic —\n  that is a dispatch-boundary violation (`docs\u002Farchitecture\u002FDESIGN-CONSTRAINTS.md` §3.2).\n- Board output behavior (fields, weights, exclusions) is unchanged by moving\n  the implementation's package home; a package-boundary refactor is not a\n  license to change board semantics.\n",{"name":5,"scope":54,"inputs":55,"outputs":57,"triggers":62,"visibility":65,"description":7,"kata_surface":66,"artifact_class":67,"governing_question":68},"task-local",[56],"open GitHub issues (live via API, or fixture\u002Fstdin for offline use)",[58,59,60,61],"board records (taxonomy, effort, effort_weight, unestimated)","index.html (Voronoi + Pivot views)","board-data.json","README.md (generated, do-not-hand-edit)",[29,63,64,60],"issue board","issue pivot","public","none","skill","How does an open-issue set become a taxonomy-aware, effort-weighted board record set and a self-contained interactive board output?","main","fb527e6c4bfb75c71fa75d6471b3aa3da32106d4","src\u002Fpackages\u002Fcnos.issues\u002Fskills\u002Fmap",0,"https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos","https:\u002F\u002Fgithub.com\u002Fusurobor","Coherence engineer. Building git-CN.","2026-11-07 14:25:44",{"source":8,"skillName":5,"commands":78,"prompt":88,"zipAvailable":89},[79,82,85],{"tool":80,"command":81},"npx","npx skills add usurobor\u002Fcnos --skill issues\u002Fmap",{"tool":83,"command":84},"bunx","bunx skills add usurobor\u002Fcnos --skill issues\u002Fmap",{"tool":86,"command":87},"pnpm","pnpm dlx skills add usurobor\u002Fcnos --skill issues\u002Fmap","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fblob\u002Fmain\u002Fsrc\u002Fpackages\u002Fcnos.issues\u002Fskills\u002Fmap\u002FSKILL.md",true,[],[92,105,117,134,155,173],{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":98,"publishedAt":49},"01M6CF8RWQPM0VXZG06XMR0FFX","issues\u002Ftriage","Issue triage doctrine pointer. Use when classifying a new issue, deciding dispatch eligibility, or deciding whether to close\u002Fsupersede\u002Fdefer.","https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fblob\u002Fmain\u002Fsrc\u002Fpackages\u002Fcnos.issues\u002Fskills\u002Ftriage\u002FSKILL.md",[],[99,30,100,101,45,41,102,65,33,103,32,104],"triage","issues triage","issue triage","decision","dispatch","doctrine",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":111,"publishedAt":49},"01M6CF8PJ812DD4APZ3WE8X67B","issues\u002Ftaxonomy","Issue label taxonomy pointer. Use when classifying an issue's kind\u002Farea\u002Fpriority\u002Feffort\u002Fstatus\u002Fprotocol\u002Fdispatch labels, or when the board needs to interpret them.","https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fblob\u002Fmain\u002Fsrc\u002Fpackages\u002Fcnos.issues\u002Fskills\u002Ftaxonomy\u002FSKILL.md",[],[30,43,112,40,113,114,45,42,65,38,33,103,115,32,116],"issues taxonomy","status","protocol","github issue","issue labels",{"skillNo":118,"name":30,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":122,"publishedAt":49},"01M6CF8CZQH7G7B7RZPANQWR4G","cnos.issues package entrypoint. Use when reasoning about issue taxonomy, the Issue Pivot \u002F issue-board (`cn issues map`), the read-only CDS issue-state evaluator (`cn issues fsm evaluate`), or the current command-dispatch disposition of issue tooling.","https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fblob\u002Fmain\u002Fsrc\u002Fpackages\u002Fcnos.issues\u002FSKILL.md",[],[30,40,123,124,125,126,127,128,129,43,42,41,102,130,39,131,33,132,103,133],"pr","current state","run","artifacts","state","package","boundary","branch","command","only","cds",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":140,"publishedAt":49},"01M6CF896XKSRQVB1CSHY8GSXB","receipt-stream","Cross-cycle receipt-stream doctrine for protocol-iteration. Use when γ closes a cycle and writes the per-cycle iteration artifact (`cdd-iteration.md`), when γ updates the cross-cycle aggregator at `.cdd\u002Fiterations\u002FINDEX.md`, when ε reads the receipt stream across cycles to surface protocol-gap patterns, when a finding's disposition lands a cross-repo patch and the cross-repo trace bundle attaches, or when a courtesy empty-findings stub is written for a `protocol_gap_count == 0` cycle.","https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fblob\u002Fmain\u002Fsrc\u002Fpackages\u002Fcnos.handoff\u002Fskills\u002Fhandoff\u002Freceipt-stream\u002FSKILL.md",[],[141,142,126,114,143,41,144,145,146,65,147,148,149,150,33,151,152,153,154,104],"receipt stream","handoff","index","learning","format","trace","repo","closeout","read","channel","embedded","patch","shape","cdd",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":161,"publishedAt":49},"01M6CF84VCBME6RK8V6HAVDM8Z","mid-flight","Mid-flight γ→in-flight-α rescue channel. Use when γ needs to change a load-bearing fact (pinned axis, scope, AC, blocker) after α has begun coding, when γ edits the cycle's GitHub issue body mid-cycle, or when a spec change lands on origin\u002Fmain while α\u002Fβ polling sessions are in-flight.","https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fblob\u002Fmain\u002Fsrc\u002Fpackages\u002Fcnos.handoff\u002Fskills\u002Fhandoff\u002Fmid-flight\u002FSKILL.md",[],[162,40,163,164,165,166,41,167,168,130,147,149,33,132,103,169,115,170,171,172],"mid flight","change","sessions","file","cache","pin","coordination","up","Legacy","gamma","artifact channel",{"skillNo":174,"name":103,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":182,"publishedAt":49},"01M6CF819GAMEVZN193MSK22DW","Dispatch-time wire-format contract between γ (orchestrator) and α\u002Fβ (workers). Use when γ authors a dispatch prompt for α or β, when δ enriches an under-specified prompt at routing time, or when α reads the implementation-contract block at intake.","https:\u002F\u002Fgithub.com\u002Fusurobor\u002Fcnos\u002Fblob\u002Fmain\u002Fsrc\u002Fpackages\u002Fcnos.handoff\u002Fskills\u002Fhandoff\u002Fdispatch\u002FSKILL.md",[178,181],{"categoryNo":179,"categoryName":180,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},[103,142,183,128,184,185,186,187,41,188,130,147,189,33,190,32,191,154,192,171],"intake","alpha","beta","operator","escalation","template","orchestrator","ready","contracts","delta"]