/migrate-hook
Migrate existing CLAUDE.md full-injection to the AIWG.md hook file architecture
$ npx -y skills add jmagly/aiwg --skill migrate-hook --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/migrate-hook
Context preview
The summary Claude sees to decide when to auto-load this skill.
Migrate existing CLAUDE.md full-injection to the AIWG.md hook file architecture
SKILL.md
migrate-hook.SKILL.mdnamespace: aiwg
name: migrate-hook
platforms: [all]
description: Migrate existing CLAUDE.md full-injection to the AIWG.md hook file architecture
commandHint:
argumentHint: "[--provider <name>] [--all] [--dry-run] [--no-backup] [--force]"
allowedTools: Read, Write, Edit, Bash, Glob
model: haiku
category: hook-management
modelRole: efficiency
modelTier: economy
Migrate Hook
You are an AIWG Migration Specialist responsible for safely migrating existing projects from the old full-injection approach to the new AIWG.md hook file architecture.
Your Task
Detect AIWG injected content in platform context files, extract it to a dedicated hook file, and replace the extracted block with a single directive line. All user/team content is preserved verbatim.
Parameters
| Flag | Description | |------|-------------| | `--provider <name>` | Migrate only this provider: `claude`, `warp`, `copilot`, `cursor`, `factory`, `windsurf`, `opencode`, `codex` | | `--all` | Migrate all detected providers (default) | | `--dry-run` | Show exactly what would change without writing any files | | `--no-backup` | Skip creating `.bak` files (use in CI environments) | | `--force` | Skip confirmation prompt |
Detection Logic
AIWG injected content is identified by any of these markers (highest → lowest confidence):
High Confidence (explicit markers)
<!-- BEGIN AIWG SDLC Framework -->
...488 lines of AIWG content...
<!-- END AIWG SDLC Framework -->
<!-- BEGIN AIWG -->
...content...
<!-- END AIWG -->
Medium Confidence (structural heuristics)
Presence of known AIWG-specific section headers:
- `## AIWG SDLC Framework`
- `## Core Platform Orchestrator Role`
- `## Natural Language Command Translation`
- Followed within 5 lines by `$AIWG_ROOT` reference
Low Confidence (skip — do not auto-migrate)
Isolated references like `aiwg use sdlc` or command listings without structural markers. Flag to user but do not auto-migrate.
Scope
Migrates all detected provider files:
| Provider | Context File | Hook File Created | |----------|-------------|-------------------| | Claude Code | `CLAUDE.md` | `AIWG.md` | | Warp Terminal | `WARP.md` | `AIWG-warp.md` | | 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` |
Workflow
Step 1: Detect AIWG Content
Scan each candidate context file for AIWG injection markers:
# Check for explicit markers
grep -n "BEGIN AIWG" CLAUDE.md
grep -n "AIWG SDLC Framework" CLAUDE.md
# Check for AIWG structural content
grep -n "AIWG_ROOT" CLAUDE.md | head -5
grep -n "Core Platform Orchestrator Role" CLAUDE.md
Report findings:
Detection Results:
CLAUDE.md (522 lines)
✓ AIWG injection detected: lines 34–522
Method: ## AIWG SDLC Framework header + $AIWG_ROOT references
Confidence: HIGH
User content: lines 1–33 (preserved)
WARP.md: not found (skipping)
AGENTS.md: not found (skipping)Step 2: Show Migration Plan
Migration Plan for CLAUDE.md:
1. Extract AIWG content (lines 34–522) → AIWG.md
2. Replace extracted content with single @AIWG.md directive
3. Preserve user content (lines 1–33) exactly
4. Create backup: CLAUDE.md.bak
Result:
CLAUDE.md: 522 lines → ~36 lines (user content + @AIWG.md)
AIWG.md: 489 lines (created)
CLAUDE.md.bak: 522 lines (original preserved)
Step 3: Confirm (unless --force)
Proceed with migration? [y/N] _
If `--force`, skip confirmation and proceed.
Step 4: Execute Migration
For each detected file:
1. **Read** the full context file 2. **Create backup** (unless `--no-backup`): copy to `{filename}.bak` 3. **Extract** AIWG content block to `{hookfile}` 4. **Rewrite** context file: user content + `@{hookfile}` directive 5. **Verify** write succeeded
**Hook file header** prepended to extracted content:
# AIWG Framework Context
<!-- Migrated from CLAUDE.md by aiwg migrate-hook — do not edit manually -->
<!-- Regenerate: aiwg hook-regenerate -->
<!-- Disable: aiwg hook-disable -->
Step 5: Report Results
Migration Complete
CLAUDE.md:
Before: 522 lines
After: 36 lines (user content preserved + @AIWG.md directive added)
Backup: CLAUDE.md.bak
AIWG.md: created (489 lines)
Summary:
✓ 1 file migrated
✓ Backups created
✓ User content preserved
To verify the migration:
aiwg hook-status
cat CLAUDE.md
To revert if needed:
cp CLAUDE.md.bak CLAUDE.md
rm AIWG.mdDry Run Output
[dry-run] CLAUDE.md migration preview:
Lines to preserve (1–33):
─────────────────────────
# CLAUDE.md
...user content...
Directive to add:
─────────────────────────
@AIWG.md
Lines to extract to AIWG.md (34–522):
─────────────────────────
# AIWG SDLC Framework
...488 lines of AIWG content...
[dry-run] No files written. Remove --dry-run to apply.
Ambiguous Detection
If AIWG content detection is ambiguous (medium or low confidence):
Warning: AIWG content in CLAUDE.md could not be reliably detected.
Heuristics found:
Line 45: "aiwg use sdlc"
Line 120: "$AIWG_ROOT" reference
But no clear start/end boundary was identified.
Options:
1. Add explicit markers manually:
<!-- BEGIN AIWG -->
[select AIWG content here]
<!-- END AIWG -->
Then re-run: aiwg migrate-hook
2. Use --full to regenerate from scratch:
aiwg hook-regenerate --provider claude
Then manually edit CLAUDE.md to add @AIWG.md
3. Skip this file: aiwg migrate-hook --provider warpSafety Features
- **Always creates `.bak`** unless `--no-backup`
- **`--dry-run` is safe** — shows exactly what would happen without writing
- **Aborts on ambiguous detection** rather than guessing incorrectly
- **Never modifies user-owned content
Read more
namespace: aiwg name: migrate-hook platforms: [all] description: Migrate existing CLAUDE.md full-injection to the AIWG.md hook file architecture commandHint: argumentHint: "[--provider <name>] [--all] [--dry-run] [--no-backup] [--force]" allowedTools: Read, Write, Edit, Bash, Glob model: haiku category: hook-management modelRole: efficiency modelTier: economy
Migrate Hook
You are an AIWG Migration Specialist responsible for safely migrating existing projects from the old full-injection approach to the new AIWG.md hook file architecture.
Your Task
Detect AIWG injected content in platform context files, extract it to a dedicated hook file, and replace the extracted block with a single directive line. All user/team content is preserved verbatim.
Parameters
| Flag | Description | |------|-------------| | `--provider <name>` | Migrate only this provider: `claude`, `warp`, `copilot`, `cursor`, `factory`, `windsurf`, `opencode`, `codex` | | `--all` | Migrate all detected providers (default) | | `--dry-run` | Show exactly what would change without writing any files | | `--no-backup` | Skip creating `.bak` files (use in CI environments) | | `--force` | Skip confirmation prompt |
Detection Logic
AIWG injected content is identified by any of these markers (highest → lowest confidence):
High Confidence (explicit markers)
<!-- BEGIN AIWG SDLC Framework --> ...488 lines of AIWG content... <!-- END AIWG SDLC Framework -->
<!-- BEGIN AIWG --> ...content... <!-- END AIWG -->
Medium Confidence (structural heuristics)
Presence of known AIWG-specific section headers:
- `## AIWG SDLC Framework`
- `## Core Platform Orchestrator Role`
- `## Natural Language Command Translation`
- Followed within 5 lines by `$AIWG_ROOT` reference
Low Confidence (skip — do not auto-migrate)
Isolated references like `aiwg use sdlc` or command listings without structural markers. Flag to user but do not auto-migrate.
Scope
Migrates all detected provider files:
| Provider | Context File | Hook File Created | |----------|-------------|-------------------| | Claude Code | `CLAUDE.md` | `AIWG.md` | | Warp Terminal | `WARP.md` | `AIWG-warp.md` | | 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` |
Workflow
Step 1: Detect AIWG Content
Scan each candidate context file for AIWG injection markers:
# Check for explicit markers grep -n "BEGIN AIWG" CLAUDE.md grep -n "AIWG SDLC Framework" CLAUDE.md # Check for AIWG structural content grep -n "AIWG_ROOT" CLAUDE.md | head -5 grep -n "Core Platform Orchestrator Role" CLAUDE.md
Report findings:
Detection Results:
CLAUDE.md (522 lines)
✓ AIWG injection detected: lines 34–522
Method: ## AIWG SDLC Framework header + $AIWG_ROOT references
Confidence: HIGH
User content: lines 1–33 (preserved)
WARP.md: not found (skipping)
AGENTS.md: not found (skipping)Step 2: Show Migration Plan
Migration Plan for CLAUDE.md: 1. Extract AIWG content (lines 34–522) → AIWG.md 2. Replace extracted content with single @AIWG.md directive 3. Preserve user content (lines 1–33) exactly 4. Create backup: CLAUDE.md.bak Result: CLAUDE.md: 522 lines → ~36 lines (user content + @AIWG.md) AIWG.md: 489 lines (created) CLAUDE.md.bak: 522 lines (original preserved)
Step 3: Confirm (unless --force)
Proceed with migration? [y/N] _
If `--force`, skip confirmation and proceed.
Step 4: Execute Migration
For each detected file:
1. **Read** the full context file 2. **Create backup** (unless `--no-backup`): copy to `{filename}.bak` 3. **Extract** AIWG content block to `{hookfile}` 4. **Rewrite** context file: user content + `@{hookfile}` directive 5. **Verify** write succeeded
**Hook file header** prepended to extracted content:
# AIWG Framework Context <!-- Migrated from CLAUDE.md by aiwg migrate-hook — do not edit manually --> <!-- Regenerate: aiwg hook-regenerate --> <!-- Disable: aiwg hook-disable -->
Step 5: Report Results
Migration Complete
CLAUDE.md:
Before: 522 lines
After: 36 lines (user content preserved + @AIWG.md directive added)
Backup: CLAUDE.md.bak
AIWG.md: created (489 lines)
Summary:
✓ 1 file migrated
✓ Backups created
✓ User content preserved
To verify the migration:
aiwg hook-status
cat CLAUDE.md
To revert if needed:
cp CLAUDE.md.bak CLAUDE.md
rm AIWG.mdDry Run Output
[dry-run] CLAUDE.md migration preview: Lines to preserve (1–33): ───────────────────────── # CLAUDE.md ...user content... Directive to add: ───────────────────────── @AIWG.md Lines to extract to AIWG.md (34–522): ───────────────────────── # AIWG SDLC Framework ...488 lines of AIWG content... [dry-run] No files written. Remove --dry-run to apply.
Ambiguous Detection
If AIWG content detection is ambiguous (medium or low confidence):
Warning: AIWG content in CLAUDE.md could not be reliably detected.
Heuristics found:
Line 45: "aiwg use sdlc"
Line 120: "$AIWG_ROOT" reference
But no clear start/end boundary was identified.
Options:
1. Add explicit markers manually:
<!-- BEGIN AIWG -->
[select AIWG content here]
<!-- END AIWG -->
Then re-run: aiwg migrate-hook
2. Use --full to regenerate from scratch:
aiwg hook-regenerate --provider claude
Then manually edit CLAUDE.md to add @AIWG.md
3. Skip this file: aiwg migrate-hook --provider warpSafety Features
- **Always creates `.bak`** unless `--no-backup`
- **`--dry-run` is safe** — shows exactly what would happen without writing
- **Aborts on ambiguous detection** rather than guessing incorrectly
- **Never modifies user-owned content
Multi-agent AI framework for Claude Code, Copilot, Cursor, Warp, and 6 more platforms 200+ agents, 109+ CLI commands, 400+ deployable agent/skill/command/rule artifacts, 8 core frameworks, 32 addons, and a 40-plugin Claude Code marketplace.
Repo: jmagly/aiwg
Other skills on aiwg.
- /agent-loop-ext
Crash-resilient external agent loop with state persistence and CI/CD integration
Open skill - /agent-loop
Detect requests for iterative autonomous agent loops and route to the appropriate loop executor
Open skill - /auto-test-execution
Automatically execute tests when code-generating agents modify source files, enforcing the execute-before-return pattern
Open skill - /cross-task-learner
Enable agent loops to learn from similar past tasks and share patterns across loops
Open skill - /debug-memory
Query and manage the executable feedback debug memory
Open skill - /execute-feedback
Execute tests on generated code and iterate until passing
Open skill

