[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6QEA6KBFZX1Y8JY4QWWPBSJ":3,"skill-same:01M6QEA6KBFZX1Y8JY4QWWPBSJ":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":32,"linkOnly":33,"markdownContent":34,"markdownBody":35,"frontMatter":36,"refName":29,"commitSha":41,"skillDirectory":42,"forksCount":43,"repositoryHtmlUrl":44,"repositoryHomepageUrl":45,"ownerHtmlUrl":46,"ownerBlogUrl":6,"ownerDescription":47,"updatedAt":48,"install":49,"resources":62},"01M6QEA6KBFZX1Y8JY4QWWPBSJ","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.","opencue\u002Fgitguardex","opencue","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F271874627?v=4","01M6QDWWMZFB8A08PDTA8D0VJ3","Opencue","01M6QDWWSJGBEGVPMCEJFWVACT",28,"MIT","https:\u002F\u002Fgithub.com\u002Fopencue\u002Fgitguardex\u002Fblob\u002Fmain\u002F.codex\u002Fskills\u002Fopenspec-sync-specs\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31],"sync","openspec sync specs","openspec","cli","spec","change","update","user","use","delta","main","with","changes","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.1.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":37,"description":7,"compatibility":40},{"author":21,"version":38,"generatedBy":39},"1.0","1.1.1","Requires openspec CLI.","7546eb50cf658dad033c5a047a7ec89c9d1ee7f4",".codex\u002Fskills\u002Fopenspec-sync-specs",4,"https:\u002F\u002Fgithub.com\u002Fopencue\u002Fgitguardex","https:\u002F\u002Fgitguardex.com\u002F","https:\u002F\u002Fgithub.com\u002Fopencue","Building in the open. From AI-powered workflows and developer tools to web experiences, automation, and e-commerce — practical software for real-world problems.","2026-11-12 18:11:01",{"source":8,"skillName":5,"commands":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add opencue\u002Fgitguardex --skill openspec-sync-specs",{"tool":55,"command":56},"bunx","bunx skills add opencue\u002Fgitguardex --skill openspec-sync-specs",{"tool":58,"command":59},"pnpm","pnpm dlx skills add opencue\u002Fgitguardex --skill openspec-sync-specs","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fopencue\u002Fgitguardex\u002Fblob\u002Fmain\u002F.codex\u002Fskills\u002Fopenspec-sync-specs\u002FSKILL.md",true,[],[64,83,107,132,150,166],{"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":32},"01M6QEBH0VSDT0T2HX5XE3VW5F","opensrc","Fetch exact dependency or external repository source before inspecting internals. Use for package implementation, upstream behavior, or external GitHub source lookup.","https:\u002F\u002Fgithub.com\u002Fopencue\u002Fgitguardex\u002Fblob\u002Fmain\u002Ftemplates\u002Fcodex\u002Fskills\u002Fopensrc\u002FSKILL.md",[],[66,71,72,73,74,75,27,76,77,78,79,80,81,82],"lookup","for","upstream","implementation","dependency","fetch","behavior","Bash","repository","package","github","source",{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":94,"publishedAt":32},"01M6QEBDNSWK5R390QHGFWP601","gx-act","Run GitHub Actions workflows locally with nektos\u002Fact before pushing, so CI failures are caught on the laptop and the PR can be squash-merged on the first remote run.","https:\u002F\u002Fgithub.com\u002Fopencue\u002Fgitguardex\u002Fblob\u002Fmain\u002Ftemplates\u002Fcodex\u002Fskills\u002Fgx-act\u002FSKILL.md",[89],{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",[95,96,97,98,81,99,100,101,102,103,30,104,105,106],"gx act","act","pr","workflows","run","actions","first","ci","can","remote","squash","github actions",{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":116,"publishedAt":32},"01M6QEBAQ8HA4ZGNDS03AB25Y7","guardex-merge-skills-to-dev","Use when you need to merge SKILL.md updates from agent branches\u002Fworktrees into the local base branch (default: dev) with the multiagent-safety flow.","https:\u002F\u002Fgithub.com\u002Fopencue\u002Fgitguardex\u002Fblob\u002Fmain\u002Ftemplates\u002Fcodex\u002Fskills\u002Fguardex-merge-skills-to-dev\u002FSKILL.md",[113],{"categoryNo":114,"categoryName":115,"taxonomyType":92,"taxonomyTypeDesc":93},"01JBSEEDCAT000000000000023","Skill与智能体开发",[117,118,119,120,30,121,122,123,124,125,126,127,27,128,129,130,131],"guardex merge skills to dev","guardex","merge","dev","updates","you","local","branches","base","default","worktrees","branch","Safety","flow","multiagent",{"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":139,"publishedAt":32},"01M6QEB1MG3NCEZ9DP310AAANC","gitguardex","Use for GitGuardex branch\u002Fworktree safety, agent or subagent collision avoidance, file ownership, and gated PR finishing. Not for code-quality review.","https:\u002F\u002Fgithub.com\u002Fopencue\u002Fgitguardex\u002Fblob\u002Fmain\u002Ftemplates\u002Fcodex\u002Fskills\u002Fgitguardex\u002FSKILL.md",[138],{"categoryNo":114,"categoryName":115,"taxonomyType":92,"taxonomyTypeDesc":93},[134,140,72,141,142,143,27,128,144,145,129,146,147,148,97,149],"subagent","ownership","quality review","gated","quality","code-quality","file","worktree","code","review",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":156,"publishedAt":32},"01M6QEAYMVDN8RZCVHQS7YNCBJ","pr-lens","Generate local PR Lens architecture and data-flow diagrams alongside a GitGuardex Codex or Claude PR review.","https:\u002F\u002Fgithub.com\u002Fopencue\u002Fgitguardex\u002Fblob\u002Fmain\u002Fskills\u002Fpr-lens\u002FSKILL.md",[],[97,157,158,159,160,130,161,162,163,164,149,165,134,123],"lens","pr lens","data-flow","data","generate","pr review","architecture","codex","diagrams",{"skillNo":167,"name":85,"nameZh":6,"description":86,"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":171,"publishedAt":32},"01M6QEAVDZQRKP05NHQ2AWR3MY","https:\u002F\u002Fgithub.com\u002Fopencue\u002Fgitguardex\u002Fblob\u002Fmain\u002Fskills\u002Fgx-act\u002FSKILL.md",[170],{"categoryNo":90,"categoryName":91,"taxonomyType":92,"taxonomyTypeDesc":93},[96,95,81,30,103,104,105,101,106,102,100,99,97,98]]