[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71KDEV9G51MCXDQWPJH7QST":3,"skill-same:01M71KDEV9G51MCXDQWPJH7QST":66},{"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":23,"publishedAt":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":48,"ownerHtmlUrl":49,"ownerBlogUrl":50,"ownerDescription":51,"updatedAt":52,"install":53,"resources":65},"01M71KDEV9G51MCXDQWPJH7QST","switch",null,"Use when changing the active spec by name or path.","mugsun\u002Fcurdx-flow","mugsun","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F100790155?v=4","01M6KJSAN2W4WRPDFBKTJTDDQ2","Mugsun","01M71K65VJXA4C1KPJAHZ6ZVHC",4,"MIT","https:\u002F\u002Fgithub.com\u002Fmugsun\u002Fcurdx-flow\u002Fblob\u002Fmain\u002Fplugins\u002Fcurdx-flow\u002Fskills\u002Fswitch\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[5,24,25,26,27,28,29,30,31,32,33,34],"by name","true","use","when","Bash","active","name","read","spec","write","path","2026-11-10 10:12:30",false,"---\nname: switch\ndescription: Use when changing the active spec by name or path.\nargument-hint: \u003Cspec-name-or-path>\nallowed-tools: \"Read Write Bash Glob Agent\"\ndisable-model-invocation: true\n---\n\n\n# Switch Active Spec\n\nYou are switching the active specification.\n\n## Multi-Directory Resolution\n\nThis command uses the plugin runtime for multi-root spec discovery:\n\n```bash\ncurdx-flow specs list\ncurdx-flow specs resolve [name-or-path]\ncurdx-flow specs find \u003Cname>\n```\n\n## Parse Arguments\n\nFrom `$ARGUMENTS`:\n- **input**: The spec name OR full path to switch to (required for switching)\n  - If starts with `.\u002F` or `\u002F`: treat as full path\n  - Otherwise: treat as spec name to search for\n\n## Validate\n\n1. If no input provided, list available specs and ask user to choose\n2. If input is a full path (starts with `.\u002F`):\n   - Check if path exists as directory\n   - If not, error: \"Spec path '$input' not found\"\n3. If input is a spec name:\n   - Use `curdx-flow specs find \"$input\"` to search all configured specs_dirs\n   - Exit code 0 (found unique): proceed with switch\n   - Exit code 1 (not found): error with list of searched directories\n   - Exit code 2 (ambiguous): show disambiguation prompt\n\n## List Available (if no argument)\n\nIf `$ARGUMENTS` is empty:\n\n1. Use `curdx-flow specs list` to gather all specs from all roots\n2. Read `active` from the same runtime output\n3. Group specs by their root directory with numbered options\n4. Show list with current marked and directory context\n5. If no specs found, guide user to create one\n\n**With specs found:**\n\n```\nAvailable specs:\n\n.\u002Fspecs (default):\n  1. feature-a [ACTIVE]\n  2. feature-b\n\n.\u002Fpackages\u002Fapi\u002Fspecs:\n  3. api-auth\n  4. api-users\n\n.\u002Fpackages\u002Fweb\u002Fspecs:\n  5. web-login\n\nExamples:\n  \u002Fcurdx-flow:switch feature-b\n  \u002Fcurdx-flow:switch api-auth\n  \u002Fcurdx-flow:switch .\u002Fpackages\u002Fapi\u002Fspecs\u002Fapi-auth  (full path for disambiguation)\n```\n\n**No specs found:**\n\n```\nNo specs found in configured directories.\n\nSearched:\n  - .\u002Fspecs (default)\n  - .\u002Fpackages\u002Fapi\u002Fspecs\n  - .\u002Fpackages\u002Fweb\u002Fspecs\n\nTo create a new spec:\n  \u002Fcurdx-flow:new my-feature\n  \u002Fcurdx-flow:new my-feature --specs-dir .\u002Fpackages\u002Fapi\u002Fspecs\n```\n\n## Handle Disambiguation\n\nIf spec name exists in multiple roots (exit code 2 from find):\n\n```\nMultiple specs named 'api-auth' found:\n\n1. .\u002Fspecs\u002Fapi-auth\n   Location: default specs directory\n   Run: \u002Fcurdx-flow:switch .\u002Fspecs\u002Fapi-auth\n\n2. .\u002Fpackages\u002Fapi\u002Fspecs\u002Fapi-auth\n   Location: packages\u002Fapi\n   Run: \u002Fcurdx-flow:switch .\u002Fpackages\u002Fapi\u002Fspecs\u002Fapi-auth\n\nSelect by running the command for your desired spec.\n```\n\nDo NOT automatically select one. User must specify the full path with the exact command shown.\n\n## Handle Not Found\n\nIf spec name does not exist (exit code 1 from find):\n\n```\nNo spec named 'my-feature' found.\n\nSearched directories:\n  - .\u002Fspecs (default)\n  - .\u002Fpackages\u002Fapi\u002Fspecs\n  - .\u002Fpackages\u002Fweb\u002Fspecs\n\nTo see available specs: \u002Fcurdx-flow:switch\nTo create a new spec: \u002Fcurdx-flow:new my-feature\n```\n\nList all configured specs_dirs that were searched, helping user understand where to create the spec.\n\n## Execute Switch\n\n1. Determine the full path:\n   - If input was a full path: use as-is\n   - If input was a name with single match: use the resolved path\n\n2. Update `.\u002Fspecs\u002F.current-spec`:\n   - For specs in default `.\u002Fspecs\u002F` root: write bare name (backward compat)\n   - For specs in other roots: write full path\n\n   ```bash\n   # Example for default root:\n   echo \"my-feature\" > .\u002Fspecs\u002F.current-spec\n\n   # Example for non-default root:\n   echo \".\u002Fpackages\u002Fapi\u002Fspecs\u002Fapi-auth\" > .\u002Fspecs\u002F.current-spec\n   ```\n\n3. Read the spec's state:\n   - `.curdx-state.json` for phase and progress\n   - `.progress.md` for context\n\n## Output\n\n```\nSwitched to spec: $name\n\nLocation: $full_path\nCurrent phase: \u003Cphase>\nProgress: \u003CtaskIndex>\u002F\u003CtotalTasks> tasks\n\nFiles present:\n- [x\u002Fblank] research.md\n- [x\u002Fblank] requirements.md\n- [x\u002Fblank] design.md\n- [x\u002Fblank] tasks.md\n\nNext: Run \u002Fcurdx-flow:\u003Cappropriate-phase> to continue\n```\n","# Switch Active Spec\n\nYou are switching the active specification.\n\n## Multi-Directory Resolution\n\nThis command uses the plugin runtime for multi-root spec discovery:\n\n```bash\ncurdx-flow specs list\ncurdx-flow specs resolve [name-or-path]\ncurdx-flow specs find \u003Cname>\n```\n\n## Parse Arguments\n\nFrom `$ARGUMENTS`:\n- **input**: The spec name OR full path to switch to (required for switching)\n  - If starts with `.\u002F` or `\u002F`: treat as full path\n  - Otherwise: treat as spec name to search for\n\n## Validate\n\n1. If no input provided, list available specs and ask user to choose\n2. If input is a full path (starts with `.\u002F`):\n   - Check if path exists as directory\n   - If not, error: \"Spec path '$input' not found\"\n3. If input is a spec name:\n   - Use `curdx-flow specs find \"$input\"` to search all configured specs_dirs\n   - Exit code 0 (found unique): proceed with switch\n   - Exit code 1 (not found): error with list of searched directories\n   - Exit code 2 (ambiguous): show disambiguation prompt\n\n## List Available (if no argument)\n\nIf `$ARGUMENTS` is empty:\n\n1. Use `curdx-flow specs list` to gather all specs from all roots\n2. Read `active` from the same runtime output\n3. Group specs by their root directory with numbered options\n4. Show list with current marked and directory context\n5. If no specs found, guide user to create one\n\n**With specs found:**\n\n```\nAvailable specs:\n\n.\u002Fspecs (default):\n  1. feature-a [ACTIVE]\n  2. feature-b\n\n.\u002Fpackages\u002Fapi\u002Fspecs:\n  3. api-auth\n  4. api-users\n\n.\u002Fpackages\u002Fweb\u002Fspecs:\n  5. web-login\n\nExamples:\n  \u002Fcurdx-flow:switch feature-b\n  \u002Fcurdx-flow:switch api-auth\n  \u002Fcurdx-flow:switch .\u002Fpackages\u002Fapi\u002Fspecs\u002Fapi-auth  (full path for disambiguation)\n```\n\n**No specs found:**\n\n```\nNo specs found in configured directories.\n\nSearched:\n  - .\u002Fspecs (default)\n  - .\u002Fpackages\u002Fapi\u002Fspecs\n  - .\u002Fpackages\u002Fweb\u002Fspecs\n\nTo create a new spec:\n  \u002Fcurdx-flow:new my-feature\n  \u002Fcurdx-flow:new my-feature --specs-dir .\u002Fpackages\u002Fapi\u002Fspecs\n```\n\n## Handle Disambiguation\n\nIf spec name exists in multiple roots (exit code 2 from find):\n\n```\nMultiple specs named 'api-auth' found:\n\n1. .\u002Fspecs\u002Fapi-auth\n   Location: default specs directory\n   Run: \u002Fcurdx-flow:switch .\u002Fspecs\u002Fapi-auth\n\n2. .\u002Fpackages\u002Fapi\u002Fspecs\u002Fapi-auth\n   Location: packages\u002Fapi\n   Run: \u002Fcurdx-flow:switch .\u002Fpackages\u002Fapi\u002Fspecs\u002Fapi-auth\n\nSelect by running the command for your desired spec.\n```\n\nDo NOT automatically select one. User must specify the full path with the exact command shown.\n\n## Handle Not Found\n\nIf spec name does not exist (exit code 1 from find):\n\n```\nNo spec named 'my-feature' found.\n\nSearched directories:\n  - .\u002Fspecs (default)\n  - .\u002Fpackages\u002Fapi\u002Fspecs\n  - .\u002Fpackages\u002Fweb\u002Fspecs\n\nTo see available specs: \u002Fcurdx-flow:switch\nTo create a new spec: \u002Fcurdx-flow:new my-feature\n```\n\nList all configured specs_dirs that were searched, helping user understand where to create the spec.\n\n## Execute Switch\n\n1. Determine the full path:\n   - If input was a full path: use as-is\n   - If input was a name with single match: use the resolved path\n\n2. Update `.\u002Fspecs\u002F.current-spec`:\n   - For specs in default `.\u002Fspecs\u002F` root: write bare name (backward compat)\n   - For specs in other roots: write full path\n\n   ```bash\n   # Example for default root:\n   echo \"my-feature\" > .\u002Fspecs\u002F.current-spec\n\n   # Example for non-default root:\n   echo \".\u002Fpackages\u002Fapi\u002Fspecs\u002Fapi-auth\" > .\u002Fspecs\u002F.current-spec\n   ```\n\n3. Read the spec's state:\n   - `.curdx-state.json` for phase and progress\n   - `.progress.md` for context\n\n## Output\n\n```\nSwitched to spec: $name\n\nLocation: $full_path\nCurrent phase: \u003Cphase>\nProgress: \u003CtaskIndex>\u002F\u003CtotalTasks> tasks\n\nFiles present:\n- [x\u002Fblank] research.md\n- [x\u002Fblank] requirements.md\n- [x\u002Fblank] design.md\n- [x\u002Fblank] tasks.md\n\nNext: Run \u002Fcurdx-flow:\u003Cappropriate-phase> to continue\n```\n",{"name":5,"description":7,"allowed-tools":40,"argument-hint":41,"disable-model-invocation":42},"Read Write Bash Glob Agent","\u003Cspec-name-or-path>",true,"main","7357746802ae7a84cafa93b9dbffd138817b0290","plugins\u002Fcurdx-flow\u002Fskills\u002Fswitch",0,"https:\u002F\u002Fgithub.com\u002Fmugsun\u002Fcurdx-flow","https:\u002F\u002Fcurdx.org","https:\u002F\u002Fgithub.com\u002Fmugsun","📮 bydongxin@gmail.com","🧑‍💻 AI Builder & Software Engineer\r\n🚀 Turning ideas into software.          \r\n\r\n","2026-08-19 15:19:29",{"source":8,"skillName":5,"commands":54,"prompt":64,"zipAvailable":42},[55,58,61],{"tool":56,"command":57},"npx","npx skills add mugsun\u002Fcurdx-flow --skill switch",{"tool":59,"command":60},"bunx","bunx skills add mugsun\u002Fcurdx-flow --skill switch",{"tool":62,"command":63},"pnpm","pnpm dlx skills add mugsun\u002Fcurdx-flow --skill switch","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmugsun\u002Fcurdx-flow\u002Fblob\u002Fmain\u002Fplugins\u002Fcurdx-flow\u002Fskills\u002Fswitch\u002FSKILL.md",[],[67,76,94,106,119,131],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":74,"publishedAt":35},"01M71KDR5EJP6G4VWFCHNJ35PT","help","Fixture help skill","https:\u002F\u002Fgithub.com\u002Fmugsun\u002Fcurdx-flow\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fruntime-readiness\u002Fclaude-code-plugin-like\u002Fskills\u002Fhelp\u002FSKILL.md",[73],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[69,75],"fixture",{"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":35},"01M71KDNAVB000W3MZB1W7CMD8","verification-before-completion","Use when checking fixes, phase exits, completion evidence, or mock-heavy tests before claiming success.","https:\u002F\u002Fgithub.com\u002Fmugsun\u002Fcurdx-flow\u002Fblob\u002Fmain\u002Fplugins\u002Fcurdx-flow\u002Fskills\u002Fverification-before-completion\u002FSKILL.md",[],[83,84,85,86,87,26,88,89,90,91,27,92,93],"verification","verification before completion","tasks","state","mock","tests","fixes","evidence","phase","false","only",{"skillNo":95,"name":96,"nameZh":6,"description":97,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":101,"publishedAt":35},"01M71KDKFE975GFYRDC21H1NEE","triage","Use when a large feature should be decomposed into dependency-aware specs.","https:\u002F\u002Fgithub.com\u002Fmugsun\u002Fcurdx-flow\u002Fblob\u002Fmain\u002Fplugins\u002Fcurdx-flow\u002Fskills\u002Ftriage\u002FSKILL.md",[100],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[96,33,31,102,103,28,27,25,104,30,105,26],"dependency","goal","feature","EPIC",{"skillNo":107,"name":85,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":112,"publishedAt":35},"01M71KDH7XFQJPKYZ0H9JDNSA5","Use when a spec has design.md and needs implementation tasks.","https:\u002F\u002Fgithub.com\u002Fmugsun\u002Fcurdx-flow\u002Fblob\u002Fmain\u002Fplugins\u002Fcurdx-flow\u002Fskills\u002Ftasks\u002FSKILL.md",[111],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[85,113,32,30,114,115,26,25,116,31,28,27,117,118,33],"implementation","task","standard","edit","auto","design",{"skillNo":120,"name":121,"nameZh":6,"description":122,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":123,"categories":124,"keywords":126,"publishedAt":35},"01M71KDDJFRV09YZ08B3WJ39SC","status","Use when inspecting curdx-flow specs, active state, progress, or index status.","https:\u002F\u002Fgithub.com\u002Fmugsun\u002Fcurdx-flow\u002Fblob\u002Fmain\u002Fplugins\u002Fcurdx-flow\u002Fskills\u002Fstatus\u002FSKILL.md",[125],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[121,29,127,128,31,129,130,86,28,27,26,25],"index","flow","update","progress",{"skillNo":132,"name":133,"nameZh":6,"description":134,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":138,"publishedAt":35},"01M71KDB3BEEK162AMMHR5FSK6","start","Use when starting curdx-flow, creating a spec, resuming work, or routing intent.","https:\u002F\u002Fgithub.com\u002Fmugsun\u002Fcurdx-flow\u002Fblob\u002Fmain\u002Fplugins\u002Fcurdx-flow\u002Fskills\u002Fstart\u002FSKILL.md",[137],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[133,139,140,128,116,33,31,103,141,142,34,143,144,28,27,117,145,146,147,148],"fresh","agent skill","intent","work","review","commit","mode","quick","deep","minimal"]