[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C2B4NPD8Z3Q3FKEX0H4301":3,"skill-same:01M6C2B4NPD8Z3Q3FKEX0H4301":58},{"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":27,"linkOnly":28,"markdownContent":29,"markdownBody":30,"frontMatter":31,"refName":37,"commitSha":38,"skillDirectory":39,"forksCount":14,"repositoryHtmlUrl":40,"repositoryHomepageUrl":6,"ownerHtmlUrl":41,"ownerBlogUrl":42,"ownerDescription":6,"updatedAt":43,"install":44,"resources":57},"01M6C2B4NPD8Z3Q3FKEX0H4301","openspec-sync-specs",null,"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.","kalbasit\u002Fncps-test","kalbasit","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F87115?v=4","01M6C2A733H05KZCC1FTS5ENT4","Wael Nasreddine","01M6C2A77QVF5AD69EP1S1ZTY4",0,"MIT","https:\u002F\u002Fgithub.com\u002Fkalbasit\u002Fncps-test\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fopenspec-sync-specs\u002FSKILL.md",[],[19,20,21,22,23,24,25,26],"sync","openspec sync specs","cli","spec","change","update","user","use","2026-11-10 10:12:30",false,"---\nname: openspec-sync-specs\ndescription: 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.\nlicense: MIT\ncompatibility: Requires openspec CLI.\nmetadata:\n  author: openspec\n  version: \"1.0\"\n  generatedBy: \"1.3.1\"\n---\n\nSync delta specs from a change to main specs.\n\nThis is an **agent-driven** operation - you will read delta specs and directly edit main specs to apply the changes. This allows intelligent merging (e.g., adding a scenario without copying the entire requirement).\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\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 changes that have delta specs (under `specs\u002F` directory).\n\n   **IMPORTANT**: Do NOT guess or auto-select a change. Always let the user choose.\n\n2. **Find delta specs**\n\n   Look for delta spec files in `openspec\u002Fchanges\u002F\u003Cname>\u002Fspecs\u002F*\u002Fspec.md`.\n\n   Each delta spec file contains sections like:\n   - `## ADDED Requirements` - New requirements to add\n   - `## MODIFIED Requirements` - Changes to existing requirements\n   - `## REMOVED Requirements` - Requirements to remove\n   - `## RENAMED Requirements` - Requirements to rename (FROM:\u002FTO: format)\n\n   If no delta specs found, inform user and stop.\n\n3. **For each delta spec, apply changes to main specs**\n\n   For each capability with a delta spec at `openspec\u002Fchanges\u002F\u003Cname>\u002Fspecs\u002F\u003Ccapability>\u002Fspec.md`:\n\n   a. **Read the delta spec** to understand the intended changes\n\n   b. **Read the main spec** at `openspec\u002Fspecs\u002F\u003Ccapability>\u002Fspec.md` (may not exist yet)\n\n   c. **Apply changes intelligently**:\n\n      **ADDED Requirements:**\n      - If requirement doesn't exist in main spec → add it\n      - If requirement already exists → update it to match (treat as implicit MODIFIED)\n\n      **MODIFIED Requirements:**\n      - Find the requirement in main spec\n      - Apply the changes - this can be:\n        - Adding new scenarios (don't need to copy existing ones)\n        - Modifying existing scenarios\n        - Changing the requirement description\n      - Preserve scenarios\u002Fcontent not mentioned in the delta\n\n      **REMOVED Requirements:**\n      - Remove the entire requirement block from main spec\n\n      **RENAMED Requirements:**\n      - Find the FROM requirement, rename to TO\n\n   d. **Create new main spec** if capability doesn't exist yet:\n      - Create `openspec\u002Fspecs\u002F\u003Ccapability>\u002Fspec.md`\n      - Add Purpose section (can be brief, mark as TBD)\n      - Add Requirements section with the ADDED requirements\n\n4. **Show summary**\n\n   After applying all changes, summarize:\n   - Which capabilities were updated\n   - What changes were made (requirements added\u002Fmodified\u002Fremoved\u002Frenamed)\n\n**Delta Spec Format Reference**\n\n```markdown\n## ADDED Requirements\n\n### Requirement: New Feature\nThe system SHALL do something new.\n\n#### Scenario: Basic case\n- **WHEN** user does X\n- **THEN** system does Y\n\n## MODIFIED Requirements\n\n### Requirement: Existing Feature\n#### Scenario: New scenario to add\n- **WHEN** user does A\n- **THEN** system does B\n\n## REMOVED Requirements\n\n### Requirement: Deprecated Feature\n\n## RENAMED Requirements\n\n- FROM: `### Requirement: Old Name`\n- TO: `### Requirement: New Name`\n```\n\n**Key Principle: Intelligent Merging**\n\nUnlike programmatic merging, you can apply **partial updates**:\n- To add a scenario, just include that scenario under MODIFIED - don't copy existing scenarios\n- The delta represents *intent*, not a wholesale replacement\n- Use your judgment to merge changes sensibly\n\n**Output On Success**\n\n```\n## Specs Synced: \u003Cchange-name>\n\nUpdated main specs:\n\n**\u003Ccapability-1>**:\n- Added requirement: \"New Feature\"\n- Modified requirement: \"Existing Feature\" (added 1 scenario)\n\n**\u003Ccapability-2>**:\n- Created new spec file\n- Added requirement: \"Another Feature\"\n\nMain specs are now updated. The change remains active - archive when implementation is complete.\n```\n\n**Guardrails**\n- Read both delta and main specs before making changes\n- Preserve existing content not mentioned in delta\n- If something is unclear, ask for clarification\n- Show what you're changing as you go\n- The operation should be idempotent - running twice should give same result\n","Sync delta specs from a change to main specs.\n\nThis is an **agent-driven** operation - you will read delta specs and directly edit main specs to apply the changes. This allows intelligent merging (e.g., adding a scenario without copying the entire requirement).\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\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 changes that have delta specs (under `specs\u002F` directory).\n\n   **IMPORTANT**: Do NOT guess or auto-select a change. Always let the user choose.\n\n2. **Find delta specs**\n\n   Look for delta spec files in `openspec\u002Fchanges\u002F\u003Cname>\u002Fspecs\u002F*\u002Fspec.md`.\n\n   Each delta spec file contains sections like:\n   - `## ADDED Requirements` - New requirements to add\n   - `## MODIFIED Requirements` - Changes to existing requirements\n   - `## REMOVED Requirements` - Requirements to remove\n   - `## RENAMED Requirements` - Requirements to rename (FROM:\u002FTO: format)\n\n   If no delta specs found, inform user and stop.\n\n3. **For each delta spec, apply changes to main specs**\n\n   For each capability with a delta spec at `openspec\u002Fchanges\u002F\u003Cname>\u002Fspecs\u002F\u003Ccapability>\u002Fspec.md`:\n\n   a. **Read the delta spec** to understand the intended changes\n\n   b. **Read the main spec** at `openspec\u002Fspecs\u002F\u003Ccapability>\u002Fspec.md` (may not exist yet)\n\n   c. **Apply changes intelligently**:\n\n      **ADDED Requirements:**\n      - If requirement doesn't exist in main spec → add it\n      - If requirement already exists → update it to match (treat as implicit MODIFIED)\n\n      **MODIFIED Requirements:**\n      - Find the requirement in main spec\n      - Apply the changes - this can be:\n        - Adding new scenarios (don't need to copy existing ones)\n        - Modifying existing scenarios\n        - Changing the requirement description\n      - Preserve scenarios\u002Fcontent not mentioned in the delta\n\n      **REMOVED Requirements:**\n      - Remove the entire requirement block from main spec\n\n      **RENAMED Requirements:**\n      - Find the FROM requirement, rename to TO\n\n   d. **Create new main spec** if capability doesn't exist yet:\n      - Create `openspec\u002Fspecs\u002F\u003Ccapability>\u002Fspec.md`\n      - Add Purpose section (can be brief, mark as TBD)\n      - Add Requirements section with the ADDED requirements\n\n4. **Show summary**\n\n   After applying all changes, summarize:\n   - Which capabilities were updated\n   - What changes were made (requirements added\u002Fmodified\u002Fremoved\u002Frenamed)\n\n**Delta Spec Format Reference**\n\n```markdown\n## ADDED Requirements\n\n### Requirement: New Feature\nThe system SHALL do something new.\n\n#### Scenario: Basic case\n- **WHEN** user does X\n- **THEN** system does Y\n\n## MODIFIED Requirements\n\n### Requirement: Existing Feature\n#### Scenario: New scenario to add\n- **WHEN** user does A\n- **THEN** system does B\n\n## REMOVED Requirements\n\n### Requirement: Deprecated Feature\n\n## RENAMED Requirements\n\n- FROM: `### Requirement: Old Name`\n- TO: `### Requirement: New Name`\n```\n\n**Key Principle: Intelligent Merging**\n\nUnlike programmatic merging, you can apply **partial updates**:\n- To add a scenario, just include that scenario under MODIFIED - don't copy existing scenarios\n- The delta represents *intent*, not a wholesale replacement\n- Use your judgment to merge changes sensibly\n\n**Output On Success**\n\n```\n## Specs Synced: \u003Cchange-name>\n\nUpdated main specs:\n\n**\u003Ccapability-1>**:\n- Added requirement: \"New Feature\"\n- Modified requirement: \"Existing Feature\" (added 1 scenario)\n\n**\u003Ccapability-2>**:\n- Created new spec file\n- Added requirement: \"Another Feature\"\n\nMain specs are now updated. The change remains active - archive when implementation is complete.\n```\n\n**Guardrails**\n- Read both delta and main specs before making changes\n- Preserve existing content not mentioned in delta\n- If something is unclear, ask for clarification\n- Show what you're changing as you go\n- The operation should be idempotent - running twice should give same result\n",{"name":5,"license":15,"metadata":32,"description":7,"compatibility":36},{"author":33,"version":34,"generatedBy":35},"openspec","1.0","1.3.1","Requires openspec CLI.","main","a541621e4e20d5773ebbcefa969b7bad1c15ed2a",".agent\u002Fskills\u002Fopenspec-sync-specs","https:\u002F\u002Fgithub.com\u002Fkalbasit\u002Fncps-test","https:\u002F\u002Fgithub.com\u002Fkalbasit","https:\u002F\u002Fkalbas.it","2026-09-30 03:07:07",{"source":8,"skillName":5,"commands":45,"prompt":55,"zipAvailable":56},[46,49,52],{"tool":47,"command":48},"npx","npx skills add kalbasit\u002Fncps-test --skill openspec-sync-specs",{"tool":50,"command":51},"bunx","bunx skills add kalbasit\u002Fncps-test --skill openspec-sync-specs",{"tool":53,"command":54},"pnpm","pnpm dlx skills add kalbasit\u002Fncps-test --skill openspec-sync-specs","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkalbasit\u002Fncps-test\u002Fblob\u002Fmain\u002F.agent\u002Fskills\u002Fopenspec-sync-specs\u002FSKILL.md",true,[],[59,71,76,87,100,109],{"skillNo":60,"name":61,"nameZh":6,"description":62,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":63,"categories":64,"keywords":65,"publishedAt":27},"01M6C2BVH1AB05AHRRKM1KT5EK","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\u002Fkalbasit\u002Fncps-test\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fopenspec-verify-change\u002FSKILL.md",[],[66,23,67,21,68,69,70,25,26],"openspec verify change","verify","validate","artifacts","correct",{"skillNo":72,"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":73,"categories":74,"keywords":75,"publishedAt":27},"01M6C2BSQEMJR15D1ESJBY51Q4","https:\u002F\u002Fgithub.com\u002Fkalbasit\u002Fncps-test\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fopenspec-sync-specs\u002FSKILL.md",[],[20,19,26,21,22,23,24,25],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":27},"01M6C2BQZ1J60X2BKKNRJQSHMF","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\u002Fkalbasit\u002Fncps-test\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fopenspec-propose\u002FSKILL.md",[],[83,84,26,25,69,21,85,86,23],"openspec propose","generated","tasks","design",{"skillNo":88,"name":89,"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":27},"01M6C2BP1B1Y34VD761K3SKPVM","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\u002Fkalbasit\u002Fncps-test\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fopenspec-new-change\u002FSKILL.md",[],[94,23,95,21,96,97,25,98,99,26],"openspec new change","workflow","create","start","fix","new feature",{"skillNo":101,"name":102,"nameZh":6,"description":103,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":104,"categories":105,"keywords":106,"publishedAt":27},"01M6C2BMFQ6AZ3VSMSEEYGFZ03","openspec-ff-change","Fast-forward through OpenSpec artifact creation. Use when the user wants to quickly create all artifacts needed for implementation without stepping through each one individually.","https:\u002F\u002Fgithub.com\u002Fkalbasit\u002Fncps-test\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fopenspec-ff-change\u002FSKILL.md",[],[107,23,21,96,69,108,25,26],"openspec ff change","fast",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":115,"publishedAt":27},"01M6C2BJC0APWXADJ7B4WC0YCJ","openspec-explore","Enter explore mode - a thinking partner for exploring ideas, investigating problems, and clarifying requirements. Use when the user wants to think through something before or during a change.","https:\u002F\u002Fgithub.com\u002Fkalbasit\u002Fncps-test\u002Fblob\u002Fmain\u002F.github\u002Fskills\u002Fopenspec-explore\u002FSKILL.md",[],[116,117,23,25,26,21],"explore","openspec explore"]