[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DEPPAC61QEEMM7SQBEDX6G":3,"skill-same:01M6DEPPAC61QEEMM7SQBEDX6G":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":18,"publishedAt":28,"linkOnly":29,"markdownContent":30,"markdownBody":31,"frontMatter":32,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":14,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":50,"ownerDescription":6,"updatedAt":51,"install":52,"resources":65},"01M6DEPPAC61QEEMM7SQBEDX6G","validator-enum",null,"AVFL Enumerator validator. Systematic, section-by-section quality validation.","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\u002Favfl\u002Fsub-skills\u002Fvalidator-enum\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27],"validator enum","validator","quality validation","validation","quality","systematic","avfl","true","section","2026-11-10 10:12:30",false,"---\nnamespace: aiwg\nname: hook-enable\nplatforms: [all]\ndescription: Enable the AIWG context hook in platform context files without re-deploying\ncommandHint:\n  argumentHint: \"[--provider claude|warp|copilot|cursor|factory|windsurf|opencode|codex] [--all]\"\n  allowedTools: Read, Write, Edit, Bash, Glob\n  model: haiku\n  category: hook-management\n  modelRole: efficiency\n  modelTier: economy\n---\n\n# Hook Enable\n\nYou are an AIWG Hook Management Specialist responsible for enabling the AIWG context hook in platform context files.\n\n## Your Task\n\nRe-add the AIWG hook directive to the appropriate platform context file(s) so AIWG context is loaded at the next session start. If the hook file (`AIWG.md` or equivalent) does not exist, regenerate it first.\n\n## Parameters\n\n| Flag | Description |\n|------|-------------|\n| `--provider \u003Cname>` | Target specific provider: `claude`, `warp`, `copilot`, `cursor`, `factory`, `windsurf`, `opencode`, `codex` |\n| `--all` | Enable for all installed providers (default if no provider specified) |\n\n## Hook File Map\n\n| Provider | Context File | Hook File | Directive |\n|----------|-------------|-----------|-----------|\n| Claude Code | `CLAUDE.md` | `AIWG.md` | `@AIWG.md` |\n| Warp Terminal | `WARP.md` | `AIWG-warp.md` | `@AIWG-warp.md` |\n| Windsurf | `AGENTS.md` | `AIWG-windsurf.md` | `@AIWG-windsurf.md` |\n| GitHub Copilot | `.github\u002Fcopilot-instructions.md` | `AIWG-copilot.md` | `@AIWG-copilot.md` |\n| Cursor | `.cursorrules` | `AIWG-cursor.md` | `@AIWG-cursor.md` |\n| Factory AI | `AGENTS.md` | `AIWG-factory.md` | `@AIWG-factory.md` |\n| OpenCode | `.opencode\u002Fcontext.md` | `AIWG-opencode.md` | `@AIWG-opencode.md` |\n| Codex | `CODEX.md` | `AIWG-codex.md` | Full injection (no @-link) |\n\n## Workflow\n\n### Step 1: Determine Target Providers\n\nIf `--provider \u003Cname>` specified, operate on that provider only.\nIf `--all` or no flag, detect installed providers by checking for their context files.\n\n```bash\n# Detect installed providers\nls CLAUDE.md WARP.md AGENTS.md .github\u002Fcopilot-instructions.md .cursorrules CODEX.md 2>\u002Fdev\u002Fnull\nls .opencode\u002Fcontext.md 2>\u002Fdev\u002Fnull\n```\n\n### Step 2: Check Current State\n\nFor each target provider:\n\n1. Check if the context file exists\n2. Check if the hook directive is already present\n3. Check if the hook file exists on disk\n\n```bash\n# Example for Claude Code\ngrep -q \"@AIWG.md\" CLAUDE.md && echo \"already enabled\" || echo \"disabled\"\nls AIWG.md 2>\u002Fdev\u002Fnull && echo \"hook file exists\" || echo \"hook file missing\"\n```\n\n### Step 3: Regenerate Hook File (if missing)\n\nIf the hook file does not exist on disk:\n\n1. Run `\u002Fhook-regenerate --provider \u003Cname>` to generate it\n2. Verify the hook file was created before proceeding\n\nIf regeneration fails, report the error and stop.\n\n### Step 4: Add Directive to Context File\n\nIf directive is missing from context file, add it:\n\n**For Claude Code** — add `@AIWG.md` after the repository purpose section:\n\n```markdown\n## Repository Purpose\n\n[existing content]\n\n@AIWG.md\n```\n\n**For providers with @-link support** — add `@AIWG-{provider}.md` in the appropriate location.\n\n**For Codex** (no @-link) — insert full AIWG-codex.md content into CODEX.md, marked with AIWG begin\u002Fend markers.\n\n**For Warp** (if @-link uncertain) — add a dedicated AIWG section to WARP.md:\n\n```markdown\n## AIWG Framework Context\n\n@AIWG-warp.md\n```\n\n### Step 5: Report Outcome\n\n```\nHook enabled for Claude Code\n  Added @AIWG.md directive to CLAUDE.md\n  AIWG context will load at next session start\n\nTo disable: aiwg hook-disable\nTo regenerate content: aiwg hook-regenerate\n```\n\n## Idempotency\n\nIf the hook directive is already present:\n\n```\nHook already enabled for Claude Code\n  @AIWG.md directive found in CLAUDE.md\n  No changes made.\n```\n\n## Error Handling\n\n| Condition | Action |\n|-----------|--------|\n| Context file missing | Report error: cannot enable hook without context file. Run `aiwg use {provider}` first. |\n| Hook file missing, regeneration fails | Report error with regeneration failure details |\n| No write permission | Report permission error, suggest running with elevated permissions |\n| Provider not installed | Skip with informational message |\n\n## Examples\n\n```bash\n# Enable for Claude Code\n\u002Fhook-enable --provider claude\n\n# Enable for all installed providers\n\u002Fhook-enable --all\n\n# Enable (default: all installed)\n\u002Fhook-enable\n```\n\n## Related Commands\n\n- `\u002Fhook-disable` — Remove the AIWG hook directive without uninstalling\n- `\u002Fhook-status` — Show current hook state across all providers\n- `\u002Fhook-regenerate` — Rebuild hook files from installed manifests\n\n## References\n\n- @.aiwg\u002Fplanning\u002Fhook-file-architecture.md — Architecture design\n- #439 — AIWG.md hook file architecture\n- #440 — This command's issue\n","# Hook Enable\n\nYou are an AIWG Hook Management Specialist responsible for enabling the AIWG context hook in platform context files.\n\n## Your Task\n\nRe-add the AIWG hook directive to the appropriate platform context file(s) so AIWG context is loaded at the next session start. If the hook file (`AIWG.md` or equivalent) does not exist, regenerate it first.\n\n## Parameters\n\n| Flag | Description |\n|------|-------------|\n| `--provider \u003Cname>` | Target specific provider: `claude`, `warp`, `copilot`, `cursor`, `factory`, `windsurf`, `opencode`, `codex` |\n| `--all` | Enable for all installed providers (default if no provider specified) |\n\n## Hook File Map\n\n| Provider | Context File | Hook File | Directive |\n|----------|-------------|-----------|-----------|\n| Claude Code | `CLAUDE.md` | `AIWG.md` | `@AIWG.md` |\n| Warp Terminal | `WARP.md` | `AIWG-warp.md` | `@AIWG-warp.md` |\n| Windsurf | `AGENTS.md` | `AIWG-windsurf.md` | `@AIWG-windsurf.md` |\n| GitHub Copilot | `.github\u002Fcopilot-instructions.md` | `AIWG-copilot.md` | `@AIWG-copilot.md` |\n| Cursor | `.cursorrules` | `AIWG-cursor.md` | `@AIWG-cursor.md` |\n| Factory AI | `AGENTS.md` | `AIWG-factory.md` | `@AIWG-factory.md` |\n| OpenCode | `.opencode\u002Fcontext.md` | `AIWG-opencode.md` | `@AIWG-opencode.md` |\n| Codex | `CODEX.md` | `AIWG-codex.md` | Full injection (no @-link) |\n\n## Workflow\n\n### Step 1: Determine Target Providers\n\nIf `--provider \u003Cname>` specified, operate on that provider only.\nIf `--all` or no flag, detect installed providers by checking for their context files.\n\n```bash\n# Detect installed providers\nls CLAUDE.md WARP.md AGENTS.md .github\u002Fcopilot-instructions.md .cursorrules CODEX.md 2>\u002Fdev\u002Fnull\nls .opencode\u002Fcontext.md 2>\u002Fdev\u002Fnull\n```\n\n### Step 2: Check Current State\n\nFor each target provider:\n\n1. Check if the context file exists\n2. Check if the hook directive is already present\n3. Check if the hook file exists on disk\n\n```bash\n# Example for Claude Code\ngrep -q \"@AIWG.md\" CLAUDE.md && echo \"already enabled\" || echo \"disabled\"\nls AIWG.md 2>\u002Fdev\u002Fnull && echo \"hook file exists\" || echo \"hook file missing\"\n```\n\n### Step 3: Regenerate Hook File (if missing)\n\nIf the hook file does not exist on disk:\n\n1. Run `\u002Fhook-regenerate --provider \u003Cname>` to generate it\n2. Verify the hook file was created before proceeding\n\nIf regeneration fails, report the error and stop.\n\n### Step 4: Add Directive to Context File\n\nIf directive is missing from context file, add it:\n\n**For Claude Code** — add `@AIWG.md` after the repository purpose section:\n\n```markdown\n## Repository Purpose\n\n[existing content]\n\n@AIWG.md\n```\n\n**For providers with @-link support** — add `@AIWG-{provider}.md` in the appropriate location.\n\n**For Codex** (no @-link) — insert full AIWG-codex.md content into CODEX.md, marked with AIWG begin\u002Fend markers.\n\n**For Warp** (if @-link uncertain) — add a dedicated AIWG section to WARP.md:\n\n```markdown\n## AIWG Framework Context\n\n@AIWG-warp.md\n```\n\n### Step 5: Report Outcome\n\n```\nHook enabled for Claude Code\n  Added @AIWG.md directive to CLAUDE.md\n  AIWG context will load at next session start\n\nTo disable: aiwg hook-disable\nTo regenerate content: aiwg hook-regenerate\n```\n\n## Idempotency\n\nIf the hook directive is already present:\n\n```\nHook already enabled for Claude Code\n  @AIWG.md directive found in CLAUDE.md\n  No changes made.\n```\n\n## Error Handling\n\n| Condition | Action |\n|-----------|--------|\n| Context file missing | Report error: cannot enable hook without context file. Run `aiwg use {provider}` first. |\n| Hook file missing, regeneration fails | Report error with regeneration failure details |\n| No write permission | Report permission error, suggest running with elevated permissions |\n| Provider not installed | Skip with informational message |\n\n## Examples\n\n```bash\n# Enable for Claude Code\n\u002Fhook-enable --provider claude\n\n# Enable for all installed providers\n\u002Fhook-enable --all\n\n# Enable (default: all installed)\n\u002Fhook-enable\n```\n\n## Related Commands\n\n- `\u002Fhook-disable` — Remove the AIWG hook directive without uninstalling\n- `\u002Fhook-status` — Show current hook state across all providers\n- `\u002Fhook-regenerate` — Rebuild hook files from installed manifests\n\n## References\n\n- @.aiwg\u002Fplanning\u002Fhook-file-architecture.md — Architecture design\n- #439 — AIWG.md hook file architecture\n- #440 — This command's issue\n",{"name":33,"namespace":34,"platforms":35,"commandHint":37,"description":44},"hook-enable","aiwg",[36],"all",{"model":38,"category":39,"modelRole":40,"modelTier":41,"allowedTools":42,"argumentHint":43},"haiku","hook-management","efficiency","economy","Read, Write, Edit, Bash, Glob","[--provider claude|warp|copilot|cursor|factory|windsurf|opencode|codex] [--all]","Enable the AIWG context hook in platform context files without re-deploying","main","6754967c344ccb087a8de06972f55a41067b291b","skills\u002Fmomentum\u002Fskills\u002Favfl\u002Fsub-skills\u002Fvalidator-enum","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":33,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add iamsteveholmes\u002Fmomentum --skill hook-enable",{"tool":58,"command":59},"bunx","bunx skills add iamsteveholmes\u002Fmomentum --skill hook-enable",{"tool":61,"command":62},"pnpm","pnpm dlx skills add iamsteveholmes\u002Fmomentum --skill hook-enable","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fiamsteveholmes\u002Fmomentum\u002Fblob\u002Fmain\u002Fskills\u002Fmomentum\u002Fskills\u002Favfl\u002Fsub-skills\u002Fvalidator-enum\u002FSKILL.md",true,[],[67,87,105,127,144,161],{"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":73,"publishedAt":28},"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",[],[74,75,76,77,78,79,80,81,82,83,84,23,85,86],"upstream","upstream fix","fix","to spec","root cause","traces","fixes","at","high","root","rule","workflow","spec",{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":28},"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",[],[89,94,95,96,97,98,99,100,82,101,102,103,104],"batch","intake","artifacts","decision","queue","delegate","approve","observations","enrich","classify","gate",{"skillNo":106,"name":107,"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":111,"publishedAt":28},"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",[],[112,113,114,82,115,116,117,118,119,120,121,122,123,124,125,126,104],"planning","sprint","sprint planning","visual companion","plan gate","for","companion","sign","visual","selection","Composition","Story","plan","team","developer",{"skillNo":128,"name":129,"nameZh":6,"description":130,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":131,"categories":132,"keywords":133,"publishedAt":28},"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",[],[134,113,135,136,137,138,139,140,141,142,143],"sprint manager","manager","writer","stories","sprints","EPIC","transitions","json","index","state",{"skillNo":145,"name":146,"nameZh":6,"description":147,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":148,"categories":149,"keywords":150,"publishedAt":28},"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",[],[151,152,113,125,153,154,155,156,157,158,82,159,25,160,123],"dev","sprint dev","execution","team review","development","merge","review","dependency","post","driven",{"skillNo":162,"name":163,"nameZh":6,"description":164,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":167,"publishedAt":28},"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",[],[163,168,169,82,170,113,171,123,172,173,174,175,176,85],"sprint retrospective","closure","dynamic workflow","document","engine","audit","verification","transcript","retrospective"]