[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C47RNNBGEY0BZJ7E5WH64D":3,"skill-same:01M6C47RNNBGEY0BZJ7E5WH64D":63},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":27,"linkOnly":28,"markdownContent":29,"markdownBody":30,"frontMatter":31,"refName":32,"commitSha":33,"skillDirectory":34,"forksCount":35,"repositoryHtmlUrl":36,"repositoryHomepageUrl":6,"ownerHtmlUrl":37,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":38,"install":39,"resources":52},"01M6C47RNNBGEY0BZJ7E5WH64D","step-commit",null,"Discrete validated-step commit workflow for Code-Conductor. Use when capturing per-step validated work as structured commits. DO NOT USE FOR: deciding whether auto-commit is enabled or replacing the PR-time formatting gate.","Grimblaz\u002Fagent-orchestra","Grimblaz","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F74755849?v=4","01M6C430M9XZDHGHPWQVTQ3KMA","01M6C430RJY3MMX0QAZ3X8DR3Y",3,"MIT","https:\u002F\u002Fgithub.com\u002FGrimblaz\u002Fagent-orchestra\u002Fblob\u002Fmain\u002Fskills\u002Fstep-commit\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26],"commit","step commit","workflow","pr","code","commits","work","use","auto","2026-11-10 10:12:30",false,"---\nname: step-commit\ndescription: \"Discrete validated-step commit workflow for Code-Conductor. Use when capturing per-step validated work as structured commits. DO NOT USE FOR: deciding whether auto-commit is enabled or replacing the PR-time formatting gate.\"\n---\n\n# Step Commit Protocol\n\n## Purpose\n\nThis protocol captures validated step work as discrete commits during Code-Conductor's implementation loop. Each step commit records the pre-formatting validated state with structured metadata (plan reference, agent attribution, validation tier).\n\nCode-Conductor loads this file by reference to keep its own directive count stable.\n\n---\n\n## Protocol\n\n### Step 1 — Opt-out check\n\nCode-Conductor's step commit gate checks `auto_commit_enabled` before loading this file — if opted out, this protocol is never loaded. This step is a documentation cross-reference only; no runtime check is needed here.\n\n### Step 2 — Branch safety\n\nVerify the current branch is not a protected branch:\n\n```powershell\n$branch = git branch --show-current\nif ($branch -in 'main', 'develop', 'master') {\n    Write-Warning \"On protected branch '$branch' — skipping step commit\"\n    return\n}\n```\n\nIf on a protected branch, warn and skip — do not commit.\n\n### Step 3 — File capture\n\nUse `get_changed_files` with filter `sourceControlState: ['unstaged', 'staged']` to detect files with changes. The VS Code SCM model's `'unstaged'` state covers both modified tracked files AND untracked\u002Fnew files — no separate filter needed.\n\nIf no files are detected, skip the commit (nothing to commit).\n\n### Step 4 — Stage files\n\nStage files using the explicit file list from Step 3 — **never** use `git add -A`:\n\n```powershell\ngit add \"file1.ext\" \"file2.ext\" ...\n```\n\nUse the file list from Step 3's `get_changed_files` output. This avoids sweeping unrelated working-tree changes into the step commit.\n\n### Step 5 — Commit\n\nCommit with the `--no-verify` flag (validated state — hooks are unnecessary overhead):\n\n```powershell\ngit commit --no-verify -m \"step(N): {step-title}\n\nPlan: issue-{ID}, Step N of M\nAgents: {comma-separated agent list}\nValidation: Tier 1 ✅\"\n```\n\nWhere:\n\n- `N` = current plan step number\n- `{step-title}` = brief step title from the plan\n- `{ID}` = issue number\n- `M` = total step count\n- `{agent list}` = agents that worked on this step (e.g., `Code-Smith, Test-Writer`)\n\n### Step 6 — SHA recording\n\nAfter successful commit, record the commit SHA for informational purposes:\n\n```powershell\ngit rev-parse HEAD\n```\n\nThe existing post-fix diff recipe `git diff HEAD -- {files}` remains correct — HEAD advances with each step commit, so at post-fix time only specialist fix changes appear as uncommitted.\n\n### Step 7 — Failure handling\n\nCommit failure is **non-blocking** — the step's work is complete regardless.\n\nOn failure:\n\n1. Warn in conversation output\n2. Increment a consecutive-failure counter (tracked in conversation context)\n3. Reset the counter to zero after any successful step commit.\n4. If the consecutive-failure counter reaches ≥2, escalate to the user:\n\n   > Step commits failing repeatedly — check hooks\u002Fgit state. Continue without auto-commits?\n   >\n   > (a) Disable auto-commits for remaining steps (set `auto_commit_enabled` to `false` — Code-Conductor's step commit gate checks this flag before loading this protocol)\n   > (b) Investigate and retry\n\n5. Report failure status to Code-Conductor so the progress checkpoint annotates the step as `— ✅ DONE (uncommitted)` rather than plain `— ✅ DONE`\n\n---\n\n## Formatting Note\n\nFormatting stays in Code-Conductor's Step 4 (Create PR) — step commits capture the pre-formatting validated state. The formatting gate runs at PR creation time (Step 4), not per step. Pre-commit hooks are bypassed during step commits via `--no-verify`.\n\n## Gotchas\n\n| Trigger                 | Gotcha                                                                    | Fix                                                                 |\n| ----------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------- |\n| Capturing a step commit | Broad staging picks up unrelated work and corrupts the validated snapshot | Stage only the explicit changed-file list returned by the SCM query |\n\n---\n\n## Platform-specific invocation\n\nThis skill's methodology is tool-agnostic. Platform-specific routing lives alongside:\n\n- Copilot: [platforms\u002Fcopilot.md](platforms\u002Fcopilot.md)\n- Claude Code: [platforms\u002Fclaude.md](platforms\u002Fclaude.md)\n","# Step Commit Protocol\n\n## Purpose\n\nThis protocol captures validated step work as discrete commits during Code-Conductor's implementation loop. Each step commit records the pre-formatting validated state with structured metadata (plan reference, agent attribution, validation tier).\n\nCode-Conductor loads this file by reference to keep its own directive count stable.\n\n---\n\n## Protocol\n\n### Step 1 — Opt-out check\n\nCode-Conductor's step commit gate checks `auto_commit_enabled` before loading this file — if opted out, this protocol is never loaded. This step is a documentation cross-reference only; no runtime check is needed here.\n\n### Step 2 — Branch safety\n\nVerify the current branch is not a protected branch:\n\n```powershell\n$branch = git branch --show-current\nif ($branch -in 'main', 'develop', 'master') {\n    Write-Warning \"On protected branch '$branch' — skipping step commit\"\n    return\n}\n```\n\nIf on a protected branch, warn and skip — do not commit.\n\n### Step 3 — File capture\n\nUse `get_changed_files` with filter `sourceControlState: ['unstaged', 'staged']` to detect files with changes. The VS Code SCM model's `'unstaged'` state covers both modified tracked files AND untracked\u002Fnew files — no separate filter needed.\n\nIf no files are detected, skip the commit (nothing to commit).\n\n### Step 4 — Stage files\n\nStage files using the explicit file list from Step 3 — **never** use `git add -A`:\n\n```powershell\ngit add \"file1.ext\" \"file2.ext\" ...\n```\n\nUse the file list from Step 3's `get_changed_files` output. This avoids sweeping unrelated working-tree changes into the step commit.\n\n### Step 5 — Commit\n\nCommit with the `--no-verify` flag (validated state — hooks are unnecessary overhead):\n\n```powershell\ngit commit --no-verify -m \"step(N): {step-title}\n\nPlan: issue-{ID}, Step N of M\nAgents: {comma-separated agent list}\nValidation: Tier 1 ✅\"\n```\n\nWhere:\n\n- `N` = current plan step number\n- `{step-title}` = brief step title from the plan\n- `{ID}` = issue number\n- `M` = total step count\n- `{agent list}` = agents that worked on this step (e.g., `Code-Smith, Test-Writer`)\n\n### Step 6 — SHA recording\n\nAfter successful commit, record the commit SHA for informational purposes:\n\n```powershell\ngit rev-parse HEAD\n```\n\nThe existing post-fix diff recipe `git diff HEAD -- {files}` remains correct — HEAD advances with each step commit, so at post-fix time only specialist fix changes appear as uncommitted.\n\n### Step 7 — Failure handling\n\nCommit failure is **non-blocking** — the step's work is complete regardless.\n\nOn failure:\n\n1. Warn in conversation output\n2. Increment a consecutive-failure counter (tracked in conversation context)\n3. Reset the counter to zero after any successful step commit.\n4. If the consecutive-failure counter reaches ≥2, escalate to the user:\n\n   > Step commits failing repeatedly — check hooks\u002Fgit state. Continue without auto-commits?\n   >\n   > (a) Disable auto-commits for remaining steps (set `auto_commit_enabled` to `false` — Code-Conductor's step commit gate checks this flag before loading this protocol)\n   > (b) Investigate and retry\n\n5. Report failure status to Code-Conductor so the progress checkpoint annotates the step as `— ✅ DONE (uncommitted)` rather than plain `— ✅ DONE`\n\n---\n\n## Formatting Note\n\nFormatting stays in Code-Conductor's Step 4 (Create PR) — step commits capture the pre-formatting validated state. The formatting gate runs at PR creation time (Step 4), not per step. Pre-commit hooks are bypassed during step commits via `--no-verify`.\n\n## Gotchas\n\n| Trigger                 | Gotcha                                                                    | Fix                                                                 |\n| ----------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------- |\n| Capturing a step commit | Broad staging picks up unrelated work and corrupts the validated snapshot | Stage only the explicit changed-file list returned by the SCM query |\n\n---\n\n## Platform-specific invocation\n\nThis skill's methodology is tool-agnostic. Platform-specific routing lives alongside:\n\n- Copilot: [platforms\u002Fcopilot.md](platforms\u002Fcopilot.md)\n- Claude Code: [platforms\u002Fclaude.md](platforms\u002Fclaude.md)\n",{"name":5,"description":7},"main","d5486aacc32c9ca1b07173cfd530f8fe75c29e58","skills\u002Fstep-commit",0,"https:\u002F\u002Fgithub.com\u002FGrimblaz\u002Fagent-orchestra","https:\u002F\u002Fgithub.com\u002FGrimblaz","2026-08-16 01:12:46",{"source":8,"skillName":5,"commands":40,"prompt":50,"zipAvailable":51},[41,44,47],{"tool":42,"command":43},"npx","npx skills add Grimblaz\u002Fagent-orchestra --skill step-commit",{"tool":45,"command":46},"bunx","bunx skills add Grimblaz\u002Fagent-orchestra --skill step-commit",{"tool":48,"command":49},"pnpm","pnpm dlx skills add Grimblaz\u002Fagent-orchestra --skill step-commit","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FGrimblaz\u002Fagent-orchestra\u002Fblob\u002Fmain\u002Fskills\u002Fstep-commit\u002FSKILL.md",true,[53,59],{"path":54,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":57,"sourceHtmlUrl":58},"platforms\u002Fclaude.md","REFERENCE","参考文档",246,"https:\u002F\u002Fgithub.com\u002FGrimblaz\u002Fagent-orchestra\u002Fblob\u002Fmain\u002Fskills\u002Fstep-commit\u002Fplatforms\u002Fclaude.md",{"path":60,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":61,"sourceHtmlUrl":62},"platforms\u002Fcopilot.md",312,"https:\u002F\u002Fgithub.com\u002FGrimblaz\u002Fagent-orchestra\u002Fblob\u002Fmain\u002Fskills\u002Fstep-commit\u002Fplatforms\u002Fcopilot.md",[64,97,118,134,162,183],{"skillNo":65,"name":66,"nameZh":6,"description":67,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":68,"categories":69,"keywords":78,"publishedAt":27},"01M6C48YMJVFHM7DVGG1WWW5RJ","webapp-testing","Playwright end-to-end testing guidance for web apps, with practical patterns and setup steps. Use when creating or improving browser-based E2E coverage, test stability, and CI execution. DO NOT USE FOR: React component tests (use ui-testing), canvas game interaction (use browser-canvas-testing), TDD workflow (use test-driven-development), debugging failures (use systematic-debugging), or randomized property tests (use property-based-testing).","https:\u002F\u002Fgithub.com\u002FGrimblaz\u002Fagent-orchestra\u002Fblob\u002Fmain\u002Fskills\u002Fwebapp-testing\u002FSKILL.md",[70,75],{"categoryNo":71,"categoryName":72,"taxonomyType":73,"taxonomyTypeDesc":74},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":76,"categoryName":77,"taxonomyType":73,"taxonomyTypeDesc":74},"01JBSEEDCAT000000000000009","前端开发",[79,80,81,82,83,20,84,85,86,87,88,89,90,91,92,93,94,95,96,25],"testing","webapp testing","webapp","canvas","tdd","playwright","test","web","react","component","debugging","development","browser","ci","execution","e2e","game","coverage",{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":27},"01M6C48TNNP2KCSQXV8YK7SK49","verification-before-completion","Evidence-based verification checklist before marking work complete. Use before PRs, releases, marking tickets done, or any \"I'm finished\" declaration; also when naming a baseline commit for a differential suite claim, when designing a mutation campaign or red-run evidence, when making an absence claim, a universal claim, or a one-time demonstration offered as a standing guarantee, when attributing a measurement or claiming a sweep or verification loop is complete, and when stating what a check or a CI suite will do about a change. DO NOT USE FOR: post-merge cleanup or archival (use post-pr-review) or processing GitHub review comments (use code-review-intake).","https:\u002F\u002Fgithub.com\u002FGrimblaz\u002Fagent-orchestra\u002Fblob\u002Fmain\u002Fskills\u002Fverification-before-completion\u002FSKILL.md",[],[104,105,106,107,18,108,21,109,110,22,111,112,92,113,114,24,115,25,116,117],"verification","verification before completion","review","change","merge","cleanup","run","code-review","intake","loop","verification loop","check","evidence","campaign",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":124,"publishedAt":27},"01M6C48QZWNTP7JGKD32QZAKKX","validation-methodology","Reusable validation and review methodology for staged validation, failure triage, and prosecution-depth setup. Use when running validation ladders, triaging failures, or executing adversarial review passes. DO NOT USE FOR: CE Gate orchestration, specialist dispatch ownership, or step execution flow (keep those in Code-Conductor).","https:\u002F\u002Fgithub.com\u002FGrimblaz\u002Fagent-orchestra\u002Fblob\u002Fmain\u002Fskills\u002Fvalidation-methodology\u002FSKILL.md",[],[125,126,127,106,128,129,130,131,22,132,93,25,133],"validation","methodology","validation methodology","triage","orchestration","setup","adversarial review","flow","dispatch",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":148,"publishedAt":27},"01M6C48MCAHG5Z79BJ369CRYRZ","upstream-onboarding","Shared opening-phase protocol for upstream agents (Experience-Owner, Solution-Designer, Issue-Planner) and Code-Conductor when invoked on an existing GitHub issue. Renders a scaled context brief and runs a standards check on inherited work at each phase boundary. Use when a user-invocable agent receives a request referencing an existing GitHub issue and must load solution-authoring and upstream-onboarding at the opening phase. DO NOT USE FOR: subagent dispatches (which already operate within an assessed session context); post-merge review (use post-pr-review); research or non-tree subagents.","https:\u002F\u002Fgithub.com\u002FGrimblaz\u002Fagent-orchestra\u002Fblob\u002Fmain\u002Fskills\u002Fupstream-onboarding\u002FSKILL.md",[140,143],{"categoryNo":141,"categoryName":142,"taxonomyType":73,"taxonomyTypeDesc":74},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":144,"categoryName":145,"taxonomyType":146,"taxonomyTypeDesc":147},"01JBSEEDCAT000000000000038","人力资源","PROFESSION","适用职业",[149,150,106,151,152,108,153,21,22,154,155,156,157,158,159,24,115,160,161,25],"onboarding","upstream onboarding","github","research","standards check","protocol","brief","boundary","designer","subagent","planner","user","session",{"skillNo":163,"name":164,"nameZh":6,"description":165,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":166,"categories":167,"keywords":176,"publishedAt":27},"01M6C48GPVE120TGPMD1CS365H","ui-testing","Resilient React component testing strategies focusing on user behavior. Use when writing or reviewing component-level React tests, fixing flaky component tests, or establishing React testing patterns. DO NOT USE FOR: Playwright E2E tests (use webapp-testing), canvas game interaction (use browser-canvas-testing), TDD workflow (use test-driven-development), debugging failures (use systematic-debugging), UI component design (use frontend-design), or randomized property tests (use property-based-testing).","https:\u002F\u002Fgithub.com\u002FGrimblaz\u002Fagent-orchestra\u002Fblob\u002Fmain\u002Fskills\u002Fui-testing\u002FSKILL.md",[168,169,170,173],{"categoryNo":71,"categoryName":72,"taxonomyType":73,"taxonomyTypeDesc":74},{"categoryNo":76,"categoryName":77,"taxonomyType":73,"taxonomyTypeDesc":74},{"categoryNo":171,"categoryName":172,"taxonomyType":73,"taxonomyTypeDesc":74},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":174,"categoryName":175,"taxonomyType":146,"taxonomyTypeDesc":147},"01JBSEEDCAT000000000000032","设计师",[79,177,178,179,180,181,82,20,84,85,87,88,89,90,91,182,94,95,25,81],"ui","ui testing","frontend","design","writing","testing patterns",{"skillNo":184,"name":185,"nameZh":6,"description":186,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":187,"categories":188,"keywords":191,"publishedAt":27},"01M6C48DRJ9XBDR2FW0W37DY53","ui-iteration","Reusable screenshot-driven UI polish workflow for iterative visual refinement. Use when improving layout, hierarchy, spacing, feedback, or Tailwind-based presentation through repeated review-and-adjust passes. DO NOT USE FOR: functional bug fixing, accessibility-only audits, or major redesign strategy work (use Code-Smith or frontend-design).","https:\u002F\u002Fgithub.com\u002FGrimblaz\u002Fagent-orchestra\u002Fblob\u002Fmain\u002Fskills\u002Fui-iteration\u002FSKILL.md",[189,190],{"categoryNo":76,"categoryName":77,"taxonomyType":73,"taxonomyTypeDesc":74},{"categoryNo":174,"categoryName":175,"taxonomyType":146,"taxonomyTypeDesc":147},[177,192,179,180,106,20,193,22,194,195,196,197,198,24,199,200,25,201],"ui iteration","accessibility","screenshot","Tailwind","polish","ui polish","feedback","redesign","strategy","only"]