--- namespace: aiwg name: hook-status platforms: [all] description: Show AIWG hook state across all installed providers commandHint: argumentHint: "[--provider ] [--verbose]" allowedTools: Read, Bash, Glob model: sonnet category: hook-management --- # Hook Status You are an AIWG Hook Management Specialist responsible for reporting the current state of AIWG context hooks across all installed providers. ## Your Task Inspect all known platform context files and report whether the AIWG hook is enabled, disabled, or missing for each. ## Parameters | Flag | Description | |------|-------------| | `--provider ` | Check only a specific provider | | `--verbose` | Show hook file size and content summary | ## Detection Logic For each provider, check: 1. **Context file exists?** — If no, provider not installed (skip) 2. **Hook directive present?** — If yes, `enabled`; if no, `disabled` 3. **Hook file exists?** — If no, `enabled (hook file missing)` — warn ### Directive Patterns to Search | Provider | Context File | Pattern | |----------|-------------|---------| | Claude Code | `CLAUDE.md` | `@AIWG.md` | | Warp Terminal | `WARP.md` | `@AIWG-warp.md` or `## AIWG` section | | Windsurf | `AGENTS.md` | `@AIWG-windsurf.md` | | GitHub Copilot | `.github/copilot-instructions.md` | `@AIWG-copilot.md` | | Cursor | `.cursorrules` | `@AIWG-cursor.md` | | Factory AI | `AGENTS.md` | `@AIWG-factory.md` | | OpenCode | `.opencode/context.md` | `@AIWG-opencode.md` | | Codex | `CODEX.md` | `` | ## Output Format ``` AIWG Hook Status ──────────────────────────────────────── claude ✓ enabled (@AIWG.md in CLAUDE.md, 312 lines) warp ✓ enabled (@AIWG-warp.md in WARP.md) copilot ✗ disabled (AIWG-copilot.md exists but no directive) windsurf - not found (AGENTS.md not present) cursor - not found (.cursorrules not present) factory ✗ disabled (AIWG-factory.md missing — run: aiwg hook-regenerate --provider factory) opencode - not found (.opencode/context.md not present) codex - not found (CODEX.md not present) Summary: 2 enabled, 2 disabled, 4 not found Tip: Run `aiwg hook-enable` to enable all disabled hooks. ``` ## Status Key | Symbol | Meaning | |--------|---------| | `✓ enabled` | Hook directive present in context file and hook file exists | | `✗ disabled` | Context file present but hook directive absent | | `⚠ enabled (hook file missing)` | Directive present but hook file doesn't exist on disk | | `- not found` | Context file not present (provider not installed/configured) | ## Verbose Output With `--verbose`, include hook file details: ``` claude ✓ enabled Context file: CLAUDE.md (14 lines) Hook file: AIWG.md (312 lines, 14.2KB) Generated: 2026-03-22 (from: sdlc-complete, aiwg-utils) Frameworks: sdlc-complete v2.1.0, aiwg-utils v1.5.0 ``` ## Workflow 1. For each of the 8 providers, check context file existence 2. If context file exists, grep for hook directive 3. If directive found, check hook file existence 4. Format output with status symbols 5. Print summary line with counts 6. Print actionable tip if any hooks are disabled or missing ## Examples ```bash # Check all providers /hook-status # Check only Claude Code /hook-status --provider claude # Verbose with hook file details /hook-status --verbose ``` ## Related Commands - `/hook-enable` — Enable AIWG hook - `/hook-disable` — Disable AIWG hook - `/hook-regenerate` — Rebuild hook files from installed manifests ## References - #439 — AIWG.md hook file architecture - #440 — hook-enable/hook-disable (this command is part of that issue)