[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f3c2hzbarghvu0":3,"$fqoavfme80075":43},{"sha":4,"committedAt":5,"fetchedAt":6,"source":7,"skill":8},"d545ab58bb89a5f88a08034a056af464abc229bf","2026-09-04T15:40:39.000Z","2026-09-04T15:49:35.573Z","github",{"slug":9,"name":10,"description":11,"tags":12,"author":16,"authorUrl":17,"badges":18,"fileCount":21,"totalBytes":22,"tree":23,"errors":42},"iterative-spec-design","Iterative Spec Design","Design a system section by section with an approval checkpoint after each one, so a wrong assumption is caught in section two instead of in the finished spec.",[13,14,15],"process","planning","specs","Patrity","https:\u002F\u002Fgithub.com\u002FPatrity",[19,20],"skills","claude-md",3,5868,[24,36,39],{"name":19,"path":19,"type":25,"children":26},"dir",[27],{"name":9,"path":28,"type":25,"children":29},"skills\u002Fiterative-spec-design",[30],{"name":31,"path":32,"type":33,"size":34,"kind":35},"SKILL.md","skills\u002Fiterative-spec-design\u002FSKILL.md","file",3549,"text",{"name":37,"path":37,"type":33,"size":38,"kind":35},"CLAUDE.md",234,{"name":40,"path":40,"type":33,"size":41,"kind":35},"README.md",2085,[],{"path":40,"language":44,"size":41,"kind":35,"content":45,"frontmatterRaw":46,"body":47,"data":326},"markdown","---\nname: Iterative Spec Design\ndescription: Design a system section by section with an approval checkpoint after each one, so a wrong assumption is caught in section two instead of in the finished spec.\ntags: [process, planning, specs]\nauthor: Patrity\nauthorUrl: https:\u002F\u002Fgithub.com\u002FPatrity\n---\n\n# Iterative Spec Design\n\nOne skill, one habit: partition the design into four to six sections, present each with a\nrecommendation and a rationale, and stop for feedback before moving on.\n\n## What's inside\n\n| Path | Purpose |\n| --- | --- |\n| `skills\u002Fiterative-spec-design\u002F` | When to use it, the six-step workflow, checkpoint phrasing, the anti-patterns, and the shape of the spec the sections compile into. |\n| `CLAUDE.md` | A pointer block to paste into your project's `CLAUDE.md`. |\n\n## Why\n\nThe expensive failure in spec writing is not a bad section — it is a bad *assumption* in an early\nsection that the next four sections are built on. Writing the whole document first hides that\nassumption until the point where correcting it means rewriting everything. Checkpoints surface it\nwhile it is still cheap, and they change the user's job from rubber-stamping a finished artefact to\nsteering an unfinished one.\n\nThe skill is deliberate about the phrasing too: \"Make sense? Any changes before I move on?\" invites\na correction, where \"Approved?\" invites a yes.\n\n## Install\n\n```bash\nunzip iterative-spec-design.zip\nmkdir -p .claude\u002Fskills\ncp -R iterative-spec-design\u002Fskills\u002F. .claude\u002Fskills\u002F\ncat iterative-spec-design\u002FCLAUDE.md >> CLAUDE.md\n```\n\nNo dependencies, no configuration — it is a procedure, not a tool.\n\n## Where the output goes\n\nSections compile into `docs\u002Fsuperpowers\u002Fspecs\u002FYYYY-MM-DD-\u003Cfeature>-design.md` with a decisions\ntable and explicit scope boundaries. That path is the frozen tier of the docs model — the spec\nrecords what was intended, and it stays as written even after the code moves on.\n\n## Companion bundles\n\n- **[`docs-discipline`](\u002Fskill\u002Fdocs-discipline)** — where the finished spec lives, and the handover\n  that records what actually shipped against it.\n","name: Iterative Spec Design\ndescription: Design a system section by section with an approval checkpoint after each one, so a wrong assumption is caught in section two instead of in the finished spec.\ntags: [process, planning, specs]\nauthor: Patrity\nauthorUrl: https:\u002F\u002Fgithub.com\u002FPatrity",{"type":48,"children":49},"root",[50,56,62,69,138,144,157,162,168,265,270,276,289,295,320],{"type":51,"tag":52,"props":53,"children":54},"element","h1",{"id":9},[55],{"type":35,"value":10},{"type":51,"tag":57,"props":58,"children":59},"p",{},[60],{"type":35,"value":61},"One skill, one habit: partition the design into four to six sections, present each with a\nrecommendation and a rationale, and stop for feedback before moving on.",{"type":51,"tag":63,"props":64,"children":66},"h2",{"id":65},"whats-inside",[67],{"type":35,"value":68},"What's inside",{"type":51,"tag":70,"props":71,"children":72},"table",{},[73,92],{"type":51,"tag":74,"props":75,"children":76},"thead",{},[77],{"type":51,"tag":78,"props":79,"children":80},"tr",{},[81,87],{"type":51,"tag":82,"props":83,"children":84},"th",{},[85],{"type":35,"value":86},"Path",{"type":51,"tag":82,"props":88,"children":89},{},[90],{"type":35,"value":91},"Purpose",{"type":51,"tag":93,"props":94,"children":95},"tbody",{},[96,115],{"type":51,"tag":78,"props":97,"children":98},{},[99,110],{"type":51,"tag":100,"props":101,"children":102},"td",{},[103],{"type":51,"tag":104,"props":105,"children":107},"code",{"className":106},[],[108],{"type":35,"value":109},"skills\u002Fiterative-spec-design\u002F",{"type":51,"tag":100,"props":111,"children":112},{},[113],{"type":35,"value":114},"When to use it, the six-step workflow, checkpoint phrasing, the anti-patterns, and the shape of the spec the sections compile into.",{"type":51,"tag":78,"props":116,"children":117},{},[118,126],{"type":51,"tag":100,"props":119,"children":120},{},[121],{"type":51,"tag":104,"props":122,"children":124},{"className":123},[],[125],{"type":35,"value":37},{"type":51,"tag":100,"props":127,"children":128},{},[129,131,136],{"type":35,"value":130},"A pointer block to paste into your project's ",{"type":51,"tag":104,"props":132,"children":134},{"className":133},[],[135],{"type":35,"value":37},{"type":35,"value":137},".",{"type":51,"tag":63,"props":139,"children":141},{"id":140},"why",[142],{"type":35,"value":143},"Why",{"type":51,"tag":57,"props":145,"children":146},{},[147,149,155],{"type":35,"value":148},"The expensive failure in spec writing is not a bad section — it is a bad ",{"type":51,"tag":150,"props":151,"children":152},"em",{},[153],{"type":35,"value":154},"assumption",{"type":35,"value":156}," in an early\nsection that the next four sections are built on. Writing the whole document first hides that\nassumption until the point where correcting it means rewriting everything. Checkpoints surface it\nwhile it is still cheap, and they change the user's job from rubber-stamping a finished artefact to\nsteering an unfinished one.",{"type":51,"tag":57,"props":158,"children":159},{},[160],{"type":35,"value":161},"The skill is deliberate about the phrasing too: \"Make sense? Any changes before I move on?\" invites\na correction, where \"Approved?\" invites a yes.",{"type":51,"tag":63,"props":163,"children":165},{"id":164},"install",[166],{"type":35,"value":167},"Install",{"type":51,"tag":169,"props":170,"children":175},"pre",{"className":171,"code":172,"language":173,"meta":174,"style":174},"language-bash shiki shiki-themes material-theme-lighter github-light github-dark","unzip iterative-spec-design.zip\nmkdir -p .claude\u002Fskills\ncp -R iterative-spec-design\u002Fskills\u002F. .claude\u002Fskills\u002F\ncat iterative-spec-design\u002FCLAUDE.md >> CLAUDE.md\n","bash","",[176],{"type":51,"tag":104,"props":177,"children":178},{"__ignoreMap":174},[179,197,217,240],{"type":51,"tag":180,"props":181,"children":184},"span",{"class":182,"line":183},"line",1,[185,191],{"type":51,"tag":180,"props":186,"children":188},{"style":187},"--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0",[189],{"type":35,"value":190},"unzip",{"type":51,"tag":180,"props":192,"children":194},{"style":193},"--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF",[195],{"type":35,"value":196}," iterative-spec-design.zip\n",{"type":51,"tag":180,"props":198,"children":200},{"class":182,"line":199},2,[201,206,212],{"type":51,"tag":180,"props":202,"children":203},{"style":187},[204],{"type":35,"value":205},"mkdir",{"type":51,"tag":180,"props":207,"children":209},{"style":208},"--shiki-light:#91B859;--shiki-default:#005CC5;--shiki-dark:#79B8FF",[210],{"type":35,"value":211}," -p",{"type":51,"tag":180,"props":213,"children":214},{"style":193},[215],{"type":35,"value":216}," .claude\u002Fskills\n",{"type":51,"tag":180,"props":218,"children":219},{"class":182,"line":21},[220,225,230,235],{"type":51,"tag":180,"props":221,"children":222},{"style":187},[223],{"type":35,"value":224},"cp",{"type":51,"tag":180,"props":226,"children":227},{"style":208},[228],{"type":35,"value":229}," -R",{"type":51,"tag":180,"props":231,"children":232},{"style":193},[233],{"type":35,"value":234}," iterative-spec-design\u002Fskills\u002F.",{"type":51,"tag":180,"props":236,"children":237},{"style":193},[238],{"type":35,"value":239}," .claude\u002Fskills\u002F\n",{"type":51,"tag":180,"props":241,"children":243},{"class":182,"line":242},4,[244,249,254,260],{"type":51,"tag":180,"props":245,"children":246},{"style":187},[247],{"type":35,"value":248},"cat",{"type":51,"tag":180,"props":250,"children":251},{"style":193},[252],{"type":35,"value":253}," iterative-spec-design\u002FCLAUDE.md",{"type":51,"tag":180,"props":255,"children":257},{"style":256},"--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583",[258],{"type":35,"value":259}," >>",{"type":51,"tag":180,"props":261,"children":262},{"style":193},[263],{"type":35,"value":264}," CLAUDE.md\n",{"type":51,"tag":57,"props":266,"children":267},{},[268],{"type":35,"value":269},"No dependencies, no configuration — it is a procedure, not a tool.",{"type":51,"tag":63,"props":271,"children":273},{"id":272},"where-the-output-goes",[274],{"type":35,"value":275},"Where the output goes",{"type":51,"tag":57,"props":277,"children":278},{},[279,281,287],{"type":35,"value":280},"Sections compile into ",{"type":51,"tag":104,"props":282,"children":284},{"className":283},[],[285],{"type":35,"value":286},"docs\u002Fsuperpowers\u002Fspecs\u002FYYYY-MM-DD-\u003Cfeature>-design.md",{"type":35,"value":288}," with a decisions\ntable and explicit scope boundaries. That path is the frozen tier of the docs model — the spec\nrecords what was intended, and it stays as written even after the code moves on.",{"type":51,"tag":63,"props":290,"children":292},{"id":291},"companion-bundles",[293],{"type":35,"value":294},"Companion bundles",{"type":51,"tag":296,"props":297,"children":298},"ul",{},[299],{"type":51,"tag":300,"props":301,"children":302},"li",{},[303,318],{"type":51,"tag":304,"props":305,"children":306},"strong",{},[307],{"type":51,"tag":308,"props":309,"children":311},"a",{"href":310},"\u002Fskill\u002Fdocs-discipline",[312],{"type":51,"tag":104,"props":313,"children":315},{"className":314},[],[316],{"type":35,"value":317},"docs-discipline",{"type":35,"value":319}," — where the finished spec lives, and the handover\nthat records what actually shipped against it.",{"type":51,"tag":321,"props":322,"children":323},"style",{},[324],{"type":35,"value":325},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"name":10,"description":11,"tags":327,"author":16,"authorUrl":17},[13,14,15]]