[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71FA5X0AQKNKPC2CYGC37EV":3,"skill-same:01M71FA5X0AQKNKPC2CYGC37EV":63},{"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":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":40,"commitSha":41,"skillDirectory":42,"forksCount":43,"repositoryHtmlUrl":44,"repositoryHomepageUrl":6,"ownerHtmlUrl":45,"ownerBlogUrl":46,"ownerDescription":47,"updatedAt":48,"install":49,"resources":62},"01M71FA5X0AQKNKPC2CYGC37EV","openspec-archive-change",null,"Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.","Wizarck\u002Fai-playbook","Wizarck","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F23051550?v=4","01M71B3AAVR67GRWFV5ZXXZP31","arturo6ramirez","01M71F5FHXDSX3G2F52R1YS77J",6,"MIT","https:\u002F\u002Fgithub.com\u002FWizarck\u002Fai-playbook\u002Fblob\u002Fmain\u002Fskills\u002Fopenspec-archive-change\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30],"change","openspec archive change","openspec","archive","finalize","implementation","cli","use","when","workflow","complete","user","2026-11-10 10:12:30",false,"---\nname: openspec-archive-change\ndescription: Archive a completed change in the experimental workflow. Use when the user wants to finalize and archive a change after implementation is complete.\nlicense: MIT\ncompatibility: Requires openspec CLI.\nmetadata:\n  author: openspec\n  version: \"1.0\"\n  generatedBy: \"1.3.0\"\n---\n\nArchive a completed change in the experimental workflow.\n\n**Input**: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.\n\n**Steps**\n\n0. **Verify project board Status=Done before archiving** (per [project-board-sync.md](..\u002F..\u002Fdocs\u002Fconcepts\u002Fproject-board-sync.md) §2 L7)\n\n   Invoke `scripts\u002Fverify_board_state.py` BEFORE doing any archive work. The script queries the GH Project board and exits non-zero if the matching item's Status is not `Done`. Refuse to archive on non-zero exit — do NOT paraphrase the script's output, cite the exit code (per [verification-before-completion.md](..\u002F..\u002Fdocs\u002Frules\u002Fverification-before-completion.rule.md) §4.1.2).\n\n   Required env \u002F inputs:\n   - `--change-id` — the OpenSpec change-id being archived\n   - `--owner` — GH user\u002Forg login owning the project\n   - `--project-number` — numeric Project V2 ID\n   - `--expected-status Done` — default for archive workflows\n\n   ```bash\n   python -m scripts.verify_board_state \\\n       --change-id \u003Cname> \\\n       --owner \u003Cgh-user-or-org> \\\n       --project-number \u003CN> \\\n       --expected-status Done\n   ```\n\n   Exit-code semantics (stable contract):\n   - `0` — Status=Done, proceed.\n   - `1` — Status mismatch. Refuse archive: surface the script's stderr to the user and ask them to (a) wait for L1 PR-merged automation to fire, or (b) verify the L2 workflow ran correctly, or (c) manually advance the status if board got drift.\n   - `2` — Item not found. Refuse archive: the change-id doesn't match a project item title.\n   - `3` — GraphQL\u002Fnetwork error. Surface to user and offer one retry.\n\n   **If `scripts\u002Fverify_board_state.py` is not present** (consumer on ai-playbook \u003C v0.10.0): emit a warning and continue (legacy behaviour). New consumers (v0.10.0+) MUST have the script and MUST not bypass.\n\n1. **If no change name provided, prompt for selection**\n\n   Run `openspec list --json` to get available changes. Use the **AskUserQuestion tool** to let the user select.\n\n   Show only active changes (not already archived).\n   Include the schema used for each change if available.\n\n   **IMPORTANT**: Do NOT guess or auto-select a change. Always let the user choose.\n\n2. **Check artifact completion status**\n\n   Run `openspec status --change \"\u003Cname>\" --json` to check artifact completion.\n\n   Parse the JSON to understand:\n   - `schemaName`: The workflow being used\n   - `artifacts`: List of artifacts with their status (`done` or other)\n\n   **If any artifacts are not `done`:**\n   - Display warning listing incomplete artifacts\n   - Use **AskUserQuestion tool** to confirm user wants to proceed\n   - Proceed if user confirms\n\n3. **Check task completion status**\n\n   Read the tasks file (typically `tasks.md`) to check for incomplete tasks.\n\n   Count tasks marked with `- [ ]` (incomplete) vs `- [x]` (complete).\n\n   **If incomplete tasks found:**\n   - Display warning showing count of incomplete tasks\n   - Use **AskUserQuestion tool** to confirm user wants to proceed\n   - Proceed if user confirms\n\n   **If no tasks file exists:** Proceed without task-related warning.\n\n4. **Assess delta spec sync state** (informational only — no automated sync in this version)\n\n   Check for delta specs at `openspec\u002Fchanges\u002F\u003Cname>\u002Fspecs\u002F`. If none exist, proceed without notice.\n\n   **If delta specs exist:**\n   - Compare each delta spec with its corresponding main spec at `openspec\u002Fspecs\u002F\u003Ccapability>\u002Fspec.md`\n   - Determine what changes would be applied (adds, modifications, removals, renames)\n   - Show a combined summary so the user knows what an eventual sync would do.\n\n   Archive only does the move + retro — no automated sync is performed.\n\n5. **Perform the archive**\n\n   Create the archive directory if it doesn't exist:\n   ```bash\n   mkdir -p openspec\u002Fchanges\u002Farchive\n   ```\n\n   Generate target name using current date: `YYYY-MM-DD-\u003Cchange-name>`\n\n   **Check if target already exists:**\n   - If yes: Fail with error, suggest renaming existing archive or using different date\n   - If no: Move the change directory to archive\n\n   ```bash\n   mv openspec\u002Fchanges\u002F\u003Cname> openspec\u002Fchanges\u002Farchive\u002FYYYY-MM-DD-\u003Cname>\n   ```\n\n6. **Chain a retrospective write to `retros\u002F\u003Cchange-id>.md`** (Gate F deliverable)\n\n   Per [runbook-bmad-openspec.md](..\u002F..\u002Fdocs\u002Fconcepts\u002Frunbook-bmad-openspec.md) §3.1 and §4 + Gate F in §5, every archive MUST chain a retro write. Path: `retros\u002F\u003Cchange-id>.md` (relative to the project root). Create the `retros\u002F` directory if it does not exist.\n\n   - **If a `bmad-retrospective` skill is available**, invoke it via the Skill tool, passing the change-id and the archive path. It produces the retro per the BMAD retrospective format.\n   - **Otherwise, write a stub markdown directly** with the following sections (the human fills them in):\n\n     ```markdown\n     # Retrospective: \u003Cchange-id>\n\n     - **Archived**: YYYY-MM-DD\n     - **Archive path**: openspec\u002Fchanges\u002Farchive\u002FYYYY-MM-DD-\u003Cchange-id>\u002F\n     - **Schema**: \u003Cschema-name>\n\n     ## What worked\n\n     \u003Cone-paragraph: practices, patterns, decisions that paid off>\n\n     ## What didn't\n\n     \u003Cone-paragraph: friction, surprises, rework>\n\n     ## Lessons\n\n     \u003Cbulleted: durable lessons; candidates for retention to Hindsight if cross-project>\n\n     ## Carry-forward to next change\n\n     \u003Cbulleted: action items, follow-up tickets, spec edits>\n     ```\n\n   If `retros\u002F\u003Cchange-id>.md` already exists, do NOT overwrite — append a new dated section instead and warn the user.\n\n7. **Display summary**\n\n   Show archive completion summary including:\n   - Change name\n   - Schema that was used\n   - Archive location\n   - Whether specs were synced (if applicable)\n   - Note about any warnings (incomplete artifacts\u002Ftasks)\n\n**Output On Success**\n\n```\n## Archive Complete\n\n**Change:** \u003Cchange-name>\n**Schema:** \u003Cschema-name>\n**Archived to:** openspec\u002Fchanges\u002Farchive\u002FYYYY-MM-DD-\u003Cname>\u002F\n**Specs:** No automated sync (deferred to v0.8.0 spec-sync skill); delta-spec assessment shown above for human follow-up.\n**Retro:** retros\u002F\u003Cchange-id>.md (stub written \u002F appended)\n\nAll artifacts complete. All tasks complete.\n```\n\n**Guardrails**\n- **Always run Step 0 first** (project board Status=Done verification) for consumers on ai-playbook v0.10.0+; refuse archive on non-zero exit per project-board-sync.md L7\n- Always prompt for change selection if not provided\n- Use artifact graph (openspec status --json) for completion checking\n- Don't block archive on warnings - just inform and confirm\n- Preserve .openspec.yaml when moving to archive (it moves with the directory)\n- Show clear summary of what happened\n- Always chain the retro write (step 6) — Gate F deliverable per the runbook; never skip silently\n- If delta specs exist, always run the assessment and show the combined summary (informational only until v0.8.0)\n","Archive a completed change in the experimental workflow.\n\n**Input**: Optionally specify a change name. If omitted, check if it can be inferred from conversation context. If vague or ambiguous you MUST prompt for available changes.\n\n**Steps**\n\n0. **Verify project board Status=Done before archiving** (per [project-board-sync.md](..\u002F..\u002Fdocs\u002Fconcepts\u002Fproject-board-sync.md) §2 L7)\n\n   Invoke `scripts\u002Fverify_board_state.py` BEFORE doing any archive work. The script queries the GH Project board and exits non-zero if the matching item's Status is not `Done`. Refuse to archive on non-zero exit — do NOT paraphrase the script's output, cite the exit code (per [verification-before-completion.md](..\u002F..\u002Fdocs\u002Frules\u002Fverification-before-completion.rule.md) §4.1.2).\n\n   Required env \u002F inputs:\n   - `--change-id` — the OpenSpec change-id being archived\n   - `--owner` — GH user\u002Forg login owning the project\n   - `--project-number` — numeric Project V2 ID\n   - `--expected-status Done` — default for archive workflows\n\n   ```bash\n   python -m scripts.verify_board_state \\\n       --change-id \u003Cname> \\\n       --owner \u003Cgh-user-or-org> \\\n       --project-number \u003CN> \\\n       --expected-status Done\n   ```\n\n   Exit-code semantics (stable contract):\n   - `0` — Status=Done, proceed.\n   - `1` — Status mismatch. Refuse archive: surface the script's stderr to the user and ask them to (a) wait for L1 PR-merged automation to fire, or (b) verify the L2 workflow ran correctly, or (c) manually advance the status if board got drift.\n   - `2` — Item not found. Refuse archive: the change-id doesn't match a project item title.\n   - `3` — GraphQL\u002Fnetwork error. Surface to user and offer one retry.\n\n   **If `scripts\u002Fverify_board_state.py` is not present** (consumer on ai-playbook \u003C v0.10.0): emit a warning and continue (legacy behaviour). New consumers (v0.10.0+) MUST have the script and MUST not bypass.\n\n1. **If no change name provided, prompt for selection**\n\n   Run `openspec list --json` to get available changes. Use the **AskUserQuestion tool** to let the user select.\n\n   Show only active changes (not already archived).\n   Include the schema used for each change if available.\n\n   **IMPORTANT**: Do NOT guess or auto-select a change. Always let the user choose.\n\n2. **Check artifact completion status**\n\n   Run `openspec status --change \"\u003Cname>\" --json` to check artifact completion.\n\n   Parse the JSON to understand:\n   - `schemaName`: The workflow being used\n   - `artifacts`: List of artifacts with their status (`done` or other)\n\n   **If any artifacts are not `done`:**\n   - Display warning listing incomplete artifacts\n   - Use **AskUserQuestion tool** to confirm user wants to proceed\n   - Proceed if user confirms\n\n3. **Check task completion status**\n\n   Read the tasks file (typically `tasks.md`) to check for incomplete tasks.\n\n   Count tasks marked with `- [ ]` (incomplete) vs `- [x]` (complete).\n\n   **If incomplete tasks found:**\n   - Display warning showing count of incomplete tasks\n   - Use **AskUserQuestion tool** to confirm user wants to proceed\n   - Proceed if user confirms\n\n   **If no tasks file exists:** Proceed without task-related warning.\n\n4. **Assess delta spec sync state** (informational only — no automated sync in this version)\n\n   Check for delta specs at `openspec\u002Fchanges\u002F\u003Cname>\u002Fspecs\u002F`. If none exist, proceed without notice.\n\n   **If delta specs exist:**\n   - Compare each delta spec with its corresponding main spec at `openspec\u002Fspecs\u002F\u003Ccapability>\u002Fspec.md`\n   - Determine what changes would be applied (adds, modifications, removals, renames)\n   - Show a combined summary so the user knows what an eventual sync would do.\n\n   Archive only does the move + retro — no automated sync is performed.\n\n5. **Perform the archive**\n\n   Create the archive directory if it doesn't exist:\n   ```bash\n   mkdir -p openspec\u002Fchanges\u002Farchive\n   ```\n\n   Generate target name using current date: `YYYY-MM-DD-\u003Cchange-name>`\n\n   **Check if target already exists:**\n   - If yes: Fail with error, suggest renaming existing archive or using different date\n   - If no: Move the change directory to archive\n\n   ```bash\n   mv openspec\u002Fchanges\u002F\u003Cname> openspec\u002Fchanges\u002Farchive\u002FYYYY-MM-DD-\u003Cname>\n   ```\n\n6. **Chain a retrospective write to `retros\u002F\u003Cchange-id>.md`** (Gate F deliverable)\n\n   Per [runbook-bmad-openspec.md](..\u002F..\u002Fdocs\u002Fconcepts\u002Frunbook-bmad-openspec.md) §3.1 and §4 + Gate F in §5, every archive MUST chain a retro write. Path: `retros\u002F\u003Cchange-id>.md` (relative to the project root). Create the `retros\u002F` directory if it does not exist.\n\n   - **If a `bmad-retrospective` skill is available**, invoke it via the Skill tool, passing the change-id and the archive path. It produces the retro per the BMAD retrospective format.\n   - **Otherwise, write a stub markdown directly** with the following sections (the human fills them in):\n\n     ```markdown\n     # Retrospective: \u003Cchange-id>\n\n     - **Archived**: YYYY-MM-DD\n     - **Archive path**: openspec\u002Fchanges\u002Farchive\u002FYYYY-MM-DD-\u003Cchange-id>\u002F\n     - **Schema**: \u003Cschema-name>\n\n     ## What worked\n\n     \u003Cone-paragraph: practices, patterns, decisions that paid off>\n\n     ## What didn't\n\n     \u003Cone-paragraph: friction, surprises, rework>\n\n     ## Lessons\n\n     \u003Cbulleted: durable lessons; candidates for retention to Hindsight if cross-project>\n\n     ## Carry-forward to next change\n\n     \u003Cbulleted: action items, follow-up tickets, spec edits>\n     ```\n\n   If `retros\u002F\u003Cchange-id>.md` already exists, do NOT overwrite — append a new dated section instead and warn the user.\n\n7. **Display summary**\n\n   Show archive completion summary including:\n   - Change name\n   - Schema that was used\n   - Archive location\n   - Whether specs were synced (if applicable)\n   - Note about any warnings (incomplete artifacts\u002Ftasks)\n\n**Output On Success**\n\n```\n## Archive Complete\n\n**Change:** \u003Cchange-name>\n**Schema:** \u003Cschema-name>\n**Archived to:** openspec\u002Fchanges\u002Farchive\u002FYYYY-MM-DD-\u003Cname>\u002F\n**Specs:** No automated sync (deferred to v0.8.0 spec-sync skill); delta-spec assessment shown above for human follow-up.\n**Retro:** retros\u002F\u003Cchange-id>.md (stub written \u002F appended)\n\nAll artifacts complete. All tasks complete.\n```\n\n**Guardrails**\n- **Always run Step 0 first** (project board Status=Done verification) for consumers on ai-playbook v0.10.0+; refuse archive on non-zero exit per project-board-sync.md L7\n- Always prompt for change selection if not provided\n- Use artifact graph (openspec status --json) for completion checking\n- Don't block archive on warnings - just inform and confirm\n- Preserve .openspec.yaml when moving to archive (it moves with the directory)\n- Show clear summary of what happened\n- Always chain the retro write (step 6) — Gate F deliverable per the runbook; never skip silently\n- If delta specs exist, always run the assessment and show the combined summary (informational only until v0.8.0)\n",{"name":5,"license":15,"metadata":36,"description":7,"compatibility":39},{"author":21,"version":37,"generatedBy":38},"1.0","1.3.0","Requires openspec CLI.","main","08fe7aa0f06bc1a3f592ec82360e46b854846968","skills\u002Fopenspec-archive-change",1,"https:\u002F\u002Fgithub.com\u002FWizarck\u002Fai-playbook","https:\u002F\u002Fgithub.com\u002FWizarck","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Framirezarturo\u002F","Geek by birth, with not much to say but plenty to talk about.","2026-11-09 19:34:21",{"source":8,"skillName":5,"commands":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add Wizarck\u002Fai-playbook --skill openspec-archive-change",{"tool":55,"command":56},"bunx","bunx skills add Wizarck\u002Fai-playbook --skill openspec-archive-change",{"tool":58,"command":59},"pnpm","pnpm dlx skills add Wizarck\u002Fai-playbook --skill openspec-archive-change","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FWizarck\u002Fai-playbook\u002Fblob\u002Fmain\u002Fskills\u002Fopenspec-archive-change\u002FSKILL.md",true,[],[64,88,108,132,151,164],{"skillNo":65,"name":66,"nameZh":6,"description":67,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":68,"categories":69,"keywords":70,"publishedAt":31},"01M71FATTWS9W3BME3S94SA1QR","sweep","Use when the user wants to find code that has quietly stopped being used — types \u002Fsweep, asks for a \"dead code sweep\", \"repo entropy\", \"what can we delete\", \"orphan files\", \"unused code\", or asks to review a sweep ledger. Adjudicates candidates a deterministic scanner already produced; it never deletes anything and never re-derives findings from raw source. Pairs with ponytail, which gates what gets written rather than what rots.","https:\u002F\u002Fgithub.com\u002FWizarck\u002Fai-playbook\u002Fblob\u002Fmain\u002Fskills\u002Fsweep\u002FSKILL.md",[],[66,71,72,73,74,75,76,77,78,79,80,81,82,26,27,83,84,85,86,87],"deterministic","which","never","entropy","types","for","repo","re","ponytail","orphan","files","unused","code","can","gates","review","candidates",{"skillNo":89,"name":79,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":31},"01M71FAQKVDA209G7G5NMY9H1E","Use when the user wants the laziest solution that actually works — types \u002Fponytail, says \"be lazy\", \"lazy mode\", \"simplest solution\", \"minimal solution\", \"yagni\", \"do less\", or \"shortest path\", or complains about over-engineering, bloat, boilerplate, or unnecessary dependencies. Supports intensity levels lite, full, ultra (default). Pairs with caveman, which compresses prose, not code.","https:\u002F\u002Fgithub.com\u002FWizarck\u002Fai-playbook\u002Fblob\u002Fmain\u002Fskills\u002Fponytail\u002FSKILL.md",[],[79,94,95,72,96,75,97,98,99,100,26,27,83,101,102,103,104,105,106,107],"notice","do","lazy","mode","default","minimal","intensity","with","yagni","about","dependencies","2026","playbook","boilerplate",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":119,"publishedAt":31},"01M71FAMS250NKNF1PET9KNBBV","ponytail-review","Use when the user wants a code review focused exclusively on over-engineering — says \"review for over-engineering\", \"what can we delete\", \"is this over-engineered\", \"simplify review\", or invokes \u002Fponytail-review. Complements correctness\u002Fsecurity review; this one only hunts complexity in the current diff. Gated by the ponytail review_ponytail component.","https:\u002F\u002Fgithub.com\u002FWizarck\u002Fai-playbook\u002Fblob\u002Fmain\u002Fskills\u002Fponytail-review\u002FSKILL.md",[114],{"categoryNo":115,"categoryName":116,"taxonomyType":117,"taxonomyTypeDesc":118},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",[120,79,86,121,122,76,123,124,26,27,125,126,83,127,84,128,129,130,131,106],"ponytail review","complexity","diff","code review","only","simplify","correctness","one","delete","component","security review","gated",{"skillNo":133,"name":134,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":138,"publishedAt":31},"01M71FAG53ZPCSWE272P6S9JFN","ponytail-debt","Use when the user wants to harvest every `ponytail:` comment in the codebase into a tracked debt ledger — says \"ponytail debt\", \"\u002Fponytail-debt\", \"what did ponytail defer\", \"list the shortcuts\", \"ponytail ledger\", or \"what did we mark to do later\". One-shot report, changes nothing. Gated by the ponytail debt_ponytail component.","https:\u002F\u002Fgithub.com\u002FWizarck\u002Fai-playbook\u002Fblob\u002Fmain\u002Fskills\u002Fponytail-debt\u002FSKILL.md",[],[139,79,140,141,95,142,143,129,144,145,131,146,147,106,148,149,26,27,150,127],"ponytail debt","debt","shortcuts","mark","to do","changes","later","report","codebase","harvest","list","ledger",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":157,"publishedAt":31},"01M71FACJW88WCS2JGX3MQ3KV9","ponytail-audit","Use when the user wants a whole-repo audit for over-engineering — says \"audit this codebase\", \"audit for over-engineering\", \"what can I delete from this repo\", \"find bloat\", or invokes \u002Fponytail-audit. Like ponytail-review but scans the entire tree, not a diff. One-shot report, applies no fixes. Gated by the ponytail audit_ponytail component.","https:\u002F\u002Fgithub.com\u002FWizarck\u002Fai-playbook\u002Fblob\u002Fmain\u002Fskills\u002Fponytail-audit\u002FSKILL.md",[],[158,79,159,160,122,161,76,77,26,27,162,127,84,86,128,129,131,163,146,147],"ponytail audit","audit","tree","fixes","entire","find",{"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":170,"publishedAt":31},"01M71FA9THHXDX79PQTJ9CZX9E","openspec-propose","Propose a new change with all artifacts generated in one step. Use when the user wants to quickly describe what they want to build and get a complete proposal with design, specs, and tasks ready for implementation.","https:\u002F\u002Fgithub.com\u002FWizarck\u002Fai-playbook\u002Fblob\u002Fmain\u002Fskills\u002Fopenspec-propose\u002FSKILL.md",[],[21,171,101,172,173,19,25,174,175,76,29,176,177,24,178,179,26,27,180,181],"openspec propose","ready","proposal","get","build","design","new","generated","describe","artifacts","tasks"]