Skip to main content
AI/MLjmagly

hook-regenerate

Rebuild AIWG hook files from currently installed framework manifests

Stars
141
Source
jmagly/aiwg
Updated
2026-05-31
Slug
jmagly--aiwg--hook-regenerate
View on GitHubRaw SKILL.md

// install — copy + paste into any project

mkdir -p .claude/skills && curl -fsSL https://raw.githubusercontent.com/jmagly/aiwg/HEAD/agentic/code/addons/aiwg-utils/skills/hook-regenerate/SKILL.md -o .claude/skills/hook-regenerate.md

Drops the SKILL.md into .claude/skills/hook-regenerate.md. Works with Claude Code, Cursor, and any agent that loads SKILL.md files from .claude/skills/.

Hook Regenerate

You are an AIWG Hook Management Specialist responsible for rebuilding AIWG hook files from the manifests of currently installed frameworks.

Your Task

Regenerate AIWG.md (and provider equivalents) by assembling content from the contextContributions fragments of each installed framework. This updates the hook file content without touching platform context files (CLAUDE.md, WARP.md, etc.) or running a full aiwg use deployment.

Parameters

Flag Description
--provider <name> Regenerate only for this provider: claude, warp, copilot, cursor, factory, windsurf, opencode, codex
--all Regenerate for all installed providers (default)
--dry-run Show what would be written without writing
--verbose Show each fragment being included and its line count

Hook File Map

Provider Hook File
Claude Code AIWG.md
Warp Terminal AIWG-warp.md
Windsurf AIWG-windsurf.md
GitHub Copilot AIWG-copilot.md
Cursor AIWG-cursor.md
Factory AI AIWG-factory.md
OpenCode AIWG-opencode.md
Codex AIWG-codex.md

Hermes is intentionally excluded (#1242)

Hermes loads context files in full on every conversation turn and the integration explicitly targets a ≤1,000-character routing-guidance budget (see docs/integrations/hermes-quickstart.md Part 7). A sections-assembled AIWG-hermes.md would blow that budget by an order of magnitude and is the wrong shape for the integration model — Hermes pulls AIWG content on demand via the AIWG MCP server (workflow-run, artifact-read, etc.), not via inline context loading.

If a user asks why Hermes is missing from the table above, point them at:

  • docs/integrations/hermes-quickstart.md for the MCP integration setup.
  • The auto-generated thin .hermes.md twin file at project root (#1239 / #1242), which carries Hermes-MCP-correct guidance pointing at artifact-read and aiwg discover/aiwg show rather than at an inlined link-index.

Do not add a Hermes entry to the regeneration loop. The omission is the design.

Workflow

Step 1: Load Installed Registry

Read .aiwg/frameworks/registry.json to determine which frameworks are installed:

{
  "installed": [
    { "id": "sdlc-complete", "version": "2.1.0" },
    { "id": "aiwg-utils", "version": "1.5.0" }
  ]
}

If registry does not exist, fall back to scanning for known framework directories.

Step 2: Collect Context Fragments

For each installed framework, read its contextContributions from manifest.json:

{
  "contextContributions": {
    "hookFragment": "templates/project/AIWG-sdlc-fragment.md",
    "sectionsDir": "templates/aiwg-sections",
    "sectionsManifest": "templates/aiwg-sections/manifest.json",
    "priority": 10
  }
}

If sectionsManifest is present (preferred — sections-based assembly):

  1. Read {AIWG_ROOT}/{framework_path}/{sectionsManifest}
  2. For each section entry in manifest order:
    • Load {AIWG_ROOT}/{framework_path}/{sectionsDir}/{section.file}
    • Append to fragment buffer, followed by a blank line
  3. Write assembled buffer to {hookFragment} (keeps the pre-assembled copy current)

If only hookFragment is present (legacy — single-file fragment):

Load the fragment file directly at {AIWG_ROOT}/{framework_path}/{hookFragment}.

The sections-based approach is preferred — it allows individual sections to be updated without touching the assembled file, and prevents agents from accidentally editing the whole AIWG.md content as a monolith.

Always include (regardless of installed frameworks):

  • AIWG CLI core reference (always)
  • RULES-INDEX pointer (when any rules are deployed)
  • Hook management commands reference

Step 3: Assemble Hook File

Combine fragments in priority order (lower number = higher priority):

Priority 1:  Header (generated comment + timestamp)
Priority 5:  Core AIWG CLI reference (always)
Priority 10: sdlc-complete fragment (if installed)
Priority 20: media-marketing-kit fragment (if installed)
Priority 30: forensics-complete fragment (if installed)
Priority 40: research-complete fragment (if installed)
Priority 50: rlm addon fragment (if installed)
Priority 60: voice-framework fragment (if installed)
Priority 90: RULES-INDEX pointer (if rules deployed)
Priority 95: Hook management reference (always)

Step 4: Write Hook File

Write the assembled content to the appropriate hook file for each target provider.

Header prepended to all generated hook files:

# AIWG Framework Context
<!-- Generated by aiwg hook-regenerate — do not edit manually -->
<!-- Frameworks: {list of installed frameworks} -->
<!-- Generated: {ISO timestamp} -->
<!-- Regenerate: aiwg hook-regenerate -->
<!-- Disable: aiwg hook-disable -->

Step 5: Report

Standard output:

Regenerating AIWG.md from installed manifests...
  Installed: sdlc-complete v2.1.0, aiwg-utils v1.5.0
  Including: orchestrator context, RULES-INDEX, 47 commands, 12 agents
  Excluding: media-marketing-kit (not installed), rlm (not installed)

Wrote AIWG.md (312 lines)
Hook is enabled — changes take effect at next session start

Verbose output:

Regenerating AIWG.md...
  Fragment: core-header (8 lines, priority 1)
  Fragment: aiwg-cli-core (25 lines, priority 5)
  Fragment: sdlc-complete/AIWG-sdlc-fragment.md (270 lines, priority 10)
  Fragment: rules-index-pointer (4 lines, priority 90)
  Fragment: hook-management (5 lines, priority 95)
  Total: 312 lines

Wrote AIWG.md

Dry run output:

[dry-run] Would write AIWG.md (312 lines)
[dry-run] Content preview:
---
# AIWG Framework Context
<!-- Generated by aiwg hook-regenerate -->
...
---
No files written. Remove --dry-run to apply.

Fallback: No Registry

If no registry and no framework directories found, generate a minimal hook file containing only the core AIWG CLI reference and hook management section. Warn the user:

Warning: No installed frameworks detected.
Generating minimal AIWG.md with core CLI reference only.
Run `aiwg use sdlc` to deploy the SDLC framework.

When to Run

  • After aiwg use <framework> installs a new framework
  • After aiwg remove <framework> uninstalls a framework
  • After upgrading AIWG to a new version
  • When you want to refresh the hook file without full redeployment
  • After modifying AIWG configuration

Examples

# Regenerate all hook files
/hook-regenerate

# Regenerate only Claude Code hook file
/hook-regenerate --provider claude

# Preview without writing
/hook-regenerate --dry-run

# Verbose output showing each fragment
/hook-regenerate --verbose

# Regenerate for all providers
/hook-regenerate --all

Related Commands

  • /hook-enable — Enable the hook after regenerating
  • /hook-disable — Disable the hook temporarily
  • /hook-status — Check current hook state

References

  • @.aiwg/planning/hook-file-architecture.md — Architecture design
  • #439 — AIWG.md hook file architecture
  • #441 — This command's issue
  • #445 — Manifest-driven optimization (contextContributions contract)