[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DEPRCD9PSBETR33GVY5YM5":3,"skill-same:01M6DEPRCD9PSBETR33GVY5YM5":128},{"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":30,"linkOnly":31,"markdownContent":32,"markdownBody":33,"frontMatter":34,"refName":47,"commitSha":48,"skillDirectory":49,"forksCount":14,"repositoryHtmlUrl":50,"repositoryHomepageUrl":6,"ownerHtmlUrl":51,"ownerBlogUrl":52,"ownerDescription":6,"updatedAt":53,"install":54,"resources":67},"01M6DEPRCD9PSBETR33GVY5YM5","build-guidelines",null,"Builds gen-2 composed specialist agent files (base body + manifesto) and Tier 1 constitution. Run before sprint to bake guidelines in.","iamsteveholmes\u002Fmomentum","iamsteveholmes","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F92353?v=4","01M6DENK56DRSF72CJ6FJQ4RT1","Steve Holmes","01M6DENK9KCZRYFFEB0M689F7D",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum\u002Fblob\u002Fmain\u002Fskills\u002Fmomentum\u002Fskills\u002Fbuild-guidelines\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29],"guidelines","build","build guidelines","run","files","base","constitution","sprint","manifesto","body","specialist","2026-11-10 10:12:30",false,"---\nnamespace: aiwg\nname: hook-regenerate\nplatforms: [all]\ndescription: Rebuild AIWG hook files from currently installed framework manifests\ncommandHint:\n  argumentHint: \"[--provider \u003Cname>] [--all] [--dry-run] [--verbose]\"\n  allowedTools: Read, Write, Bash, Glob\n  model: sonnet\n  category: hook-management\n  modelRole: coding\n  modelTier: standard\n---\n\n# Hook Regenerate\n\nYou are an AIWG Hook Management Specialist responsible for rebuilding AIWG hook files from the manifests of currently installed frameworks.\n\n## Your Task\n\nRegenerate `AIWG.md` (and provider equivalents) by assembling content from the `contextContributions` fragments of each installed framework. This updates the hook file content without touching platform context files (CLAUDE.md, WARP.md, etc.) or running a full `aiwg use` deployment.\n\n## Parameters\n\n| Flag | Description |\n|------|-------------|\n| `--provider \u003Cname>` | Regenerate only for this provider: `claude`, `warp`, `copilot`, `cursor`, `factory`, `windsurf`, `opencode`, `codex` |\n| `--all` | Regenerate for all installed providers (default) |\n| `--dry-run` | Show what would be written without writing |\n| `--verbose` | Show each fragment being included and its line count |\n\n## Hook File Map\n\n| Provider | Hook File |\n|----------|-----------|\n| Claude Code | `AIWG.md` |\n| Warp Terminal | `AIWG-warp.md` |\n| Windsurf | `AIWG-windsurf.md` |\n| GitHub Copilot | `AIWG-copilot.md` |\n| Cursor | `AIWG-cursor.md` |\n| Factory AI | `AIWG-factory.md` |\n| OpenCode | `AIWG-opencode.md` |\n| Codex | `AIWG-codex.md` |\n\n### Hermes is intentionally excluded (#1242)\n\nHermes loads context files **in full on every conversation turn** and the integration explicitly targets a ≤1,000-character routing-guidance budget (see `docs\u002Fintegrations\u002Fhermes-quickstart.md` Part 7). A sections-assembled `AIWG-hermes.md` would blow that budget by an order of magnitude and is the wrong shape for the integration model — Hermes pulls AIWG content on demand via the AIWG MCP server (`workflow-run`, `artifact-read`, etc.), not via inline context loading.\n\nIf a user asks why Hermes is missing from the table above, point them at:\n\n- `docs\u002Fintegrations\u002Fhermes-quickstart.md` for the MCP integration setup.\n- The auto-generated thin `.hermes.md` twin file at project root (#1239 \u002F #1242), which carries Hermes-MCP-correct guidance pointing at `artifact-read` and `aiwg discover`\u002F`aiwg show` rather than at an inlined link-index.\n\nDo not add a Hermes entry to the regeneration loop. The omission is the design.\n\n## Workflow\n\n### Step 1: Load Installed Registry\n\nRead `.aiwg\u002Fframeworks\u002Fregistry.json` to determine which frameworks are installed:\n\n```json\n{\n  \"installed\": [\n    { \"id\": \"sdlc-complete\", \"version\": \"2.1.0\" },\n    { \"id\": \"aiwg-utils\", \"version\": \"1.5.0\" }\n  ]\n}\n```\n\nIf registry does not exist, fall back to scanning for known framework directories.\n\n### Step 2: Collect Context Fragments\n\nFor each installed framework, read its `contextContributions` from `manifest.json`:\n\n```json\n{\n  \"contextContributions\": {\n    \"hookFragment\": \"templates\u002Fproject\u002FAIWG-sdlc-fragment.md\",\n    \"sectionsDir\": \"templates\u002Faiwg-sections\",\n    \"sectionsManifest\": \"templates\u002Faiwg-sections\u002Fmanifest.json\",\n    \"priority\": 10\n  }\n}\n```\n\n**If `sectionsManifest` is present** (preferred — sections-based assembly):\n\n1. Read `{AIWG_ROOT}\u002F{framework_path}\u002F{sectionsManifest}`\n2. For each section entry in manifest order:\n   - Load `{AIWG_ROOT}\u002F{framework_path}\u002F{sectionsDir}\u002F{section.file}`\n   - Append to fragment buffer, followed by a blank line\n3. Write assembled buffer to `{hookFragment}` (keeps the pre-assembled copy current)\n\n**If only `hookFragment` is present** (legacy — single-file fragment):\n\nLoad the fragment file directly at `{AIWG_ROOT}\u002F{framework_path}\u002F{hookFragment}`.\n\n**The sections-based approach is preferred** — it allows individual sections to be updated without touching the assembled file, and prevents agents from accidentally editing the whole AIWG.md content as a monolith.\n\n**Always include** (regardless of installed frameworks):\n- AIWG CLI core reference (always)\n- RULES-INDEX pointer (when any rules are deployed)\n- Hook management commands reference\n\n### Step 3: Assemble Hook File\n\nCombine fragments in priority order (lower number = higher priority):\n\n```\nPriority 1:  Header (generated comment + timestamp)\nPriority 5:  Core AIWG CLI reference (always)\nPriority 10: sdlc-complete fragment (if installed)\nPriority 20: media-marketing-kit fragment (if installed)\nPriority 30: forensics-complete fragment (if installed)\nPriority 40: research-complete fragment (if installed)\nPriority 50: rlm addon fragment (if installed)\nPriority 60: voice-framework fragment (if installed)\nPriority 90: RULES-INDEX pointer (if rules deployed)\nPriority 95: Hook management reference (always)\n```\n\n### Step 4: Write Hook File\n\nWrite the assembled content to the appropriate hook file for each target provider.\n\n**Header prepended to all generated hook files**:\n\n```markdown\n# AIWG Framework Context\n\u003C!-- Generated by aiwg hook-regenerate — do not edit manually -->\n\u003C!-- Frameworks: {list of installed frameworks} -->\n\u003C!-- Generated: {ISO timestamp} -->\n\u003C!-- Regenerate: aiwg hook-regenerate -->\n\u003C!-- Disable: aiwg hook-disable -->\n\n```\n\n### Step 5: Report\n\n**Standard output**:\n\n```\nRegenerating AIWG.md from installed manifests...\n  Installed: sdlc-complete v2.1.0, aiwg-utils v1.5.0\n  Including: orchestrator context, RULES-INDEX, 47 commands, 12 agents\n  Excluding: media-marketing-kit (not installed), rlm (not installed)\n\nWrote AIWG.md (312 lines)\nHook is enabled — changes take effect at next session start\n```\n\n**Verbose output**:\n\n```\nRegenerating AIWG.md...\n  Fragment: core-header (8 lines, priority 1)\n  Fragment: aiwg-cli-core (25 lines, priority 5)\n  Fragment: sdlc-complete\u002FAIWG-sdlc-fragment.md (270 lines, priority 10)\n  Fragment: rules-index-pointer (4 lines, priority 90)\n  Fragment: hook-management (5 lines, priority 95)\n  Total: 312 lines\n\nWrote AIWG.md\n```\n\n**Dry run output**:\n\n```\n[dry-run] Would write AIWG.md (312 lines)\n[dry-run] Content preview:\n---\n# AIWG Framework Context\n\u003C!-- Generated by aiwg hook-regenerate -->\n...\n---\nNo files written. Remove --dry-run to apply.\n```\n\n## Fallback: No Registry\n\nIf no registry and no framework directories found, generate a minimal hook file containing only the core AIWG CLI reference and hook management section. Warn the user:\n\n```\nWarning: No installed frameworks detected.\nGenerating minimal AIWG.md with core CLI reference only.\nRun `aiwg use sdlc` to deploy the SDLC framework.\n```\n\n## When to Run\n\n- After `aiwg use \u003Cframework>` installs a new framework\n- After `aiwg remove \u003Cframework>` uninstalls a framework\n- After upgrading AIWG to a new version\n- When you want to refresh the hook file without full redeployment\n- After modifying AIWG configuration\n\n## Examples\n\n```bash\n# Regenerate all hook files\n\u002Fhook-regenerate\n\n# Regenerate only Claude Code hook file\n\u002Fhook-regenerate --provider claude\n\n# Preview without writing\n\u002Fhook-regenerate --dry-run\n\n# Verbose output showing each fragment\n\u002Fhook-regenerate --verbose\n\n# Regenerate for all providers\n\u002Fhook-regenerate --all\n```\n\n## Related Commands\n\n- `\u002Fhook-enable` — Enable the hook after regenerating\n- `\u002Fhook-disable` — Disable the hook temporarily\n- `\u002Fhook-status` — Check current hook state\n\n## References\n\n- @.aiwg\u002Fplanning\u002Fhook-file-architecture.md — Architecture design\n- #439 — AIWG.md hook file architecture\n- #441 — This command's issue\n- #445 — Manifest-driven optimization (contextContributions contract)\n","# Hook Regenerate\n\nYou are an AIWG Hook Management Specialist responsible for rebuilding AIWG hook files from the manifests of currently installed frameworks.\n\n## Your Task\n\nRegenerate `AIWG.md` (and provider equivalents) by assembling content from the `contextContributions` fragments of each installed framework. This updates the hook file content without touching platform context files (CLAUDE.md, WARP.md, etc.) or running a full `aiwg use` deployment.\n\n## Parameters\n\n| Flag | Description |\n|------|-------------|\n| `--provider \u003Cname>` | Regenerate only for this provider: `claude`, `warp`, `copilot`, `cursor`, `factory`, `windsurf`, `opencode`, `codex` |\n| `--all` | Regenerate for all installed providers (default) |\n| `--dry-run` | Show what would be written without writing |\n| `--verbose` | Show each fragment being included and its line count |\n\n## Hook File Map\n\n| Provider | Hook File |\n|----------|-----------|\n| Claude Code | `AIWG.md` |\n| Warp Terminal | `AIWG-warp.md` |\n| Windsurf | `AIWG-windsurf.md` |\n| GitHub Copilot | `AIWG-copilot.md` |\n| Cursor | `AIWG-cursor.md` |\n| Factory AI | `AIWG-factory.md` |\n| OpenCode | `AIWG-opencode.md` |\n| Codex | `AIWG-codex.md` |\n\n### Hermes is intentionally excluded (#1242)\n\nHermes loads context files **in full on every conversation turn** and the integration explicitly targets a ≤1,000-character routing-guidance budget (see `docs\u002Fintegrations\u002Fhermes-quickstart.md` Part 7). A sections-assembled `AIWG-hermes.md` would blow that budget by an order of magnitude and is the wrong shape for the integration model — Hermes pulls AIWG content on demand via the AIWG MCP server (`workflow-run`, `artifact-read`, etc.), not via inline context loading.\n\nIf a user asks why Hermes is missing from the table above, point them at:\n\n- `docs\u002Fintegrations\u002Fhermes-quickstart.md` for the MCP integration setup.\n- The auto-generated thin `.hermes.md` twin file at project root (#1239 \u002F #1242), which carries Hermes-MCP-correct guidance pointing at `artifact-read` and `aiwg discover`\u002F`aiwg show` rather than at an inlined link-index.\n\nDo not add a Hermes entry to the regeneration loop. The omission is the design.\n\n## Workflow\n\n### Step 1: Load Installed Registry\n\nRead `.aiwg\u002Fframeworks\u002Fregistry.json` to determine which frameworks are installed:\n\n```json\n{\n  \"installed\": [\n    { \"id\": \"sdlc-complete\", \"version\": \"2.1.0\" },\n    { \"id\": \"aiwg-utils\", \"version\": \"1.5.0\" }\n  ]\n}\n```\n\nIf registry does not exist, fall back to scanning for known framework directories.\n\n### Step 2: Collect Context Fragments\n\nFor each installed framework, read its `contextContributions` from `manifest.json`:\n\n```json\n{\n  \"contextContributions\": {\n    \"hookFragment\": \"templates\u002Fproject\u002FAIWG-sdlc-fragment.md\",\n    \"sectionsDir\": \"templates\u002Faiwg-sections\",\n    \"sectionsManifest\": \"templates\u002Faiwg-sections\u002Fmanifest.json\",\n    \"priority\": 10\n  }\n}\n```\n\n**If `sectionsManifest` is present** (preferred — sections-based assembly):\n\n1. Read `{AIWG_ROOT}\u002F{framework_path}\u002F{sectionsManifest}`\n2. For each section entry in manifest order:\n   - Load `{AIWG_ROOT}\u002F{framework_path}\u002F{sectionsDir}\u002F{section.file}`\n   - Append to fragment buffer, followed by a blank line\n3. Write assembled buffer to `{hookFragment}` (keeps the pre-assembled copy current)\n\n**If only `hookFragment` is present** (legacy — single-file fragment):\n\nLoad the fragment file directly at `{AIWG_ROOT}\u002F{framework_path}\u002F{hookFragment}`.\n\n**The sections-based approach is preferred** — it allows individual sections to be updated without touching the assembled file, and prevents agents from accidentally editing the whole AIWG.md content as a monolith.\n\n**Always include** (regardless of installed frameworks):\n- AIWG CLI core reference (always)\n- RULES-INDEX pointer (when any rules are deployed)\n- Hook management commands reference\n\n### Step 3: Assemble Hook File\n\nCombine fragments in priority order (lower number = higher priority):\n\n```\nPriority 1:  Header (generated comment + timestamp)\nPriority 5:  Core AIWG CLI reference (always)\nPriority 10: sdlc-complete fragment (if installed)\nPriority 20: media-marketing-kit fragment (if installed)\nPriority 30: forensics-complete fragment (if installed)\nPriority 40: research-complete fragment (if installed)\nPriority 50: rlm addon fragment (if installed)\nPriority 60: voice-framework fragment (if installed)\nPriority 90: RULES-INDEX pointer (if rules deployed)\nPriority 95: Hook management reference (always)\n```\n\n### Step 4: Write Hook File\n\nWrite the assembled content to the appropriate hook file for each target provider.\n\n**Header prepended to all generated hook files**:\n\n```markdown\n# AIWG Framework Context\n\u003C!-- Generated by aiwg hook-regenerate — do not edit manually -->\n\u003C!-- Frameworks: {list of installed frameworks} -->\n\u003C!-- Generated: {ISO timestamp} -->\n\u003C!-- Regenerate: aiwg hook-regenerate -->\n\u003C!-- Disable: aiwg hook-disable -->\n\n```\n\n### Step 5: Report\n\n**Standard output**:\n\n```\nRegenerating AIWG.md from installed manifests...\n  Installed: sdlc-complete v2.1.0, aiwg-utils v1.5.0\n  Including: orchestrator context, RULES-INDEX, 47 commands, 12 agents\n  Excluding: media-marketing-kit (not installed), rlm (not installed)\n\nWrote AIWG.md (312 lines)\nHook is enabled — changes take effect at next session start\n```\n\n**Verbose output**:\n\n```\nRegenerating AIWG.md...\n  Fragment: core-header (8 lines, priority 1)\n  Fragment: aiwg-cli-core (25 lines, priority 5)\n  Fragment: sdlc-complete\u002FAIWG-sdlc-fragment.md (270 lines, priority 10)\n  Fragment: rules-index-pointer (4 lines, priority 90)\n  Fragment: hook-management (5 lines, priority 95)\n  Total: 312 lines\n\nWrote AIWG.md\n```\n\n**Dry run output**:\n\n```\n[dry-run] Would write AIWG.md (312 lines)\n[dry-run] Content preview:\n---\n# AIWG Framework Context\n\u003C!-- Generated by aiwg hook-regenerate -->\n...\n---\nNo files written. Remove --dry-run to apply.\n```\n\n## Fallback: No Registry\n\nIf no registry and no framework directories found, generate a minimal hook file containing only the core AIWG CLI reference and hook management section. Warn the user:\n\n```\nWarning: No installed frameworks detected.\nGenerating minimal AIWG.md with core CLI reference only.\nRun `aiwg use sdlc` to deploy the SDLC framework.\n```\n\n## When to Run\n\n- After `aiwg use \u003Cframework>` installs a new framework\n- After `aiwg remove \u003Cframework>` uninstalls a framework\n- After upgrading AIWG to a new version\n- When you want to refresh the hook file without full redeployment\n- After modifying AIWG configuration\n\n## Examples\n\n```bash\n# Regenerate all hook files\n\u002Fhook-regenerate\n\n# Regenerate only Claude Code hook file\n\u002Fhook-regenerate --provider claude\n\n# Preview without writing\n\u002Fhook-regenerate --dry-run\n\n# Verbose output showing each fragment\n\u002Fhook-regenerate --verbose\n\n# Regenerate for all providers\n\u002Fhook-regenerate --all\n```\n\n## Related Commands\n\n- `\u002Fhook-enable` — Enable the hook after regenerating\n- `\u002Fhook-disable` — Disable the hook temporarily\n- `\u002Fhook-status` — Check current hook state\n\n## References\n\n- @.aiwg\u002Fplanning\u002Fhook-file-architecture.md — Architecture design\n- #439 — AIWG.md hook file architecture\n- #441 — This command's issue\n- #445 — Manifest-driven optimization (contextContributions contract)\n",{"name":35,"namespace":36,"platforms":37,"commandHint":39,"description":46},"hook-regenerate","aiwg",[38],"all",{"model":40,"category":41,"modelRole":42,"modelTier":43,"allowedTools":44,"argumentHint":45},"sonnet","hook-management","coding","standard","Read, Write, Bash, Glob","[--provider \u003Cname>] [--all] [--dry-run] [--verbose]","Rebuild AIWG hook files from currently installed framework manifests","main","6754967c344ccb087a8de06972f55a41067b291b","skills\u002Fmomentum\u002Fskills\u002Fbuild-guidelines","https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum","https:\u002F\u002Fgithub.com\u002Fiamsteveholmes","http:\u002F\u002Fcapitalcodemonkey.blogspot.com","2026-11-09 05:58:39",{"source":8,"skillName":35,"commands":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add iamsteveholmes\u002Fmomentum --skill hook-regenerate",{"tool":60,"command":61},"bunx","bunx skills add iamsteveholmes\u002Fmomentum --skill hook-regenerate",{"tool":63,"command":64},"pnpm","pnpm dlx skills add iamsteveholmes\u002Fmomentum --skill hook-regenerate","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum\u002Fblob\u002Fmain\u002Fskills\u002Fmomentum\u002Fskills\u002Fbuild-guidelines\u002FSKILL.md",true,[68,74,80,84,88,92,96,100,104,108,112,116,120,124],{"path":69,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":72,"sourceHtmlUrl":73},"e2e\u002Flive-compose-resolve.sh","SCRIPT","脚本",12470,"https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum\u002Fblob\u002Fmain\u002Fskills\u002Fmomentum\u002Fskills\u002Fbuild-guidelines\u002Fe2e\u002Flive-compose-resolve.sh",{"path":75,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":78,"sourceHtmlUrl":79},"e2e\u002FREADME.md","REFERENCE","参考文档",11507,"https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum\u002Fblob\u002Fmain\u002Fskills\u002Fmomentum\u002Fskills\u002Fbuild-guidelines\u002Fe2e\u002FREADME.md",{"path":81,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":82,"sourceHtmlUrl":83},"evals\u002Feval-flags-manifesto-missing-ownership-field.md",1945,"https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum\u002Fblob\u002Fmain\u002Fskills\u002Fmomentum\u002Fskills\u002Fbuild-guidelines\u002Fevals\u002Feval-flags-manifesto-missing-ownership-field.md",{"path":85,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":86,"sourceHtmlUrl":87},"evals\u002Feval-preserves-diagnostic-table-framing.md",2209,"https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum\u002Fblob\u002Fmain\u002Fskills\u002Fmomentum\u002Fskills\u002Fbuild-guidelines\u002Fevals\u002Feval-preserves-diagnostic-table-framing.md",{"path":89,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":90,"sourceHtmlUrl":91},"evals\u002Feval-produces-and-registers-one-composed-agent.md",3175,"https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum\u002Fblob\u002Fmain\u002Fskills\u002Fmomentum\u002Fskills\u002Fbuild-guidelines\u002Fevals\u002Feval-produces-and-registers-one-composed-agent.md",{"path":93,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":94,"sourceHtmlUrl":95},"evals\u002Feval-reads-ownership-field-verbatim-into-patterns.md",1969,"https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum\u002Fblob\u002Fmain\u002Fskills\u002Fmomentum\u002Fskills\u002Fbuild-guidelines\u002Fevals\u002Feval-reads-ownership-field-verbatim-into-patterns.md",{"path":97,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":98,"sourceHtmlUrl":99},"evals\u002Feval-resolves-correct-project-kb.md",2811,"https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum\u002Fblob\u002Fmain\u002Fskills\u002Fmomentum\u002Fskills\u002Fbuild-guidelines\u002Fevals\u002Feval-resolves-correct-project-kb.md",{"path":101,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":102,"sourceHtmlUrl":103},"evals\u002Feval-touches-resolves-composed-slug-not-dev.md",2043,"https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum\u002Fblob\u002Fmain\u002Fskills\u002Fmomentum\u002Fskills\u002Fbuild-guidelines\u002Fevals\u002Feval-touches-resolves-composed-slug-not-dev.md",{"path":105,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":106,"sourceHtmlUrl":107},"evals\u002Feval-wiki-query-resolves-momentum-kb-from-project-kb.md",2019,"https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum\u002Fblob\u002Fmain\u002Fskills\u002Fmomentum\u002Fskills\u002Fbuild-guidelines\u002Fevals\u002Feval-wiki-query-resolves-momentum-kb-from-project-kb.md",{"path":109,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":110,"sourceHtmlUrl":111},"evals\u002Feval-wiki-query-resolves-nornspun-kb-from-project-kb.md",2215,"https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum\u002Fblob\u002Fmain\u002Fskills\u002Fmomentum\u002Fskills\u002Fbuild-guidelines\u002Fevals\u002Feval-wiki-query-resolves-nornspun-kb-from-project-kb.md",{"path":113,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":114,"sourceHtmlUrl":115},"evals\u002Feval-wiki-query-unregistered-project-kb-surfaces-mismatch.md",1999,"https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum\u002Fblob\u002Fmain\u002Fskills\u002Fmomentum\u002Fskills\u002Fbuild-guidelines\u002Fevals\u002Feval-wiki-query-unregistered-project-kb-surfaces-mismatch.md",{"path":117,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":118,"sourceHtmlUrl":119},"evals\u002Ffixtures\u002Fmomentum-fixture-manifest.md",1302,"https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum\u002Fblob\u002Fmain\u002Fskills\u002Fmomentum\u002Fskills\u002Fbuild-guidelines\u002Fevals\u002Ffixtures\u002Fmomentum-fixture-manifest.md",{"path":121,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":122,"sourceHtmlUrl":123},"references\u002Forchestration-guide.md",10737,"https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum\u002Fblob\u002Fmain\u002Fskills\u002Fmomentum\u002Fskills\u002Fbuild-guidelines\u002Freferences\u002Forchestration-guide.md",{"path":125,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":126,"sourceHtmlUrl":127},"workflow.md",27580,"https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum\u002Fblob\u002Fmain\u002Fskills\u002Fmomentum\u002Fskills\u002Fbuild-guidelines\u002Fworkflow.md",[129,150,168,189,206,224],{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":30},"01M6DES6J0HGT27SEJJWF316FV","upstream-fix","Traces quality failures upstream to spec, rule, or workflow root cause. Proposes fixes at the right level.","https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum\u002Fblob\u002Fmain\u002Fskills\u002Fmomentum\u002Fskills\u002Fupstream-fix\u002FSKILL.md",[],[136,137,138,139,140,141,142,143,144,145,146,147,148,149],"upstream","upstream fix","fix","to spec","root cause","traces","fixes","at","high","root","rule","quality","workflow","spec",{"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":30},"01M6DES4A08NFWQM0AJBR2RRX5","triage","Dedup gate + batch-classify observations into five classes, enrich ARTIFACTs, batch-approve, delegate to intake\u002Fdecision or queue.","https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum\u002Fblob\u002Fmain\u002Fskills\u002Fmomentum\u002Fskills\u002Ftriage\u002FSKILL.md",[],[152,157,158,159,160,161,162,163,144,164,165,166,167],"batch","intake","artifacts","decision","queue","delegate","approve","observations","enrich","classify","gate",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":174,"publishedAt":30},"01M6DERYX8W6Z9Z4RM5V6E9HED","sprint-planning","Sprint planning — story selection, team composition, Gherkin specs, and visual companion plan gate for developer sign-off.","https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum\u002Fblob\u002Fmain\u002Fskills\u002Fmomentum\u002Fskills\u002Fsprint-planning\u002FSKILL.md",[],[175,26,176,144,177,178,179,180,181,182,183,184,185,186,187,188,167],"planning","sprint planning","visual companion","plan gate","for","companion","sign","visual","selection","Composition","Story","plan","team","developer",{"skillNo":190,"name":191,"nameZh":6,"description":192,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":193,"categories":194,"keywords":195,"publishedAt":30},"01M6DERWCP7Y0WDY5KG6109RQB","sprint-manager","Sole writer of stories\u002Findex.json and sprints\u002Findex.json — validates state transitions, activates sprints, manages epic membership.","https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum\u002Fblob\u002Fmain\u002Fskills\u002Fmomentum\u002Fskills\u002Fsprint-manager\u002FSKILL.md",[],[196,26,197,198,199,200,201,202,203,204,205],"sprint manager","manager","writer","stories","sprints","EPIC","transitions","json","index","state",{"skillNo":207,"name":208,"nameZh":6,"description":209,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":210,"categories":211,"keywords":212,"publishedAt":30},"01M6DERS7B4QHAH5GZHHBA4AHB","sprint-dev","Sprint execution — dependency-driven story development, post-merge AVFL, and team review.","https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum\u002Fblob\u002Fmain\u002Fskills\u002Fmomentum\u002Fskills\u002Fsprint-dev\u002FSKILL.md",[],[213,214,26,187,215,216,217,218,219,220,144,221,222,223,185],"dev","sprint dev","execution","team review","development","merge","review","dependency","post","avfl","driven",{"skillNo":225,"name":226,"nameZh":6,"description":227,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":228,"categories":229,"keywords":230,"publishedAt":30},"01M6DERP0A271FYSAXCV85GF04","retro","Sprint retrospective — transcript audit engine (dynamic Workflow), story verification, findings document, and sprint closure.","https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum\u002Fblob\u002Fmain\u002Fskills\u002Fmomentum\u002Fskills\u002Fretro\u002FSKILL.md",[],[226,231,232,144,233,26,234,185,235,236,237,238,239,148],"sprint retrospective","closure","dynamic workflow","document","engine","audit","verification","transcript","retrospective"]