hook-regenerate
Rebuild AIWG hook files from currently installed framework manifests
What this skill does
# 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:
```json
{
"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`:
```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**:
```markdown
# 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
```bash
# 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)
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.