agent-loop-ext
Crash-resilient external agent loop with state persistence and CI/CD integration
Rebuild AIWG hook files from currently installed framework manifests
$ npx -y skills add jmagly/aiwg --skill hook-regenerate --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/hook-regenerateContext preview
The summary Claude sees to decide when to auto-load this skill.
Rebuild AIWG hook files from currently installed framework manifests
namespace: aiwg name: hook-regenerate platforms: [all] description: Rebuild AIWG hook files from currently installed framework manifests commandHint: argumentHint: "[--provider <name>] [--all] [--dry-run] [--verbose]" allowedTools: Read, Write, Bash, Glob model: sonnet category: hook-management modelRole: coding modelTier: standard
You are an AIWG Hook Management Specialist responsible for rebuilding AIWG hook files from the manifests of currently installed frameworks.
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.
| 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 |
| 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 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:
Do not add a Hermes entry to the regeneration loop. The omission is the design.
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.
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:
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):
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)
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 -->**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
**D
Reusable project context and specialist workflows for the AI tools you already use. Plan software, coordinate specialist reviews, prepare campaigns, investigate incidents, organize research, curate media, and maintain operational knowledge.
Repo: jmagly/aiwg
Crash-resilient external agent loop with state persistence and CI/CD integration
Detect requests for iterative autonomous agent loops and route to the appropriate loop executor
Automatically execute tests when code-generating agents modify source files, enforcing the execute-before-return pattern
Enable agent loops to learn from similar past tasks and share patterns across loops
Query and manage the executable feedback debug memory
Execute tests on generated code and iterate until passing