[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71JEBX7764FERMVFVABZXK2":3,"skill-same:01M71JEBX7764FERMVFVABZXK2":75},{"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":41,"linkOnly":42,"markdownContent":43,"markdownBody":44,"frontMatter":45,"refName":46,"commitSha":47,"skillDirectory":48,"forksCount":49,"repositoryHtmlUrl":50,"repositoryHomepageUrl":51,"ownerHtmlUrl":52,"ownerBlogUrl":53,"ownerDescription":6,"updatedAt":54,"install":55,"resources":68},"01M71JEBX7764FERMVFVABZXK2","compose-workflow",null,"Chain multiple bigpowers skills into a custom workflow recipe saved in specs\u002F. Use when a project repeats a non-standard skill sequence, or user wants a documented playbook beyond orchestrate-project modes.","danielvm-git\u002Fbigpowers","danielvm-git","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1020864?v=4","01M71H1N1CTQ529S0KN7KETVG6","Daniel V M","01M71H1N218Y3S8WHCJ58NPRSW",289,"MIT","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002F.pi\u002Fskills\u002Fcompose-workflow\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],"workflow","compose","compose workflow","user","saved","standard","use","custom","modes","sonnet","sequence","playbook","when","recipe","project","chain","orchestrate","2026-11-10 10:12:30",false,"---\nname: compose-workflow\nmodel: sonnet\ndescription: \"Chain multiple bigpowers skills into a custom workflow recipe saved in specs\u002F. Use when a project repeats a non-standard skill sequence, or user wants a documented playbook beyond orchestrate-project modes.\"\n---\n\n\u003C!-- story: e09s01 -->\n\u003C!-- story: e45s27 -->\n\u003C!-- story: e21s04 -->\n\n# Compose Workflow\n> **HARD GATE** — **HARD GATE** — Workflows are orchestration, not automation. Do NOT create workflows for tasks that should be single skills. Workflow complexity must be justified.\n\n\n## Process\n\n1. Interview: goal, phases, which skills, gates between steps.\n2. Write `specs\u002Fworkflows\u002F\u003Cname>.yaml`:\n   - `name`, `command`, `description`, `skills[]`, `verify`\n   - Optional: `args` for skill-specific arguments\n3. Register in state.yaml Active Decisions.\n4. Optional: reference from `orchestrate-project` Ad-Hoc mode.\n\n> **Prefer the YAML recipe format** over the legacy `specs\u002FWORKFLOW-\u003Cname>.md` markdown format.\n> YAML recipes are command-mappable, machine-readable, and listed in the Standard Recipe Library.\n\n## Terminal-state taxonomy (e45s27)\n\nEvery workflow step and `\u002Floop` tick MUST exit with exactly one terminal state:\n\n| State | Meaning | Next action |\n|-------|---------|-------------|\n| `success` | Step verify passed; artifacts written | Advance to next skill in recipe |\n| `no-op` | Nothing to do (already green \u002F already applied) | Skip step; advance |\n| `blocked` | External gate (approval, red CI, missing dep) | `diagnose-stall` or escalate to user |\n| `exhausted` | Max iterations\u002Fcycles reached (review cap, dispatch cycles) | Stop; human decision required |\n\nRecord terminal state in `specs\u002Fstate.yaml` `handoff.last_terminal_state` when a recipe step completes. `\u002Floop` ticks that produce no progress for two consecutive wakes → invoke `diagnose-stall`.\n\n## Standard Recipe Library\n\nPre-built recipes in `specs\u002Fworkflows\u002F` map agentic stack commands to skill chains.\nReference them in AGENTS.md so `\u002Fcommand` directly invokes the matching recipe.\n\n| Command | Workflow | Skill chain |\n|---------|----------|-------------|\n| `\u002Fcheck-stack` | check-stack | survey-context → assess-impact → setup-environment |\n| `\u002Fship` | ship | audit-code → commit-message → release-branch |\n| `\u002Ftdd` | tdd | develop-tdd → enforce-first |\n| `\u002Fcode-review` | code-review | audit-code → request-review → respond-review |\n| `\u002Fsecurity` | security | audit-code → request-review |\n| `\u002Fplan` | plan | survey-context → research-first → plan-work |\n| `\u002Fbuild-fix` | build-fix | investigate-bug → diagnose-root → develop-tdd → validate-fix |\n| `\u002Fe2e` | e2e | smoke-test → verify-work |\n\nAdd to `AGENTS.md`:\n```\n\u002Fcheck-stack = compose-workflow check-stack\n\u002Fship        = compose-workflow ship\n```\n\n## Verify\n\n→ verify: `[ \"$(ls specs\u002Fworkflows\u002F*.yaml 2>\u002Fdev\u002Fnull | wc -l | tr -d ' ')\" -ge 8 ]`\n\nSee [REFERENCE.md](..\u002F..\u002F..\u002Fskills\u002Fcompose-workflow\u002FREFERENCE.md) for template.\n\n---\n\n# Workflow template\n\n```markdown\n# WORKFLOW: \u003Cname>\n\n**Trigger:** Use when ...\n\n| Step | Skill | Output | verify |\n|------|-------|--------|--------|\n| 1 | survey-context | state.yaml handoff | ... |\n| 2 | research-first | Prior Art in SCOPE_LATEST.yaml | ... |\n| 3 | plan-work | epics\u002FeNN-*.yaml tasks | ... |\n```\n","\u003C!-- story: e09s01 -->\n\u003C!-- story: e45s27 -->\n\u003C!-- story: e21s04 -->\n\n# Compose Workflow\n> **HARD GATE** — **HARD GATE** — Workflows are orchestration, not automation. Do NOT create workflows for tasks that should be single skills. Workflow complexity must be justified.\n\n\n## Process\n\n1. Interview: goal, phases, which skills, gates between steps.\n2. Write `specs\u002Fworkflows\u002F\u003Cname>.yaml`:\n   - `name`, `command`, `description`, `skills[]`, `verify`\n   - Optional: `args` for skill-specific arguments\n3. Register in state.yaml Active Decisions.\n4. Optional: reference from `orchestrate-project` Ad-Hoc mode.\n\n> **Prefer the YAML recipe format** over the legacy `specs\u002FWORKFLOW-\u003Cname>.md` markdown format.\n> YAML recipes are command-mappable, machine-readable, and listed in the Standard Recipe Library.\n\n## Terminal-state taxonomy (e45s27)\n\nEvery workflow step and `\u002Floop` tick MUST exit with exactly one terminal state:\n\n| State | Meaning | Next action |\n|-------|---------|-------------|\n| `success` | Step verify passed; artifacts written | Advance to next skill in recipe |\n| `no-op` | Nothing to do (already green \u002F already applied) | Skip step; advance |\n| `blocked` | External gate (approval, red CI, missing dep) | `diagnose-stall` or escalate to user |\n| `exhausted` | Max iterations\u002Fcycles reached (review cap, dispatch cycles) | Stop; human decision required |\n\nRecord terminal state in `specs\u002Fstate.yaml` `handoff.last_terminal_state` when a recipe step completes. `\u002Floop` ticks that produce no progress for two consecutive wakes → invoke `diagnose-stall`.\n\n## Standard Recipe Library\n\nPre-built recipes in `specs\u002Fworkflows\u002F` map agentic stack commands to skill chains.\nReference them in AGENTS.md so `\u002Fcommand` directly invokes the matching recipe.\n\n| Command | Workflow | Skill chain |\n|---------|----------|-------------|\n| `\u002Fcheck-stack` | check-stack | survey-context → assess-impact → setup-environment |\n| `\u002Fship` | ship | audit-code → commit-message → release-branch |\n| `\u002Ftdd` | tdd | develop-tdd → enforce-first |\n| `\u002Fcode-review` | code-review | audit-code → request-review → respond-review |\n| `\u002Fsecurity` | security | audit-code → request-review |\n| `\u002Fplan` | plan | survey-context → research-first → plan-work |\n| `\u002Fbuild-fix` | build-fix | investigate-bug → diagnose-root → develop-tdd → validate-fix |\n| `\u002Fe2e` | e2e | smoke-test → verify-work |\n\nAdd to `AGENTS.md`:\n```\n\u002Fcheck-stack = compose-workflow check-stack\n\u002Fship        = compose-workflow ship\n```\n\n## Verify\n\n→ verify: `[ \"$(ls specs\u002Fworkflows\u002F*.yaml 2>\u002Fdev\u002Fnull | wc -l | tr -d ' ')\" -ge 8 ]`\n\nSee [REFERENCE.md](..\u002F..\u002F..\u002Fskills\u002Fcompose-workflow\u002FREFERENCE.md) for template.\n\n---\n\n# Workflow template\n\n```markdown\n# WORKFLOW: \u003Cname>\n\n**Trigger:** Use when ...\n\n| Step | Skill | Output | verify |\n|------|-------|--------|--------|\n| 1 | survey-context | state.yaml handoff | ... |\n| 2 | research-first | Prior Art in SCOPE_LATEST.yaml | ... |\n| 3 | plan-work | epics\u002FeNN-*.yaml tasks | ... |\n```\n",{"name":5,"model":33,"description":7},"main","72f5e4c8b43f60cf86b37078ad8cd7e22daf67aa",".pi\u002Fskills\u002Fcompose-workflow",24,"https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers","https:\u002F\u002Fdanielvm-git.github.io\u002Fbigpowers\u002F","https:\u002F\u002Fgithub.com\u002Fdanielvm-git","danielvm.net","2026-11-10 01:18:54",{"source":8,"skillName":5,"commands":56,"prompt":66,"zipAvailable":67},[57,60,63],{"tool":58,"command":59},"npx","npx skills add danielvm-git\u002Fbigpowers --skill compose-workflow",{"tool":61,"command":62},"bunx","bunx skills add danielvm-git\u002Fbigpowers --skill compose-workflow",{"tool":64,"command":65},"pnpm","pnpm dlx skills add danielvm-git\u002Fbigpowers --skill compose-workflow","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002F.pi\u002Fskills\u002Fcompose-workflow\u002FSKILL.md",true,[69],{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"REFERENCE.md","REFERENCE","参考文档",315,"https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002F.pi\u002Fskills\u002Fcompose-workflow\u002FREFERENCE.md",[76,93,100,126,148,169],{"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":83,"publishedAt":41},"01M71KBG9F8X644MJB16H4V8M7","skill-verify-fail-open-fixture","Negative-path fixture for run-skill-verify.sh — must never PASS.","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002Fspecs\u002Fverifications\u002Ffixtures\u002Fskill-verify-fail-open\u002FSKILL.md",[82],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[84,85,86,87,88,89,90,91,92],"fixture","open","verify","skill verify fail open fixture","skill verify","path","run","for","never",{"skillNo":94,"name":95,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":98,"publishedAt":41},"01M71KBE3BKEMKNE0C5DGVDWZH","negative-path","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002Fspecs\u002Fverifications\u002Ffixtures\u002Fnegative-path\u002FSKILL.md",[],[99,89],"negative path",{"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":109,"publishedAt":41},"01M71KBBGF7Y4EB4AMHBZ8CJFC","write-document","Write, organize, and sync high-integrity technical documents using the BMAD methodology. Ensures every document is Bold, Minimal, Actionable, and Durable. Use when creating architectural docs, technical guides, or organizing the specs\u002F directory.","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002Fskills\u002Fwrite-document\u002FSKILL.md",[106],{"categoryNo":107,"categoryName":108,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理",[110,111,112,113,114,115,116,117,118,29,30,36,119,120,33,121,122,123,124,125],"write","write document","document","documents","actionable","technical","methodology","high","bmad","minimal","bold","integrity","organize","sync","directory","guides",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":41},"01M71KB8TM089JJD5AY5KAFSDM","wire-observability","Add structured JSON logging, observability commands, and idempotent setup scripts to a project. Use when a project needs production-readiness instrumentation, when user wants structured logging, or as a production-readiness gate at any phase of development.","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002Fskills\u002Fwire-observability\u002FSKILL.md",[],[133,134,135,29,136,30,137,138,139,140,33,141,142,143,144,145,146,36,38,147],"observability","wire observability","readiness","commands","development","as","logging","add","instrumentation","at","structured logging","production-readiness","idempotent","phase","scripts",{"skillNo":149,"name":150,"nameZh":6,"description":151,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":152,"categories":153,"keywords":154,"publishedAt":41},"01M71KB6CNRANP449DQA3NJZ96","wire-ci","CI pipeline setup with bundled, forge-neutral templates and local validation. Detects the forge from the git remote, generates workflows for supported forges, and skips honestly for the rest. The CI equivalent of wire-observability.","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002Fskills\u002Fwire-ci\u002FSKILL.md",[],[155,156,157,158,159,160,161,162,163,164,165,29,166,91,133,33,167,168],"wire ci","ci","remote","local","pipeline","forge","validation","setup","templates","REST","with","ci pipeline setup","git","workflows",{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":173,"categories":174,"keywords":186,"publishedAt":41},"01M71KB2ZV98P03X88QR8MT9F1","visual-dashboard","Start a browser-based dashboard that visualizes architecture, implementation plans, and project status. Persists artifacts in .bigpowers\u002Fdashboard\u002F. Reads specs\u002Fstate.yaml, release-plan.yaml, epics, and planning-status via HTTP API or opencode panel.","https:\u002F\u002Fgithub.com\u002Fdanielvm-git\u002Fbigpowers\u002Fblob\u002Fmain\u002Fskills\u002Fvisual-dashboard\u002FSKILL.md",[175,178,183],{"categoryNo":176,"categoryName":177,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000013","分析与可视化",{"categoryNo":179,"categoryName":180,"taxonomyType":181,"taxonomyTypeDesc":182},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",{"categoryNo":184,"categoryName":185,"taxonomyType":181,"taxonomyTypeDesc":182},"01JBSEEDCAT000000000000033","数据分析师",[187,188,189,190,191,192,193,194,195,33,196,197,198,199,200,201,202,38,203,204],"dashboard","visual","visual dashboard","status","artifacts","http","plans","planning","panel","start","release","opencode","plan","browser","api","architecture","project status","http api"]