[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M754CB48WF1SP1AVWEXAD8FD":3,"skill-same:01M754CB48WF1SP1AVWEXAD8FD":51},{"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":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":28,"commitSha":29,"skillDirectory":30,"forksCount":31,"repositoryHtmlUrl":32,"repositoryHomepageUrl":6,"ownerHtmlUrl":33,"ownerBlogUrl":34,"ownerDescription":35,"updatedAt":36,"install":37,"resources":50},"01M754CB48WF1SP1AVWEXAD8FD","openspec-write-plan",null,"Use when an OpenSpec change has proposal, design, and tasks artifacts ready and a Superpowers implementation plan needs to be created before execution.","mambo-wang\u002FCodingHub","mambo-wang","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F17296917?v=4","01M75489WXT2KCG0TDVRGMTEET","WanderingBug","01M75489YB4Q10BJ2CWVRFWJHC",3,"MIT","https:\u002F\u002Fgithub.com\u002Fmambo-wang\u002FCodingHub\u002Fblob\u002Fpostgresql\u002F.codebuddy\u002Fskills\u002Fopenspec-write-plan\u002FSKILL.md",[],[],"2026-11-12 13:55:43",false,"---\nname: openspec-write-plan\r\ndescription: Use when an OpenSpec change has proposal, design, and tasks artifacts ready and a Superpowers implementation plan needs to be created before execution.\r\nlicense: MIT\r\ncompatibility: Requires openspec CLI and Superpowers writing-plans skill.\r\nmetadata:\r\n  author: dyx\r\n  version: \"1.0.1\"\n---\n\n\r\nGenerate a detailed Superpowers implementation plan from an OpenSpec change's artifacts.\r\n\r\n**Input**: Optionally specify a change name. Supports `--max-tasks N` (default 10) to control plan splitting.\r\n\r\n**Steps**\r\n\r\n1. **Select the change**\r\n\r\n   If a name is provided, use it. Otherwise:\r\n   - Infer from conversation context if the user mentioned a change\r\n   - Auto-select if only one active change exists\r\n   - If ambiguous, run `openspec list --json` to get available changes and prompt the user to select\r\n\r\n   Always announce: \"Using change: \u003Cname>\" and how to override.\r\n\r\n2. **Check status and load artifacts**\r\n   ```bash\r\n   openspec status --change '\u003Cname>' --json\r\n   ```\r\n   Parse the JSON to understand schema and artifact status.\r\n\r\n   ```bash\r\n   openspec instructions apply --change '\u003Cname>' --json\r\n   ```\r\n   Read all `contextFiles` (proposal, design, tasks, etc.).\r\n\r\n   **If tasks artifact is missing or incomplete**: stop and suggest running `\u002Fopsx:propose` first.\r\n\r\n3. **Parse tasks.md to extract task labels**\r\n\r\n   Read the tasks file and extract all task entries with their labels (e.g., `1.1`, `2.3`). Each line matching `- [ ] \u003Clabel> \u003Cdescription>` is a task. Record the label and description for each.\r\n\r\n4. **Determine plan splitting**\r\n\r\n   If `--max-tasks` is less than 1, treat as default (10). Count total tasks. If total > `--max-tasks`:\r\n   - Calculate groups: `g = ceil(total \u002F max-tasks)`\r\n   - Distribute tasks evenly across groups (group sizes differ by at most 1)\r\n   - Try to keep tasks sharing the same top-level label number (e.g., all `1.x` tasks) together (soft constraint)\r\n   - Present the splitting plan to the user for confirmation:\r\n     ```\r\n     Total tasks: 21, max-tasks: 10 → 3 plans\r\n     Plan 1: Tasks 1.1–2.3 (7 tasks)\r\n     Plan 2: Tasks 2.4–4.1 (7 tasks)\r\n     Plan 3: Tasks 4.2–5.3 (7 tasks)\r\n     Proceed? [Y\u002Fn]\r\n     ```\r\n   - Wait for user confirmation before proceeding\r\n\r\n5. **Call superpowers:writing-plans**\r\n\r\n   Invoke the `superpowers:writing-plans` skill with these additional constraints:\r\n   - Provide all OpenSpec artifacts as context (proposal, design, tasks)\r\n   - **Skip the \"Execution Handoff\" section entirely** — do NOT prompt the user to choose between Subagent-Driven or Inline Execution. Do NOT invoke `superpowers:subagent-driven-development` or `superpowers:executing-plans` after plan generation. Control returns to this command for the output summary step.\r\n   - **Require** that each generated Task includes an `\u003C!-- openspec-task: LABEL -->` comment on the line directly preceding the `### Task N:` heading (no blank lines between), where LABEL matches the corresponding OpenSpec tasks.md label\r\n   - Example:\r\n     ```markdown\r\n     \u003C!-- openspec-task: 1.1 -->\r\n     ### Task 1: Create HTML skeleton\r\n     ```\r\n   - One Superpowers task may map to exactly one OpenSpec task label\r\n   - Multiple Superpowers tasks may share the same OpenSpec task label (when a coarse OpenSpec task maps to multiple fine-grained steps)\r\n\r\n   **If the skill call fails** (Superpowers not installed): stop and display:\r\n   > \"Superpowers writing-plans skill not detected. Cannot create plan. Please install Superpowers first.\"\r\n\r\n   Do not generate any plan files. Do not fall back to a different approach.\r\n\r\n   **File naming:**\r\n   - Single plan: `docs\u002Fsuperpowers\u002Fplans\u002FYYYY-MM-DD-\u003Cchange-name>.md`\r\n   - Multiple plans: `docs\u002Fsuperpowers\u002Fplans\u002FYYYY-MM-DD-\u003Cchange-name>-tasks-\u003Cfirst>-\u003Clast>.md`\r\n\r\n6. **Verify mapping coverage**\r\n\r\n   After plan generation, scan the plan file(s) for all `\u003C!-- openspec-task: LABEL -->` annotations. Check:\r\n   - Every OpenSpec task label has at least one corresponding plan task\r\n   - Every plan task annotation references a label that exists in tasks.md (catch typos like `1.11` vs `1.1`)\r\n   - If any label is missing or invalid: warn the user and offer to regenerate the plan\r\n\r\n7. **Output summary**\r\n\r\n   ```\r\n   ## Plan Created\r\n\r\n   **Change:** \u003Cchange-name>\r\n   **Plan file(s):**\r\n   - docs\u002Fsuperpowers\u002Fplans\u002F\u003Cfilename>.md (N tasks)\r\n\r\n   **Mapping coverage:** All OpenSpec tasks covered ✓\r\n\r\n   Ready to execute! Run `\u002Fopsx:executing-plans \u003Cchange-name>` to start implementation.\r\n   This command will handle execution mode selection and sync progress back to OpenSpec tasks.\r\n   ```\r\n\r\n   **IMPORTANT:** Do NOT offer any other execution method. Do NOT suggest using `superpowers:subagent-driven-development` or `superpowers:executing-plans` directly. The only supported next step is `\u002Fopsx:executing-plans`.\r\n\r\n**Guardrails**\r\n- Change names must match `[A-Za-z0-9_-]+` — reject any name with spaces, quotes, or special characters before substituting into shell commands\r\n- Superpowers is a **hard dependency** — do not proceed without it\r\n- Always load OpenSpec artifacts before calling superpowers:writing-plans\r\n- Always verify mapping coverage after plan generation\r\n- Do not modify any existing OpenSpec files\r\n- Do not skip user confirmation for plan splitting\r\n- Follow Superpowers plan file conventions (header, task structure, TDD steps)\r\n- **Never** let superpowers:writing-plans perform its \"Execution Handoff\" — execution must go through `\u002Fopsx:executing-plans` to ensure OpenSpec task sync","Generate a detailed Superpowers implementation plan from an OpenSpec change's artifacts.\r\n\r\n**Input**: Optionally specify a change name. Supports `--max-tasks N` (default 10) to control plan splitting.\r\n\r\n**Steps**\r\n\r\n1. **Select the change**\r\n\r\n   If a name is provided, use it. Otherwise:\r\n   - Infer from conversation context if the user mentioned a change\r\n   - Auto-select if only one active change exists\r\n   - If ambiguous, run `openspec list --json` to get available changes and prompt the user to select\r\n\r\n   Always announce: \"Using change: \u003Cname>\" and how to override.\r\n\r\n2. **Check status and load artifacts**\r\n   ```bash\r\n   openspec status --change '\u003Cname>' --json\r\n   ```\r\n   Parse the JSON to understand schema and artifact status.\r\n\r\n   ```bash\r\n   openspec instructions apply --change '\u003Cname>' --json\r\n   ```\r\n   Read all `contextFiles` (proposal, design, tasks, etc.).\r\n\r\n   **If tasks artifact is missing or incomplete**: stop and suggest running `\u002Fopsx:propose` first.\r\n\r\n3. **Parse tasks.md to extract task labels**\r\n\r\n   Read the tasks file and extract all task entries with their labels (e.g., `1.1`, `2.3`). Each line matching `- [ ] \u003Clabel> \u003Cdescription>` is a task. Record the label and description for each.\r\n\r\n4. **Determine plan splitting**\r\n\r\n   If `--max-tasks` is less than 1, treat as default (10). Count total tasks. If total > `--max-tasks`:\r\n   - Calculate groups: `g = ceil(total \u002F max-tasks)`\r\n   - Distribute tasks evenly across groups (group sizes differ by at most 1)\r\n   - Try to keep tasks sharing the same top-level label number (e.g., all `1.x` tasks) together (soft constraint)\r\n   - Present the splitting plan to the user for confirmation:\r\n     ```\r\n     Total tasks: 21, max-tasks: 10 → 3 plans\r\n     Plan 1: Tasks 1.1–2.3 (7 tasks)\r\n     Plan 2: Tasks 2.4–4.1 (7 tasks)\r\n     Plan 3: Tasks 4.2–5.3 (7 tasks)\r\n     Proceed? [Y\u002Fn]\r\n     ```\r\n   - Wait for user confirmation before proceeding\r\n\r\n5. **Call superpowers:writing-plans**\r\n\r\n   Invoke the `superpowers:writing-plans` skill with these additional constraints:\r\n   - Provide all OpenSpec artifacts as context (proposal, design, tasks)\r\n   - **Skip the \"Execution Handoff\" section entirely** — do NOT prompt the user to choose between Subagent-Driven or Inline Execution. Do NOT invoke `superpowers:subagent-driven-development` or `superpowers:executing-plans` after plan generation. Control returns to this command for the output summary step.\r\n   - **Require** that each generated Task includes an `\u003C!-- openspec-task: LABEL -->` comment on the line directly preceding the `### Task N:` heading (no blank lines between), where LABEL matches the corresponding OpenSpec tasks.md label\r\n   - Example:\r\n     ```markdown\r\n     \u003C!-- openspec-task: 1.1 -->\r\n     ### Task 1: Create HTML skeleton\r\n     ```\r\n   - One Superpowers task may map to exactly one OpenSpec task label\r\n   - Multiple Superpowers tasks may share the same OpenSpec task label (when a coarse OpenSpec task maps to multiple fine-grained steps)\r\n\r\n   **If the skill call fails** (Superpowers not installed): stop and display:\r\n   > \"Superpowers writing-plans skill not detected. Cannot create plan. Please install Superpowers first.\"\r\n\r\n   Do not generate any plan files. Do not fall back to a different approach.\r\n\r\n   **File naming:**\r\n   - Single plan: `docs\u002Fsuperpowers\u002Fplans\u002FYYYY-MM-DD-\u003Cchange-name>.md`\r\n   - Multiple plans: `docs\u002Fsuperpowers\u002Fplans\u002FYYYY-MM-DD-\u003Cchange-name>-tasks-\u003Cfirst>-\u003Clast>.md`\r\n\r\n6. **Verify mapping coverage**\r\n\r\n   After plan generation, scan the plan file(s) for all `\u003C!-- openspec-task: LABEL -->` annotations. Check:\r\n   - Every OpenSpec task label has at least one corresponding plan task\r\n   - Every plan task annotation references a label that exists in tasks.md (catch typos like `1.11` vs `1.1`)\r\n   - If any label is missing or invalid: warn the user and offer to regenerate the plan\r\n\r\n7. **Output summary**\r\n\r\n   ```\r\n   ## Plan Created\r\n\r\n   **Change:** \u003Cchange-name>\r\n   **Plan file(s):**\r\n   - docs\u002Fsuperpowers\u002Fplans\u002F\u003Cfilename>.md (N tasks)\r\n\r\n   **Mapping coverage:** All OpenSpec tasks covered ✓\r\n\r\n   Ready to execute! Run `\u002Fopsx:executing-plans \u003Cchange-name>` to start implementation.\r\n   This command will handle execution mode selection and sync progress back to OpenSpec tasks.\r\n   ```\r\n\r\n   **IMPORTANT:** Do NOT offer any other execution method. Do NOT suggest using `superpowers:subagent-driven-development` or `superpowers:executing-plans` directly. The only supported next step is `\u002Fopsx:executing-plans`.\r\n\r\n**Guardrails**\r\n- Change names must match `[A-Za-z0-9_-]+` — reject any name with spaces, quotes, or special characters before substituting into shell commands\r\n- Superpowers is a **hard dependency** — do not proceed without it\r\n- Always load OpenSpec artifacts before calling superpowers:writing-plans\r\n- Always verify mapping coverage after plan generation\r\n- Do not modify any existing OpenSpec files\r\n- Do not skip user confirmation for plan splitting\r\n- Follow Superpowers plan file conventions (header, task structure, TDD steps)\r\n- **Never** let superpowers:writing-plans perform its \"Execution Handoff\" — execution must go through `\u002Fopsx:executing-plans` to ensure OpenSpec task sync",{"name":5,"license":15,"metadata":24,"description":7,"compatibility":27},{"author":25,"version":26},"dyx","1.0.1","Requires openspec CLI and Superpowers writing-plans skill.","postgresql","62510b28c38c732725a8174466b9cd99a0f9972f",".codebuddy\u002Fskills\u002Fopenspec-write-plan",1,"https:\u002F\u002Fgithub.com\u002Fmambo-wang\u002FCodingHub","https:\u002F\u002Fgithub.com\u002Fmambo-wang","https:\u002F\u002Fblog.csdn.net\u002Fsinat_27143551","专注Java后端开发，喜欢运动","2026-09-09 14:46:49",{"source":8,"skillName":5,"commands":38,"prompt":48,"zipAvailable":49},[39,42,45],{"tool":40,"command":41},"npx","npx skills add mambo-wang\u002FCodingHub --skill openspec-write-plan",{"tool":43,"command":44},"bunx","bunx skills add mambo-wang\u002FCodingHub --skill openspec-write-plan",{"tool":46,"command":47},"pnpm","pnpm dlx skills add mambo-wang\u002FCodingHub --skill openspec-write-plan","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmambo-wang\u002FCodingHub\u002Fblob\u002Fpostgresql\u002F.codebuddy\u002Fskills\u002Fopenspec-write-plan\u002FSKILL.md",true,[],[52,57,64,71,78,85],{"skillNo":53,"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":54,"categories":55,"keywords":56,"publishedAt":19},"01M754JDK9B3AR56T9WWPKECXG","https:\u002F\u002Fgithub.com\u002Fmambo-wang\u002FCodingHub\u002Fblob\u002Fpostgresql\u002F.qoderwork\u002Fskills\u002Fopenspec-write-plan\u002FSKILL.md",[],[],{"skillNo":58,"name":59,"nameZh":6,"description":60,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":61,"categories":62,"keywords":63,"publishedAt":19},"01M754JBJPHAQ7GE905FBG3NZ3","openspec-verify-change","Verify implementation matches change artifacts. Use when the user wants to validate that implementation is complete, correct, and coherent before archiving.","https:\u002F\u002Fgithub.com\u002Fmambo-wang\u002FCodingHub\u002Fblob\u002Fpostgresql\u002F.qoderwork\u002Fskills\u002Fopenspec-verify-change\u002FSKILL.md",[],[],{"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":19},"01M754J95M1YMZD3ZG0Y0HVTXW","openspec-sync-specs","Sync delta specs from a change to main specs. Use when the user wants to update main specs with changes from a delta spec, without archiving the change.","https:\u002F\u002Fgithub.com\u002Fmambo-wang\u002FCodingHub\u002Fblob\u002Fpostgresql\u002F.qoderwork\u002Fskills\u002Fopenspec-sync-specs\u002FSKILL.md",[],[],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":19},"01M754J6WGPAGTE2B1DTMBES6G","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\u002Fmambo-wang\u002FCodingHub\u002Fblob\u002Fpostgresql\u002F.qoderwork\u002Fskills\u002Fopenspec-propose\u002FSKILL.md",[],[],{"skillNo":79,"name":80,"nameZh":6,"description":81,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":82,"categories":83,"keywords":84,"publishedAt":19},"01M754J4EPQ34M7RCGDNMDVXDB","openspec-onboard","Guided onboarding for OpenSpec - walk through a complete workflow cycle with narration and real codebase work.","https:\u002F\u002Fgithub.com\u002Fmambo-wang\u002FCodingHub\u002Fblob\u002Fpostgresql\u002F.qoderwork\u002Fskills\u002Fopenspec-onboard\u002FSKILL.md",[],[],{"skillNo":86,"name":87,"nameZh":6,"description":88,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":89,"categories":90,"keywords":91,"publishedAt":19},"01M754J29TKZ2TCFD2N577XR4W","openspec-new-change","Start a new OpenSpec change using the experimental artifact workflow. Use when the user wants to create a new feature, fix, or modification with a structured step-by-step approach.","https:\u002F\u002Fgithub.com\u002Fmambo-wang\u002FCodingHub\u002Fblob\u002Fpostgresql\u002F.qoderwork\u002Fskills\u002Fopenspec-new-change\u002FSKILL.md",[],[]]