[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C19C4CS2ET365VEB0G52MT":3,"skill-same:01M6C19C4CS2ET365VEB0G52MT":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":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":51,"commitSha":52,"skillDirectory":53,"forksCount":54,"repositoryHtmlUrl":55,"repositoryHomepageUrl":56,"ownerHtmlUrl":57,"ownerBlogUrl":58,"ownerDescription":59,"updatedAt":60,"install":61,"resources":74},"01M6C19C4CS2ET365VEB0G52MT","hook-status",null,"Show AIWG hook state across all installed providers","jmagly\u002Faiwg","jmagly","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1159087?v=4","01M6C10AK8N2WCSQN11FYGTJWN","Joseph Magly","01M6C10AQ8A2RMED1Y1BSVY7NF",229,"MIT","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-utils\u002Fskills\u002Fhook-status\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],"status","hook status","hook","state","Providers","Bash","haiku","read","management","provider","show","across","efficiency","name","2026-11-10 10:12:30",false,"---\nnamespace: aiwg\nname: hook-status\nplatforms: [all]\ndescription: Show AIWG hook state across all installed providers\ncommandHint:\n  argumentHint: \"[--provider \u003Cname>] [--verbose]\"\n  allowedTools: Read, Bash, Glob\n  model: haiku\n  category: hook-management\n  modelRole: efficiency\n  modelTier: economy\n---\n\n# Hook Status\n\nYou are an AIWG Hook Management Specialist responsible for reporting the current state of AIWG context hooks across all installed providers.\n\n## Your Task\n\nInspect all known platform context files and report whether the AIWG hook is enabled, disabled, or missing for each.\n\n## Parameters\n\n| Flag | Description |\n|------|-------------|\n| `--provider \u003Cname>` | Check only a specific provider |\n| `--verbose` | Show hook file size and content summary |\n\n## Detection Logic\n\nFor each provider, check:\n\n1. **Context file exists?** — If no, provider not installed (skip)\n2. **Hook directive present?** — If yes, `enabled`; if no, `disabled`\n3. **Hook file exists?** — If no, `enabled (hook file missing)` — warn\n\n### Directive Patterns to Search\n\n| Provider | Context File | Pattern |\n|----------|-------------|---------|\n| Claude Code | `CLAUDE.md` | `@AIWG.md` |\n| Warp Terminal | `WARP.md` | `@AIWG-warp.md` or `## AIWG` section |\n| Windsurf | `AGENTS.md` | `@AIWG-windsurf.md` |\n| GitHub Copilot | `.github\u002Fcopilot-instructions.md` | `@AIWG-copilot.md` |\n| Cursor | `.cursorrules` | `@AIWG-cursor.md` |\n| Factory AI | `AGENTS.md` | `@AIWG-factory.md` |\n| OpenCode | `.opencode\u002Fcontext.md` | `@AIWG-opencode.md` |\n| Codex | `CODEX.md` | `\u003C!-- BEGIN AIWG -->` |\n\n## Output Format\n\n```\nAIWG Hook Status\n────────────────────────────────────────\n\n  claude     ✓ enabled    (@AIWG.md in CLAUDE.md, 312 lines)\n  warp       ✓ enabled    (@AIWG-warp.md in WARP.md)\n  copilot    ✗ disabled   (AIWG-copilot.md exists but no directive)\n  windsurf   - not found  (AGENTS.md not present)\n  cursor     - not found  (.cursorrules not present)\n  factory    ✗ disabled   (AIWG-factory.md missing — run: aiwg hook-regenerate --provider factory)\n  opencode   - not found  (.opencode\u002Fcontext.md not present)\n  codex      - not found  (CODEX.md not present)\n\nSummary: 2 enabled, 2 disabled, 4 not found\n\nTip: Run `aiwg hook-enable` to enable all disabled hooks.\n```\n\n## Status Key\n\n| Symbol | Meaning |\n|--------|---------|\n| `✓ enabled` | Hook directive present in context file and hook file exists |\n| `✗ disabled` | Context file present but hook directive absent |\n| `⚠ enabled (hook file missing)` | Directive present but hook file doesn't exist on disk |\n| `- not found` | Context file not present (provider not installed\u002Fconfigured) |\n\n## Verbose Output\n\nWith `--verbose`, include hook file details:\n\n```\n  claude   ✓ enabled\n    Context file:  CLAUDE.md (14 lines)\n    Hook file:     AIWG.md (312 lines, 14.2KB)\n    Generated:     2026-03-22 (from: sdlc-complete, aiwg-utils)\n    Frameworks:    sdlc-complete v2.1.0, aiwg-utils v1.5.0\n```\n\n## Workflow\n\n1. For each provider returned by the authoritative provider registry, check context file existence\n2. If context file exists, grep for hook directive\n3. If directive found, check hook file existence\n4. Format output with status symbols\n5. Print summary line with counts\n6. Print actionable tip if any hooks are disabled or missing\n\n## Examples\n\n```bash\n# Check all providers\n\u002Fhook-status\n\n# Check only Claude Code\n\u002Fhook-status --provider claude\n\n# Verbose with hook file details\n\u002Fhook-status --verbose\n```\n\n## Related Commands\n\n- `\u002Fhook-enable` — Enable AIWG hook\n- `\u002Fhook-disable` — Disable AIWG hook\n- `\u002Fhook-regenerate` — Rebuild hook files from installed manifests\n\n## References\n\n- #439 — AIWG.md hook file architecture\n- #440 — hook-enable\u002Fhook-disable (this command is part of that issue)\n","# Hook Status\n\nYou are an AIWG Hook Management Specialist responsible for reporting the current state of AIWG context hooks across all installed providers.\n\n## Your Task\n\nInspect all known platform context files and report whether the AIWG hook is enabled, disabled, or missing for each.\n\n## Parameters\n\n| Flag | Description |\n|------|-------------|\n| `--provider \u003Cname>` | Check only a specific provider |\n| `--verbose` | Show hook file size and content summary |\n\n## Detection Logic\n\nFor each provider, check:\n\n1. **Context file exists?** — If no, provider not installed (skip)\n2. **Hook directive present?** — If yes, `enabled`; if no, `disabled`\n3. **Hook file exists?** — If no, `enabled (hook file missing)` — warn\n\n### Directive Patterns to Search\n\n| Provider | Context File | Pattern |\n|----------|-------------|---------|\n| Claude Code | `CLAUDE.md` | `@AIWG.md` |\n| Warp Terminal | `WARP.md` | `@AIWG-warp.md` or `## AIWG` section |\n| Windsurf | `AGENTS.md` | `@AIWG-windsurf.md` |\n| GitHub Copilot | `.github\u002Fcopilot-instructions.md` | `@AIWG-copilot.md` |\n| Cursor | `.cursorrules` | `@AIWG-cursor.md` |\n| Factory AI | `AGENTS.md` | `@AIWG-factory.md` |\n| OpenCode | `.opencode\u002Fcontext.md` | `@AIWG-opencode.md` |\n| Codex | `CODEX.md` | `\u003C!-- BEGIN AIWG -->` |\n\n## Output Format\n\n```\nAIWG Hook Status\n────────────────────────────────────────\n\n  claude     ✓ enabled    (@AIWG.md in CLAUDE.md, 312 lines)\n  warp       ✓ enabled    (@AIWG-warp.md in WARP.md)\n  copilot    ✗ disabled   (AIWG-copilot.md exists but no directive)\n  windsurf   - not found  (AGENTS.md not present)\n  cursor     - not found  (.cursorrules not present)\n  factory    ✗ disabled   (AIWG-factory.md missing — run: aiwg hook-regenerate --provider factory)\n  opencode   - not found  (.opencode\u002Fcontext.md not present)\n  codex      - not found  (CODEX.md not present)\n\nSummary: 2 enabled, 2 disabled, 4 not found\n\nTip: Run `aiwg hook-enable` to enable all disabled hooks.\n```\n\n## Status Key\n\n| Symbol | Meaning |\n|--------|---------|\n| `✓ enabled` | Hook directive present in context file and hook file exists |\n| `✗ disabled` | Context file present but hook directive absent |\n| `⚠ enabled (hook file missing)` | Directive present but hook file doesn't exist on disk |\n| `- not found` | Context file not present (provider not installed\u002Fconfigured) |\n\n## Verbose Output\n\nWith `--verbose`, include hook file details:\n\n```\n  claude   ✓ enabled\n    Context file:  CLAUDE.md (14 lines)\n    Hook file:     AIWG.md (312 lines, 14.2KB)\n    Generated:     2026-03-22 (from: sdlc-complete, aiwg-utils)\n    Frameworks:    sdlc-complete v2.1.0, aiwg-utils v1.5.0\n```\n\n## Workflow\n\n1. For each provider returned by the authoritative provider registry, check context file existence\n2. If context file exists, grep for hook directive\n3. If directive found, check hook file existence\n4. Format output with status symbols\n5. Print summary line with counts\n6. Print actionable tip if any hooks are disabled or missing\n\n## Examples\n\n```bash\n# Check all providers\n\u002Fhook-status\n\n# Check only Claude Code\n\u002Fhook-status --provider claude\n\n# Verbose with hook file details\n\u002Fhook-status --verbose\n```\n\n## Related Commands\n\n- `\u002Fhook-enable` — Enable AIWG hook\n- `\u002Fhook-disable` — Disable AIWG hook\n- `\u002Fhook-regenerate` — Rebuild hook files from installed manifests\n\n## References\n\n- #439 — AIWG.md hook file architecture\n- #440 — hook-enable\u002Fhook-disable (this command is part of that issue)\n",{"name":5,"namespace":43,"platforms":44,"commandHint":46,"description":7},"aiwg",[45],"all",{"model":30,"category":47,"modelRole":36,"modelTier":48,"allowedTools":49,"argumentHint":50},"hook-management","economy","Read, Bash, Glob","[--provider \u003Cname>] [--verbose]","main","6754967c344ccb087a8de06972f55a41067b291b","agentic\u002Fcode\u002Faddons\u002Faiwg-utils\u002Fskills\u002Fhook-status",36,"https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg","https:\u002F\u002Faiwg.io","https:\u002F\u002Fgithub.com\u002Fjmagly","https:\u002F\u002Fintegrolabs.io","ml\u002Fai, industrial automation, safety\u002Fsecurity, ssi\r\n\r\nmagly.net\r\nintegrolabs.io\r\naiwg.io\r\nfortemi.com\r\npagenary.com\r\nbytecask.com","2026-11-14 02:10:01",{"source":8,"skillName":5,"commands":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add jmagly\u002Faiwg --skill hook-status",{"tool":67,"command":68},"bunx","bunx skills add jmagly\u002Faiwg --skill hook-status",{"tool":70,"command":71},"pnpm","pnpm dlx skills add jmagly\u002Faiwg --skill hook-status","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Faddons\u002Faiwg-utils\u002Fskills\u002Fhook-status\u002FSKILL.md",true,[],[76,102,126,132,139,153],{"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":38},"01M70QA0BSYJ49EES9V4RE8QH1","host-hardening","Read-only system hardening baseline and plan-first host hardening recommendations for SSH, Docker bind addresses, firewall persistence, datastores, exporters and audit retention.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Fsecurity-engineering\u002Fskills\u002Fhost-hardening\u002FSKILL.md",[82],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[84,85,86,31,87,88,89,90,91,92,29,93,94,95,96,97,98,99,100,101],"host","host hardening","hardening","re","recommendations","remediation","plan","port","verification","access","only","retention","audit","never","firewall","bind","secrets","request",{"skillNo":103,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":106,"categories":107,"keywords":112,"publishedAt":38},"01M70PNT2Z4HMZPRBTAF6073NN","exposure-analysis","Read-only firewall analysis and effective host exposure reconstruction for Docker published ports, UFW bypass, stale rules, CDN scope, IPv6 asymmetry and external probe allowlists.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fplugins\u002Fforensics\u002Fskills\u002Fexposure-analysis\u002FSKILL.md",[108,111],{"categoryNo":109,"categoryName":110,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[113,114,115,31,116,91,117,118,29,119,84,120,94,121,122,97,98,123,124,125],"exposure analysis","analysis","unknown","credentials","collection","ufw","ports","internet","local","scope","reconstruction","operator","write",{"skillNo":127,"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":128,"categories":129,"keywords":131,"publishedAt":38},"01M70P8QATMPKA78E4FT5D2TNA","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fsecurity-engineering\u002Fskills\u002Fhost-hardening\u002FSKILL.md",[130],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[86,84,85,93,31,101,89,88,96,90,91,92,29,100,94,95,87,97,98,99],{"skillNo":133,"name":104,"nameZh":6,"description":105,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":138,"publishedAt":38},"01M70NMPVJ5H0JH131P60FW4R8","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Fagentic\u002Fcode\u002Fframeworks\u002Fforensics-complete\u002Fskills\u002Fexposure-analysis\u002FSKILL.md",[136,137],{"categoryNo":109,"categoryName":110,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[114,113,97,116,91,117,29,115,84,120,94,121,122,31,98,119,118,123,124,125],{"skillNo":140,"name":141,"nameZh":6,"description":142,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":143,"categories":144,"keywords":146,"publishedAt":38},"01M6CB4DDR0B4NNCFK7ZK7449H","fixture-skill","Exercise rule delivery.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Frule-delivery\u002Fskills\u002Ffixture-skill\u002FSKILL.md",[145],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[147,148,149,150,151,152],"fixture skill","fixture","rule","delivery","true","exercise",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":160,"publishedAt":38},"01M6CB4AVK1W76MFMPP0JP32CJ","pi-local","Pi-local duplicate-precedence fixture.","https:\u002F\u002Fgithub.com\u002Fjmagly\u002Faiwg\u002Fblob\u002Fmain\u002Ftest\u002Ffixtures\u002Fproviders\u002Fpi\u002Fproject\u002F.pi\u002Fskills\u002Fpi-local\u002FSKILL.md",[159],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[161,162,121,163,148],"pi","pi local","duplicate"]