[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CP39QNRN136HV0F62TMS7P":3,"skill-same:01M6CP39QNRN136HV0F62TMS7P":65},{"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":18,"publishedAt":39,"linkOnly":40,"markdownContent":41,"markdownBody":42,"frontMatter":43,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":47,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":50,"install":51,"resources":64},"01M6CP39QNRN136HV0F62TMS7P","using-stories",null,"Compressed story-workflow rulebook, injected automatically at session start (including after compaction) in projects with .agents\u002Fshousper-stories\u002Fconfig.json. Use when unsure of the workflow rules mid-session, when asked \"how does the story workflow work here\", or for a story CLI quick reference. DO NOT TRIGGER in projects without .agents\u002Fshousper-stories\u002Fconfig.json, to set up the workflow (stories:setup), to file stories (stories:plan), or to run the loop (stories:work).","shousper\u002Fclanker-kit","shousper","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1144345?v=4","01M6CP153W30NV9J1XT8K98G4J","Corey McGregor","01M6CP157WFP2WEFX4TJH7JVPG",5,"MIT","https:\u002F\u002Fgithub.com\u002Fshousper\u002Fclanker-kit\u002Fblob\u002Fmain\u002Fshared\u002Fstories\u002Fskills\u002Fusing-stories\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"using stories","projects","do","reference","up","use","session","work","Rules","json","cli","plan","loop","how","SET","start","run","quick reference","config","workflow","2026-11-10 10:12:30",false,"---\nname: using-stories\ndescription: Compressed story-workflow rulebook, injected automatically at session start (including after compaction) in projects with .agents\u002Fshousper-stories\u002Fconfig.json. Use when unsure of the workflow rules mid-session, when asked \"how does the story workflow work here\", or for a story CLI quick reference. DO NOT TRIGGER in projects without .agents\u002Fshousper-stories\u002Fconfig.json, to set up the workflow (stories:setup), to file stories (stories:plan), or to run the loop (stories:work).\n---\n\n# Using Stories\n\nThis project runs the story workflow. The board is `stories\u002F*.md`; the `story` CLI is the ONLY way to change it.\n\n## Rules\n\n1. **Never hand-edit board or loop files** (`stories\u002F**` and everything under `.agents\u002Fshousper-stories\u002Flocal\u002F`: execution state, loop files, learnings, evidence). Every mutation is a `story` command — a hook denies direct writes and names the command to run instead. Do not route around it with the shell. Story loops are per-session: a loop only ever re-prompts the session that started it.\n2. **`done` is evidence- and plan-gated.** `story done` refuses a story with no `## Implementation Plan` on record (\u003C10 words = thin), runs command gates, and checks review verdicts itself. Never declare a story complete — the CLI decides.\n3. **Ready is computed, never stored.** Trust `story ready`, not file contents or memory.\n4. **Park, don't stall.** Human-only decision → `story park \u003Cid> --question \"…\"`, take the next story. Parked questions surface at run end — never bury them. While a loop is bound to your session the ask-the-user tool is denied: a question is a park.\n5. **Discovered work is filed, not done.** `story create --title \"…\" --description \"…\" --ac \"…\" --discovered-from \u003Cid>`, then back to the claimed story. The CLI refuses a story without a description and at least one acceptance criterion — write the spec at filing time, never \"fill it in later\".\n6. **One worktree per story.** Claimed work lives in `.worktrees\u002Fst-\u003Cid>` on branch `story\u002Fst-\u003Cid>`. Commit there; never merge to main yourself — integration is the CLI's job.\n7. **Budgets are visible and final.** The loop shows `iteration N · stalls a\u002Fb` at each turn end; a run ends after `b` consecutive turn ends without board progress. Never restart a stopped loop or edit loop state; a human decides.\n\n## CLI quick reference\n\n```bash\nstory ready --json                 # claim-safe workable set; feedback items first\nstory claim \u003Cid>                   # claim + create worktree\nstory show \u003Cid> | story board      # read views\nstory update \u003Cid> --… [--complexity hard|frontier]   # field changes (legal transitions only); absent = routine\nstory note \u003Cid> --body \"…\"         # append an implementation note\nstory create --title \"…\" --description \"…\" --ac \"…\" [--ac \"…\"] --type \u003Ct> [--complexity hard|frontier] [--discovered-from \u003Cid>] [--depends-on …] [--touches …]   # or --body-file \u003Cpath>\nstory park \u003Cid> --question \"…\"     # blocked on a human\nstory record \u003Cid> --gate \u003Cg> --verdict pass|fail --evidence \u003Cpath>\nstory done \u003Cid> [--allow-empty] [--allow-unplanned]   # gates → plan check → evidence → integrate\nstory loop status | story loop stop\nstory doctor [--fix]               # board integrity + adoption of hand-written stories (+ layout migration)\n```\n\nEvery read takes `--json`; every mutation locks — safe with parallel workers.\n\n## Skills\n\n- stories:work — the worker loop (claim → plan via the bundled planner runner, which pins the planner tier by story complexity → story update --plan-file → build-flow gets the planner's batches → done)\n- stories:plan — spec → stories · stories:setup — onboarding · stories:cancel — stop + report\n","# Using Stories\n\nThis project runs the story workflow. The board is `stories\u002F*.md`; the `story` CLI is the ONLY way to change it.\n\n## Rules\n\n1. **Never hand-edit board or loop files** (`stories\u002F**` and everything under `.agents\u002Fshousper-stories\u002Flocal\u002F`: execution state, loop files, learnings, evidence). Every mutation is a `story` command — a hook denies direct writes and names the command to run instead. Do not route around it with the shell. Story loops are per-session: a loop only ever re-prompts the session that started it.\n2. **`done` is evidence- and plan-gated.** `story done` refuses a story with no `## Implementation Plan` on record (\u003C10 words = thin), runs command gates, and checks review verdicts itself. Never declare a story complete — the CLI decides.\n3. **Ready is computed, never stored.** Trust `story ready`, not file contents or memory.\n4. **Park, don't stall.** Human-only decision → `story park \u003Cid> --question \"…\"`, take the next story. Parked questions surface at run end — never bury them. While a loop is bound to your session the ask-the-user tool is denied: a question is a park.\n5. **Discovered work is filed, not done.** `story create --title \"…\" --description \"…\" --ac \"…\" --discovered-from \u003Cid>`, then back to the claimed story. The CLI refuses a story without a description and at least one acceptance criterion — write the spec at filing time, never \"fill it in later\".\n6. **One worktree per story.** Claimed work lives in `.worktrees\u002Fst-\u003Cid>` on branch `story\u002Fst-\u003Cid>`. Commit there; never merge to main yourself — integration is the CLI's job.\n7. **Budgets are visible and final.** The loop shows `iteration N · stalls a\u002Fb` at each turn end; a run ends after `b` consecutive turn ends without board progress. Never restart a stopped loop or edit loop state; a human decides.\n\n## CLI quick reference\n\n```bash\nstory ready --json                 # claim-safe workable set; feedback items first\nstory claim \u003Cid>                   # claim + create worktree\nstory show \u003Cid> | story board      # read views\nstory update \u003Cid> --… [--complexity hard|frontier]   # field changes (legal transitions only); absent = routine\nstory note \u003Cid> --body \"…\"         # append an implementation note\nstory create --title \"…\" --description \"…\" --ac \"…\" [--ac \"…\"] --type \u003Ct> [--complexity hard|frontier] [--discovered-from \u003Cid>] [--depends-on …] [--touches …]   # or --body-file \u003Cpath>\nstory park \u003Cid> --question \"…\"     # blocked on a human\nstory record \u003Cid> --gate \u003Cg> --verdict pass|fail --evidence \u003Cpath>\nstory done \u003Cid> [--allow-empty] [--allow-unplanned]   # gates → plan check → evidence → integrate\nstory loop status | story loop stop\nstory doctor [--fix]               # board integrity + adoption of hand-written stories (+ layout migration)\n```\n\nEvery read takes `--json`; every mutation locks — safe with parallel workers.\n\n## Skills\n\n- stories:work — the worker loop (claim → plan via the bundled planner runner, which pins the planner tier by story complexity → story update --plan-file → build-flow gets the planner's batches → done)\n- stories:plan — spec → stories · stories:setup — onboarding · stories:cancel — stop + report\n",{"name":5,"description":7},"main","ffcb87b7a18526a98eccab20c8c12526bb10af96","shared\u002Fstories\u002Fskills\u002Fusing-stories",2,"https:\u002F\u002Fgithub.com\u002Fshousper\u002Fclanker-kit","https:\u002F\u002Fgithub.com\u002Fshousper","2026-10-27 23:43:43",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add shousper\u002Fclanker-kit --skill using-stories",{"tool":57,"command":58},"bunx","bunx skills add shousper\u002Fclanker-kit --skill using-stories",{"tool":60,"command":61},"pnpm","pnpm dlx skills add shousper\u002Fclanker-kit --skill using-stories","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fshousper\u002Fclanker-kit\u002Fblob\u002Fmain\u002Fshared\u002Fstories\u002Fskills\u002Fusing-stories\u002FSKILL.md",true,[],[66,103,119,139,152,164],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":85,"publishedAt":39},"01M6CP3FKPXFKQBY5979X2W9GN","writing-docs","Use when creating or editing documentation of any kind, including Markdown, RST, or HTML pages, READMEs, design docs, ADRs, changelogs, docstrings, and comment blocks. Covers document purpose, headings, paragraphs, lists, procedures, notices, cross-references, code samples, placeholders, example data, and word choice for technical writing.","https:\u002F\u002Fgithub.com\u002Fshousper\u002Fclanker-kit\u002Fblob\u002Fmain\u002Fshared\u002Fwriting\u002Fskills\u002Fwriting-docs\u002FSKILL.md",[72,77,80],{"categoryNo":73,"categoryName":74,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",{"categoryNo":78,"categoryName":79,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[86,87,88,89,90,91,92,93,94,95,96,97,98,24,99,100,101,102],"writing","docs","writing docs","design","technical writing","documentation","code","data","markdown","Word","choice","editing","technical","html","example","document","references",{"skillNo":104,"name":26,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":108,"publishedAt":39},"01M6CP3CHHC5S3FG5DS38W6PP8","Runs the story worker loop in a story-workflow project — claim ready stories, implement each in its own worktree, close through verification gates, repeat until the goal is met or the loop stalls. Use when asked to \"work the board\", \"complete all stories\", \"work on epic st-XXXX\", \"pick up the next story\", \"start a worker\", or to resume or continue a story run — and when a loop re-prompt names the next story in a session that started the loop. DO NOT TRIGGER without .agents\u002Fshousper-stories\u002Fconfig.json (use stories:setup first), for decomposing a spec into stories (stories:plan), or to stop a run (stories:cancel).","https:\u002F\u002Fgithub.com\u002Fshousper\u002Fclanker-kit\u002Fblob\u002Fmain\u002Fshared\u002Fstories\u002Fskills\u002Fwork\u002FSKILL.md",[],[26,38,37,35,109,110,34,31,30,111,112,113,25,114,23,115,116,21,117,118],"verification","worktree","work on","pick","verification gates","ready","goal","stop","claim","next",{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":128,"publishedAt":39},"01M6CP36Y3D5S74HQQX62D6SMC","setup","Interactive onboarding that turns a repo into a story-workflow project — merge-mode choice, verification gates with test-runner detection, gitignore wiring, optional project-specific reviewer personas. Use when asked to \"set up the story workflow\", \"adopt stories\", \"story init\", \"install the story board\", or when stories:plan \u002F stories:work is wanted but .agents\u002Fshousper-stories\u002Fconfig.json does not exist yet. DO NOT TRIGGER when .agents\u002Fshousper-stories\u002Fconfig.json already exists (use stories:plan to file work, stories:work to execute it), for creating individual stories, or for project scaffolding unrelated to the story workflow.","https:\u002F\u002Fgithub.com\u002Fshousper\u002Fclanker-kit\u002Fblob\u002Fmain\u002Fshared\u002Fstories\u002Fskills\u002Fsetup\u002FSKILL.md",[125],{"categoryNo":126,"categoryName":127,"taxonomyType":83,"taxonomyTypeDesc":84},"01JBSEEDCAT000000000000038","人力资源",[121,38,129,130,109,131,33,96,132,26,133,113,134,24,23,21,135,136,137,138],"test","init","file","reviewer","repo","interactive","personas","runner","gitignore","test-runner",{"skillNo":140,"name":30,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":144,"publishedAt":39},"01M6CP33ZJE0SNZAK43Z5RGPDQ","Decomposes a spec or approved design into epics and stories on the story board — sized, dependency-ordered, gated, human-approved, then filed via the story CLI. Use in a project with .agents\u002Fshousper-stories\u002Fconfig.json when there is a design doc (often from kit:brainstorming), spec, requirements file, or feature request to break down; it replaces kit:writing-plans in the workflow chain for story-based projects. Also use for \"file stories\", \"break this into stories\", \"populate the board\". DO NOT TRIGGER in projects without .agents\u002Fshousper-stories\u002Fconfig.json (use kit:writing-plans), for executing stories (stories:work), or for filing a single discovered-work story mid-loop (plain story create).","https:\u002F\u002Fgithub.com\u002Fshousper\u002Fclanker-kit\u002Fblob\u002Fmain\u002Fshared\u002Fstories\u002Fskills\u002Fplan\u002FSKILL.md",[],[30,89,86,29,145,38,37,146,147,131,31,20,28,148,26,149,24,150,21,151],"spec","brainstorming","create","design doc","board","dependency","gated",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":158,"publishedAt":39},"01M6CP31SH1DH78VYHRKEW8HK7","cancel","Stops an active story loop and reports where the board stands. Use when asked to \"stop the loop\", \"cancel the story run\", \"halt autonomous story work\", \"kill the worker loop\", or when a runaway run must be shut down. DO NOT TRIGGER for closing a single story (that is story done inside stories:work), for deleting or archiving stories, or for removing the story workflow from a project.","https:\u002F\u002Fgithub.com\u002Fshousper\u002Fclanker-kit\u002Fblob\u002Fmain\u002Fshared\u002Fstories\u002Fskills\u002Fcancel\u002FSKILL.md",[],[154,38,35,31,26,149,159,24,160,161,116,162,21,163],"autonomous","reports","Story","kill","done",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":178,"publishedAt":39},"01M6CP2Y30HFATGE0T9JTY693H","writing-skills","Creates, edits, and tests Claude skill files (SKILL.md) using TDD methodology with baseline pressure testing and rationalization defense. Use when writing a new skill, modifying an existing skill, optimizing a skill description for discovery (CSO), testing whether a skill triggers correctly, or structuring skill documentation. Enforces RED-GREEN-REFACTOR for process documentation.","https:\u002F\u002Fgithub.com\u002Fshousper\u002Fclanker-kit\u002Fblob\u002Fmain\u002Fshared\u002Fskills\u002Fwriting-skills\u002FSKILL.md",[170,173,176,177],{"categoryNo":171,"categoryName":172,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":174,"categoryName":175,"taxonomyType":75,"taxonomyTypeDesc":76},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":78,"categoryName":79,"taxonomyType":75,"taxonomyTypeDesc":76},{"categoryNo":81,"categoryName":82,"taxonomyType":83,"taxonomyTypeDesc":84},[86,179,180,181,91,182,183,184,185,186,187,188,24,189,190,191,192,193],"writing skills","testing","tdd","methodology","refactor","defense","baseline","discovery","cso","process","red-green-refactor","files","claude skill","new skill","existing skill"]