[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71KDKFE975GFYRDC21H1NEE":3,"skill-same:01M71KDKFE975GFYRDC21H1NEE":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},"01M71KDKFE975GFYRDC21H1NEE","triage",null,"Use when a large feature should be decomposed into dependency-aware specs.","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\u002Ftriage\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],"Bash","read","write","use","dependency","goal","feature","name","EPIC","true","when","2026-11-10 10:12:30",false,"---\nname: triage\ndescription: Use when a large feature should be decomposed into dependency-aware specs.\nargument-hint: \"[epic-name] [goal]\"\nallowed-tools: \"Read Write Bash Agent AskUserQuestion\"\ndisable-model-invocation: true\n---\n\n\n# Epic Triage\n\nDecompose a large feature into multiple specs with dependency graphs and interface contracts. You are a coordinator, not an implementer.\n\n## Coordinator Checklist\n\nComplete these coordination steps in order; do not create user-facing implementation tasks from this checklist:\n\n1. **Check for active epic** -- detect if resuming or creating new\n2. **Handle branch** -- check git branch, create\u002Fswitch if needed\n3. **Parse input** -- extract epic name and goal\n4. **Run triage flow** -- explore, brainstorm, validate, finalize\n5. **Display result** -- show epic summary and next steps\n\n## Step 1: Check for Active Epic\n\n```bash\nEPIC_FILE=\".\u002Fspecs\u002F.current-epic\"\nif [ -f \"$EPIC_FILE\" ]; then\n  EPIC_NAME=$(cat \"$EPIC_FILE\" | tr -d '[:space:]')\n  EPIC_STATE=\".\u002Fspecs\u002F_epics\u002F$EPIC_NAME\u002F.epic-state.json\"\nfi\n```\n\n**If active epic exists**: Read `.epic-state.json` and display epic status using the format from `${CLAUDE_PLUGIN_ROOT}\u002Freferences\u002Ftriage-flow.md` (Epic Status Display section).\n\nThen ask the user:\n- **Continue with this epic** -- suggest the next unblocked spec\n- **Create a new epic** -- proceed to Step 2\n- **View epic details** -- show full epic.md content\n\nIf user chooses to continue: suggest next unblocked spec, offer to run `\u002Fcurdx-flow:start \u003Cspec-name>`. STOP.\n\n**If no active epic**: Proceed to Step 2.\n\n## Step 2: Branch Management\n\n\u003Cmandatory>\nBefore creating any files or directories, check the current git branch and handle appropriately.\n\u003C\u002Fmandatory>\n\nRead `${CLAUDE_PLUGIN_ROOT}\u002Freferences\u002Fbranch-management.md` and follow the full branch decision logic.\n\n## Step 3: Parse Input\n\nExtract from $ARGUMENTS:\n- **epic-name**: First argument (kebab-case). If not provided, ask user.\n- **goal**: Remaining arguments. If not provided, ask user: \"Describe the large feature you want to build.\"\n\nBefore creating the epic, run:\n\n```bash\ncurdx-flow route --name \"$EPIC_NAME\" --goal \"$GOAL\" --flags \"$ARGUMENTS\"\ncurdx-flow snapshot --goal \"$GOAL\"\n```\n\nUse the route's topology and recommended capabilities as triage input. Read\n`references\u002Fworkflow-contract.md`, `references\u002Fagent-output-contract.md`, and\n`references\u002Fcontext-and-dispatch-policy.md`.\n\nCreate epic directory:\n```bash\nmkdir -p \".\u002Fspecs\u002F_epics\u002F$EPIC_NAME\"\n```\n\nInitialize `.progress.md`:\n```markdown\n# Epic: $EPIC_NAME\n\n## Original Goal\n$GOAL\n\n## Completed\n(none yet)\n\n## Learnings\n(none yet)\n```\n\n## Step 4: Run Triage Flow\n\nRead `${CLAUDE_PLUGIN_ROOT}\u002Freferences\u002Ftriage-flow.md` and follow the full explore-brainstorm-validate-finalize sequence.\n\n\u003Cmandatory>\n**YOU ARE A COORDINATOR, NOT AN IMPLEMENTER.**\n\nYou MUST delegate ALL work to subagents:\n\n| Work Type | Subagent |\n|-----------|----------|\n| Exploration research | `research-analyst` and Explore-style research subagents via direct Agent dispatch |\n| Brainstorming\u002FDecomposition | `triage-analyst` agent |\n| Validation research | `research-analyst` agent |\n\nDo NOT write epic.md yourself. Do NOT perform research yourself.\n\u003C\u002Fmandatory>\n\n## Step 5: Display Result\n\n\u003Cmandatory>\n**WALKTHROUGH IS REQUIRED - DO NOT SKIP.**\n\nAfter epic.md is created and output format is handled, display:\n\n```text\nTriage complete for '$EPIC_NAME'.\nOutput: .\u002Fspecs\u002F_epics\u002F$EPIC_NAME\u002Fepic.md\n\n## Epic Summary\n\n**Vision**: [1-2 sentences from Vision section]\n\n**Specs** ($TOTAL specs):\n1. \u003Cspec-a>: \u003Cgoal> [Size]\n2. \u003Cspec-b>: \u003Cgoal> [Size] (depends on: spec-a)\n3. \u003Cspec-c>: \u003Cgoal> [Size] (depends on: spec-a)\n...\n\n**Ready to start**: \u003Cfirst spec with no dependencies>\n\n-> Next: Run \u002Fcurdx-flow:start \u003Cfirst-spec-name> to begin the first spec\n   Or run \u002Fcurdx-flow:triage to see epic status at any time\n```\n\nThen STOP. End response immediately.\n\u003C\u002Fmandatory>\n\n\u003Cmandatory>\n## CRITICAL: Delegation Requirement\n\n**YOU ARE A COORDINATOR, NOT AN IMPLEMENTER.**\n\nYou MUST delegate ALL substantive work to subagents. This is NON-NEGOTIABLE.\n\n**NEVER do any of these yourself:**\n- Write epic.md or research.md content\n- Perform research or analysis\n- Make decomposition decisions\n\n**ALWAYS delegate to the appropriate subagent.**\n\u003C\u002Fmandatory>\n","# Epic Triage\n\nDecompose a large feature into multiple specs with dependency graphs and interface contracts. You are a coordinator, not an implementer.\n\n## Coordinator Checklist\n\nComplete these coordination steps in order; do not create user-facing implementation tasks from this checklist:\n\n1. **Check for active epic** -- detect if resuming or creating new\n2. **Handle branch** -- check git branch, create\u002Fswitch if needed\n3. **Parse input** -- extract epic name and goal\n4. **Run triage flow** -- explore, brainstorm, validate, finalize\n5. **Display result** -- show epic summary and next steps\n\n## Step 1: Check for Active Epic\n\n```bash\nEPIC_FILE=\".\u002Fspecs\u002F.current-epic\"\nif [ -f \"$EPIC_FILE\" ]; then\n  EPIC_NAME=$(cat \"$EPIC_FILE\" | tr -d '[:space:]')\n  EPIC_STATE=\".\u002Fspecs\u002F_epics\u002F$EPIC_NAME\u002F.epic-state.json\"\nfi\n```\n\n**If active epic exists**: Read `.epic-state.json` and display epic status using the format from `${CLAUDE_PLUGIN_ROOT}\u002Freferences\u002Ftriage-flow.md` (Epic Status Display section).\n\nThen ask the user:\n- **Continue with this epic** -- suggest the next unblocked spec\n- **Create a new epic** -- proceed to Step 2\n- **View epic details** -- show full epic.md content\n\nIf user chooses to continue: suggest next unblocked spec, offer to run `\u002Fcurdx-flow:start \u003Cspec-name>`. STOP.\n\n**If no active epic**: Proceed to Step 2.\n\n## Step 2: Branch Management\n\n\u003Cmandatory>\nBefore creating any files or directories, check the current git branch and handle appropriately.\n\u003C\u002Fmandatory>\n\nRead `${CLAUDE_PLUGIN_ROOT}\u002Freferences\u002Fbranch-management.md` and follow the full branch decision logic.\n\n## Step 3: Parse Input\n\nExtract from $ARGUMENTS:\n- **epic-name**: First argument (kebab-case). If not provided, ask user.\n- **goal**: Remaining arguments. If not provided, ask user: \"Describe the large feature you want to build.\"\n\nBefore creating the epic, run:\n\n```bash\ncurdx-flow route --name \"$EPIC_NAME\" --goal \"$GOAL\" --flags \"$ARGUMENTS\"\ncurdx-flow snapshot --goal \"$GOAL\"\n```\n\nUse the route's topology and recommended capabilities as triage input. Read\n`references\u002Fworkflow-contract.md`, `references\u002Fagent-output-contract.md`, and\n`references\u002Fcontext-and-dispatch-policy.md`.\n\nCreate epic directory:\n```bash\nmkdir -p \".\u002Fspecs\u002F_epics\u002F$EPIC_NAME\"\n```\n\nInitialize `.progress.md`:\n```markdown\n# Epic: $EPIC_NAME\n\n## Original Goal\n$GOAL\n\n## Completed\n(none yet)\n\n## Learnings\n(none yet)\n```\n\n## Step 4: Run Triage Flow\n\nRead `${CLAUDE_PLUGIN_ROOT}\u002Freferences\u002Ftriage-flow.md` and follow the full explore-brainstorm-validate-finalize sequence.\n\n\u003Cmandatory>\n**YOU ARE A COORDINATOR, NOT AN IMPLEMENTER.**\n\nYou MUST delegate ALL work to subagents:\n\n| Work Type | Subagent |\n|-----------|----------|\n| Exploration research | `research-analyst` and Explore-style research subagents via direct Agent dispatch |\n| Brainstorming\u002FDecomposition | `triage-analyst` agent |\n| Validation research | `research-analyst` agent |\n\nDo NOT write epic.md yourself. Do NOT perform research yourself.\n\u003C\u002Fmandatory>\n\n## Step 5: Display Result\n\n\u003Cmandatory>\n**WALKTHROUGH IS REQUIRED - DO NOT SKIP.**\n\nAfter epic.md is created and output format is handled, display:\n\n```text\nTriage complete for '$EPIC_NAME'.\nOutput: .\u002Fspecs\u002F_epics\u002F$EPIC_NAME\u002Fepic.md\n\n## Epic Summary\n\n**Vision**: [1-2 sentences from Vision section]\n\n**Specs** ($TOTAL specs):\n1. \u003Cspec-a>: \u003Cgoal> [Size]\n2. \u003Cspec-b>: \u003Cgoal> [Size] (depends on: spec-a)\n3. \u003Cspec-c>: \u003Cgoal> [Size] (depends on: spec-a)\n...\n\n**Ready to start**: \u003Cfirst spec with no dependencies>\n\n-> Next: Run \u002Fcurdx-flow:start \u003Cfirst-spec-name> to begin the first spec\n   Or run \u002Fcurdx-flow:triage to see epic status at any time\n```\n\nThen STOP. End response immediately.\n\u003C\u002Fmandatory>\n\n\u003Cmandatory>\n## CRITICAL: Delegation Requirement\n\n**YOU ARE A COORDINATOR, NOT AN IMPLEMENTER.**\n\nYou MUST delegate ALL substantive work to subagents. This is NON-NEGOTIABLE.\n\n**NEVER do any of these yourself:**\n- Write epic.md or research.md content\n- Perform research or analysis\n- Make decomposition decisions\n\n**ALWAYS delegate to the appropriate subagent.**\n\u003C\u002Fmandatory>\n",{"name":5,"description":7,"allowed-tools":40,"argument-hint":41,"disable-model-invocation":42},"Read Write Bash Agent AskUserQuestion","[epic-name] [goal]",true,"main","7357746802ae7a84cafa93b9dbffd138817b0290","plugins\u002Fcurdx-flow\u002Fskills\u002Ftriage",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 triage",{"tool":59,"command":60},"bunx","bunx skills add mugsun\u002Fcurdx-flow --skill triage",{"tool":62,"command":63},"pnpm","pnpm dlx skills add mugsun\u002Fcurdx-flow --skill triage","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmugsun\u002Fcurdx-flow\u002Fblob\u002Fmain\u002Fplugins\u002Fcurdx-flow\u002Fskills\u002Ftriage\u002FSKILL.md",[],[67,76,94,108,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,27,88,89,90,91,34,92,93],"verification","verification before completion","tasks","state","mock","tests","fixes","evidence","phase","false","only",{"skillNo":95,"name":85,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":100,"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",[99],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[85,101,27,33,102,26,25,24,34,103,104,105,106,107,31],"auto","edit","task","design","standard","implementation","spec",{"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":115,"publishedAt":35},"01M71KDEV9G51MCXDQWPJH7QST","switch","Use when changing the active spec by name or path.","https:\u002F\u002Fgithub.com\u002Fmugsun\u002Fcurdx-flow\u002Fblob\u002Fmain\u002Fplugins\u002Fcurdx-flow\u002Fskills\u002Fswitch\u002FSKILL.md",[114],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[110,116,26,107,25,31,24,34,27,33,117,118],"path","by name","active",{"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,118,127,128,25,129,130,86,24,34,27,33],"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,102,26,25,29,141,142,116,143,144,24,34,101,145,146,147,148],"fresh","agent skill","intent","work","review","commit","mode","quick","deep","minimal"]