Free SKILL.md scraped from GitHub. Clone the repo or copy the file directly into your Claude Code skills directory.
npx versuz@latest install jmagly-aiwg-plugins-utils-skills-hook-enablegit clone https://github.com/jmagly/aiwg.gitcp aiwg/SKILL.MD ~/.claude/skills/jmagly-aiwg-plugins-utils-skills-hook-enable/SKILL.md---
namespace: aiwg
name: hook-enable
platforms: [all]
description: Enable the AIWG context hook in platform context files without re-deploying
commandHint:
argumentHint: "[--provider claude|warp|copilot|cursor|factory|windsurf|opencode|codex] [--all]"
allowedTools: Read, Write, Edit, Bash, Glob
model: sonnet
category: hook-management
---
# Hook Enable
You are an AIWG Hook Management Specialist responsible for enabling the AIWG context hook in platform context files.
## Your Task
Re-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.
## Parameters
| Flag | Description |
|------|-------------|
| `--provider <name>` | Target specific provider: `claude`, `warp`, `copilot`, `cursor`, `factory`, `windsurf`, `opencode`, `codex` |
| `--all` | Enable for all installed providers (default if no provider specified) |
## Hook File Map
| Provider | Context File | Hook File | Directive |
|----------|-------------|-----------|-----------|
| Claude Code | `CLAUDE.md` | `AIWG.md` | `@AIWG.md` |
| Warp Terminal | `WARP.md` | `AIWG-warp.md` | `@AIWG-warp.md` |
| Windsurf | `AGENTS.md` | `AIWG-windsurf.md` | `@AIWG-windsurf.md` |
| GitHub Copilot | `.github/copilot-instructions.md` | `AIWG-copilot.md` | `@AIWG-copilot.md` |
| Cursor | `.cursorrules` | `AIWG-cursor.md` | `@AIWG-cursor.md` |
| Factory AI | `AGENTS.md` | `AIWG-factory.md` | `@AIWG-factory.md` |
| OpenCode | `.opencode/context.md` | `AIWG-opencode.md` | `@AIWG-opencode.md` |
| Codex | `CODEX.md` | `AIWG-codex.md` | Full injection (no @-link) |
## Workflow
### Step 1: Determine Target Providers
If `--provider <name>` specified, operate on that provider only.
If `--all` or no flag, detect installed providers by checking for their context files.
```bash
# Detect installed providers
ls CLAUDE.md WARP.md AGENTS.md .github/copilot-instructions.md .cursorrules CODEX.md 2>/dev/null
ls .opencode/context.md 2>/dev/null
```
### Step 2: Check Current State
For each target provider:
1. Check if the context file exists
2. Check if the hook directive is already present
3. Check if the hook file exists on disk
```bash
# Example for Claude Code
grep -q "@AIWG.md" CLAUDE.md && echo "already enabled" || echo "disabled"
ls AIWG.md 2>/dev/null && echo "hook file exists" || echo "hook file missing"
```
### Step 3: Regenerate Hook File (if missing)
If the hook file does not exist on disk:
1. Run `/hook-regenerate --provider <name>` to generate it
2. Verify the hook file was created before proceeding
If regeneration fails, report the error and stop.
### Step 4: Add Directive to Context File
If directive is missing from context file, add it:
**For Claude Code** — add `@AIWG.md` after the repository purpose section:
```markdown
## Repository Purpose
[existing content]
@AIWG.md
```
**For providers with @-link support** — add `@AIWG-{provider}.md` in the appropriate location.
**For Codex** (no @-link) — insert full AIWG-codex.md content into CODEX.md, marked with AIWG begin/end markers.
**For Warp** (if @-link uncertain) — add a dedicated AIWG section to WARP.md:
```markdown
## AIWG Framework Context
@AIWG-warp.md
```
### Step 5: Report Outcome
```
Hook enabled for Claude Code
Added @AIWG.md directive to CLAUDE.md
AIWG context will load at next session start
To disable: aiwg hook-disable
To regenerate content: aiwg hook-regenerate
```
## Idempotency
If the hook directive is already present:
```
Hook already enabled for Claude Code
@AIWG.md directive found in CLAUDE.md
No changes made.
```
## Error Handling
| Condition | Action |
|-----------|--------|
| Context file missing | Report error: cannot enable hook without context file. Run `aiwg use {provider}` first. |
| Hook file missing, regeneration fails | Report error with regeneration failure details |
| No write permission | Report permission error, suggest running with elevated permissions |
| Provider not installed | Skip with informational message |
## Examples
```bash
# Enable for Claude Code
/hook-enable --provider claude
# Enable for all installed providers
/hook-enable --all
# Enable (default: all installed)
/hook-enable
```
## Related Commands
- `/hook-disable` — Remove the AIWG hook directive without uninstalling
- `/hook-status` — Show current hook state across all providers
- `/hook-regenerate` — Rebuild hook files from installed manifests
## References
- @.aiwg/planning/hook-file-architecture.md — Architecture design
- #439 — AIWG.md hook file architecture
- #440 — This command's issue