agent-loop-ext
Crash-resilient external agent loop with state persistence and CI/CD integration
Wipe .aiwg/ directory and optionally restart with fresh intake
$ npx -y skills add jmagly/aiwg --skill workspace-reset --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/workspace-resetContext preview
The summary Claude sees to decide when to auto-load this skill.
Wipe .aiwg/ directory and optionally restart with fresh intake
namespace: aiwg name: workspace-reset platforms: [all] description: Wipe .aiwg/ directory and optionally restart with fresh intake
<!-- AIWG-SKILL-CALLOUT --> > **Skill access pattern (post-kernel-pivot, 2026.5+)** > > Skill names referenced in this document are AIWG skills, **not slash commands**. Most are not kernel-listed and cannot be invoked as `/skill-name` by the platform. Reach them via: > > ```bash > aiwg discover "<capability>" > aiwg show skill <name> > ``` > > Only kernel-listed skills (`aiwg-doctor`, `aiwg-refresh`, `aiwg-status`, `aiwg-help`, `use`, `steward`) are directly invokable as slash commands. See [skill-discovery rule](../../../addons/aiwg-utils/rules/skill-discovery.md).
Completely wipe the `.aiwg/` directory to start fresh. Optionally backs up existing content and can reinitialize with fresh intake templates.
| Flag | Description | |------|-------------| | `project-directory` | Project root (default: `.`) | | `--backup` | Create timestamped backup before wiping | | `--keep-intake` | Preserve `.aiwg/intake/` directory | | `--keep-team` | Preserve `.aiwg/team/` directory (team profile, assignments) | | `--reinitialize` | Run intake wizard after reset | | `--force` | Skip confirmation prompts | | `--dry-run` | Preview what would be deleted |
1. **Project Pivot** - Requirements changed significantly, need fresh start 2. **Framework Upgrade** - Clean slate for new AIWG version 3. **Corrupted State** - Artifacts became inconsistent 4. **Learning Project** - Experimented, ready to start properly 5. **Handoff Cleanup** - Removing trial work before official start
Inventory what will be deleted:
# Count files by category echo "=== Workspace Contents ===" for dir in .aiwg/*/; do count=$(find "$dir" -type f 2>/dev/null | wc -l) size=$(du -sh "$dir" 2>/dev/null | cut -f1) echo "$(basename "$dir"): $count files ($size)" done
Report:
Workspace Reset Analysis ======================== Current .aiwg/ contents: intake/ 3 files (12 KB) requirements/ 15 files (45 KB) architecture/ 12 files (78 KB) planning/ 8 files (23 KB) risks/ 4 files (8 KB) testing/ 7 files (34 KB) security/ 5 files (15 KB) team/ 2 files (4 KB) working/ 9 files (28 KB) archive/ 14 files (56 KB) reports/ 6 files (19 KB) ───────────────────────────────── TOTAL: 85 files (322 KB) Git Status: Tracked: 45 files (committed) Untracked: 40 files (local only)
Unless `--force` is provided, require explicit confirmation:
╔════════════════════════════════════════════════════════════════╗ ║ ⚠️ DESTRUCTIVE OPERATION ⚠️ ║ ╠════════════════════════════════════════════════════════════════╣ ║ ║ ║ This will DELETE 85 files (322 KB) from .aiwg/ ║ ║ ║ ║ Including: ║ ║ - All requirements (15 files) ║ ║ - All architecture documents (12 files) ║ ║ - All planning artifacts (8 files) ║ ║ - All test documentation (7 files) ║ ║ - All security artifacts (5 files) ║ ║ - All archived content (14 files) ║ ║ - All reports (6 files) ║ ║ ║ ║ 45 files are committed to git and can be recovered. ║ ║ 40 files are NOT in git and will be PERMANENTLY LOST. ║ ║ ║ ╚════════════════════════════════════════════════════════════════╝ Options: --backup Create backup before deletion --keep-intake Preserve intake forms --keep-team Preserve team profile Type 'RESET' to confirm deletion: _
**If `--backup` flag:**
# Create timestamped backup backup_dir=".aiwg-backup-$(date +%Y%m%d-%H%M%S)" cp -r .aiwg "$backup_dir" # Create backup manifest cat > "$backup_dir/BACKUP_MANIFEST.md" <<EOF # .aiwg Backup **Created:** $(date -Iseconds) **Reason:** Workspace reset **Commit:** $(git rev-parse HEAD 2>/dev/null || echo "N/A") ## Contents $(find .aiwg -type f | wc -l) files backed up ## Restore Command \`\`\`bash rm -rf .aiwg && cp -r $backup_dir .aiwg \`\`\` EOF echo "Backup created: $backup_dir"
Report:
Backup Created ============== Location: .aiwg-backup-20251209-102345/ Files: 85 Size: 322 KB To restore: rm -rf .aiwg && cp -r .aiwg-backup-20251209-102345 .aiwg
**If `--keep-intake`:**
# Stash intake mv .aiwg/intake /tmp/aiwg-intake-preserve
**If `--keep-team`:**
# Stash team mv .aiwg/team /tmp/aiwg-team-preserve
# Remove .aiwg directory rm -rf .aiwg # Report echo "Removed: .aiwg/ (85 files, 322 KB)"
# Recreate .aiwg mkdir -p .aiwg # Restore intake if preserved if [ -d /tmp/aiwg-intake-preserve ]; then mv /tmp/aiwg-intake-preserve .aiwg/intake echo "Restored: .aiwg/intake/" fi # Restore team if preserved if [ -d /tmp/aiwg-team-preserve ]; then mv /tmp/aiwg-team-preserve .aiwg/team echo "Restored: .aiwg/team/" fi
**If `--reinitialize` flag:**
Create minimal structure and offer intake wizard:
# Create standard directories
mkdir -p .aiwg/{intake,requirements,architecture,planning,risks,testing,security,working,archive,reports}
# Create README
cat > .aiwg/README.md <<'EOF'
# AIWG WorkReusable 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