agent-loop-ext
Crash-resilient external agent loop with state persistence and CI/CD integration
Capture, list, show, or replay point-in-time workflow snapshots so execution state can be preserved and reproduced
$ npx -y skills add jmagly/aiwg --skill snapshot --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/snapshotContext preview
The summary Claude sees to decide when to auto-load this skill.
Capture, list, show, or replay point-in-time workflow snapshots so execution state can be preserved and reproduced
namespace: aiwg name: snapshot platforms: [all] description: Capture, list, show, or replay point-in-time workflow snapshots so execution state can be preserved and reproduced
You capture, list, show, or replay point-in-time workflow snapshots so that any execution state can be preserved and reproduced exactly.
Alternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):
| Pattern | Example | Action | |---------|---------|--------| | Capture (named) | "snapshot this as baseline-v1" | Run `aiwg snapshot capture --name baseline-v1` | | Capture (anonymous) | "take a snapshot" | Run `aiwg snapshot capture` | | List | "what snapshots exist?" | Run `aiwg snapshot list` | | Show details | "show snapshot abc123" | Run `aiwg snapshot show abc123` | | Replay | "replay snapshot baseline-v1" | Run `aiwg snapshot replay baseline-v1` |
When triggered:
1. **Extract intent**:
2. **Run the appropriate subcommand**:
# Capture — anonymous aiwg snapshot capture # Capture — named aiwg snapshot capture --name <name> # List all snapshots aiwg snapshot list # Show details of a specific snapshot aiwg snapshot show <id> # Replay from a snapshot aiwg snapshot replay <id>
3. **Snapshot contents**: Each snapshot records:
4. **Storage**: Snapshots are stored in `.aiwg/snapshots/` as JSON files with a short content-addressed ID.
5. **Report the result** — on capture, confirm the snapshot ID and name; on list, summarize available snapshots; on replay, confirm what is being restored.
**User**: "Take a snapshot before we start the architecture phase — call it pre-arch"
**Extraction**: Capture subcommand, name `pre-arch`
**Action**:
aiwg snapshot capture --name pre-arch
**Response**: "Snapshot `pre-arch` captured (ID: `snap_a3f92d`). Recorded AIWG v2026.3.15, 2 frameworks, execution mode `strict`, seed 42, and checksums for 14 artifacts. Stored at `.aiwg/snapshots/snap_a3f92d.json`."
**User**: "What snapshots do we have?"
**Extraction**: List subcommand
**Action**:
aiwg snapshot list
**Response**:
ID Name Date AIWG Version snap_a3f92d pre-arch 2026-03-28 14:22:05 2026.3.15 snap_c71b4e post-sad 2026-03-29 09:11:42 2026.3.15 snap_00f813 (unnamed) 2026-03-30 16:05:17 2026.3.15
**User**: "What's in snapshot post-sad?"
**Extraction**: Show subcommand, ID/name `post-sad`
**Action**:
aiwg snapshot show post-sad
**Response**: "Snapshot `post-sad` (ID: `snap_c71b4e`) captured 2026-03-29 09:11:42. AIWG v2026.3.15, frameworks: sdlc-complete v2026.3.15, ring-methodology v2026.3.10. Execution mode: `strict`, seed: 42. 18 artifacts checksummed."
**User**: "Replay from pre-arch"
**Extraction**: Replay subcommand, name `pre-arch`
**Action**:
aiwg snapshot replay pre-arch
**Response**: "Restoring from snapshot `pre-arch` (snap_a3f92d). AIWG v2026.3.15 verified. Execution mode reset to `strict`, seed 42. Artifact state restored. Ready to re-run the workflow from this point."
If the user's intent is ambiguous:
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