/workspace-prune-working
Clean up .aiwg/working/ by promoting, archiving, or deleting temporary files
$ npx -y skills add jmagly/aiwg --skill workspace-prune-working --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/workspace-prune-working
Context preview
The summary Claude sees to decide when to auto-load this skill.
Clean up .aiwg/working/ by promoting, archiving, or deleting temporary files
SKILL.md
workspace-prune-working.SKILL.mdnamespace: aiwg
name: workspace-prune-working
platforms: [all]
description: Clean up .aiwg/working/ by promoting, archiving, or deleting temporary files
Workspace Prune Working
Clean up the `.aiwg/working/` directory by intelligently handling temporary files. Promotes valuable content to the main documentation structure, archives content worth preserving, and deletes truly temporary files.
Parameters
| Flag | Description | |------|-------------| | `project-directory` | Project root (default: `.`) | | `--promote-all` | Promote all promotable files without prompting | | `--archive-all` | Archive all archivable files without prompting | | `--delete-all` | Delete all deletable files without prompting | | `--dry-run` | Preview changes without modifying files | | `--interactive` | Prompt for each file decision | | `--force` | Skip confirmation prompts |
Purpose of .aiwg/working/
The `.aiwg/working/` directory is designated for:
- Multi-agent work-in-progress drafts
- Temporary scratch files during orchestration
- Review feedback before synthesis
- Iterative document versions
It is **NOT** a permanent storage location. Files here should eventually be:
- **Promoted** → Moved to appropriate `.aiwg/` subdirectory as finalized docs
- **Archived** → Preserved in `.aiwg/archive/` for historical reference
- **Deleted** → Removed when no longer useful
Execution Steps
Step 1: Scan Working Directory
Inventory all files in `.aiwg/working/`:
# List all files with metadata
find .aiwg/working -type f -exec stat -c '%Y %s %n' {} \; | sort -rn
# Count by subdirectory
find .aiwg/working -mindepth 1 -maxdepth 1 -type d | while read dir; do
echo "$(basename "$dir"): $(find "$dir" -type f | wc -l) files"
doneReport:
Working Directory Scan
======================
Total files: 23
Total size: 145 KB
By Category:
architecture/ 8 files (SAD drafts, reviews)
requirements/ 5 files (UC iterations)
testing/ 4 files (test plan drafts)
scratch/ 6 files (temporary notes)
Age Distribution:
< 1 day: 4 files
1-7 days: 8 files
> 7 days: 11 files
Step 2: Classify Files
Analyze each file to determine appropriate action:
**Classification Criteria:**
| Classification | Criteria | Action | |----------------|----------|--------| | PROMOTE | Final/reviewed version, high quality, no TODOs | Move to main .aiwg/ structure | | ARCHIVE | Useful history, superseded, completed work | Move to .aiwg/archive/ | | DELETE | Scratch notes, duplicates, empty, truly temp | Remove | | REVIEW | Unclear status, needs human decision | Flag for review |
**File Analysis Heuristics:**
def classify_file(filepath):
content = read_file(filepath)
filename = basename(filepath)
# Check for finalization markers
if "FINAL" in filename or "APPROVED" in filename:
return "PROMOTE"
if "BASELINED" in content or "Status: Approved" in content:
return "PROMOTE"
# Check for draft/WIP markers
if "DRAFT" in filename or "WIP" in filename:
if file_age_days(filepath) > 14:
return "ARCHIVE" # Old draft, archive for reference
return "REVIEW" # Recent draft, needs decision
# Check for review files
if "review" in filename.lower():
if "synthesized" in get_parent_files(filepath):
return "DELETE" # Reviews already synthesized
return "ARCHIVE" # Keep reviews for audit
# Check for scratch/temp patterns
if "scratch" in filepath or "temp" in filepath:
if file_age_days(filepath) > 3:
return "DELETE"
return "REVIEW"
# Check for versioned files
if re.match(r'v\d+\.\d+', filename):
if not is_latest_version(filepath):
return "ARCHIVE"
return "PROMOTE" # Latest version should be promoted
# Default: needs review
return "REVIEW"Report:
File Classification
===================
PROMOTE (4 files):
.aiwg/working/architecture/sad/v0.3-final.md
→ .aiwg/architecture/software-architecture-doc.md
Reason: Final version, approved status
.aiwg/working/requirements/uc-auth-approved.md
→ .aiwg/requirements/use-cases/uc-auth.md
Reason: Approved use case
.aiwg/working/testing/test-plan-baselined.md
→ .aiwg/testing/master-test-plan.md
Reason: Baselined marker found
.aiwg/working/architecture/adr-001-final.md
→ .aiwg/architecture/decisions/adr-001.md
Reason: Final ADR
ARCHIVE (6 files):
.aiwg/working/architecture/sad/v0.1-draft.md
→ .aiwg/archive/architecture/sad-v0.1-20251209.md
Reason: Superseded by v0.3
.aiwg/working/architecture/sad/reviews/security-review.md
→ .aiwg/archive/reviews/sad-security-review-20251209.md
Reason: Review already synthesized
.aiwg/working/architecture/sad/reviews/test-review.md
→ .aiwg/archive/reviews/sad-test-review-20251209.md
Reason: Review already synthesized
... (3 more)
DELETE (8 files):
.aiwg/working/scratch/notes.md
Reason: Scratch file, 12 days old
.aiwg/working/scratch/temp-analysis.md
Reason: Temp file prefix, empty content
.aiwg/working/architecture/sad/v0.2-draft.md
Reason: Intermediate draft, v0.3 exists
... (5 more)
REVIEW (5 files):
.aiwg/working/requirements/nfr-draft.md
Reason: Recent draft (3 days), unclear status
.aiwg/working/testing/integration-tests-wip.md
Reason: WIP marker, may be active work
... (3 more)Step 3: Determine Promotion Targets
Map working files to their correct permanent locations:
Promotion Mapping
=================
.aiwg/working/architecture/ → .aiwg/architecture/
sad/*.md → software-architecture-doc.md
adr-*.md → decisions/adr-*.md
diagrams/ → diagrams/
.aiwg/working/requirements/ → .aiwg/requirements/
uc-*.md → use-cases/
nfr-*.md → nfrs/
user-story-*.md → user-stories/
.aiwg/working
Read more
namespace: aiwg name: workspace-prune-working platforms: [all] description: Clean up .aiwg/working/ by promoting, archiving, or deleting temporary files
Workspace Prune Working
Clean up the `.aiwg/working/` directory by intelligently handling temporary files. Promotes valuable content to the main documentation structure, archives content worth preserving, and deletes truly temporary files.
Parameters
| Flag | Description | |------|-------------| | `project-directory` | Project root (default: `.`) | | `--promote-all` | Promote all promotable files without prompting | | `--archive-all` | Archive all archivable files without prompting | | `--delete-all` | Delete all deletable files without prompting | | `--dry-run` | Preview changes without modifying files | | `--interactive` | Prompt for each file decision | | `--force` | Skip confirmation prompts |
Purpose of .aiwg/working/
The `.aiwg/working/` directory is designated for:
- Multi-agent work-in-progress drafts
- Temporary scratch files during orchestration
- Review feedback before synthesis
- Iterative document versions
It is **NOT** a permanent storage location. Files here should eventually be:
- **Promoted** → Moved to appropriate `.aiwg/` subdirectory as finalized docs
- **Archived** → Preserved in `.aiwg/archive/` for historical reference
- **Deleted** → Removed when no longer useful
Execution Steps
Step 1: Scan Working Directory
Inventory all files in `.aiwg/working/`:
# List all files with metadata
find .aiwg/working -type f -exec stat -c '%Y %s %n' {} \; | sort -rn
# Count by subdirectory
find .aiwg/working -mindepth 1 -maxdepth 1 -type d | while read dir; do
echo "$(basename "$dir"): $(find "$dir" -type f | wc -l) files"
doneReport:
Working Directory Scan ====================== Total files: 23 Total size: 145 KB By Category: architecture/ 8 files (SAD drafts, reviews) requirements/ 5 files (UC iterations) testing/ 4 files (test plan drafts) scratch/ 6 files (temporary notes) Age Distribution: < 1 day: 4 files 1-7 days: 8 files > 7 days: 11 files
Step 2: Classify Files
Analyze each file to determine appropriate action:
**Classification Criteria:**
| Classification | Criteria | Action | |----------------|----------|--------| | PROMOTE | Final/reviewed version, high quality, no TODOs | Move to main .aiwg/ structure | | ARCHIVE | Useful history, superseded, completed work | Move to .aiwg/archive/ | | DELETE | Scratch notes, duplicates, empty, truly temp | Remove | | REVIEW | Unclear status, needs human decision | Flag for review |
**File Analysis Heuristics:**
def classify_file(filepath):
content = read_file(filepath)
filename = basename(filepath)
# Check for finalization markers
if "FINAL" in filename or "APPROVED" in filename:
return "PROMOTE"
if "BASELINED" in content or "Status: Approved" in content:
return "PROMOTE"
# Check for draft/WIP markers
if "DRAFT" in filename or "WIP" in filename:
if file_age_days(filepath) > 14:
return "ARCHIVE" # Old draft, archive for reference
return "REVIEW" # Recent draft, needs decision
# Check for review files
if "review" in filename.lower():
if "synthesized" in get_parent_files(filepath):
return "DELETE" # Reviews already synthesized
return "ARCHIVE" # Keep reviews for audit
# Check for scratch/temp patterns
if "scratch" in filepath or "temp" in filepath:
if file_age_days(filepath) > 3:
return "DELETE"
return "REVIEW"
# Check for versioned files
if re.match(r'v\d+\.\d+', filename):
if not is_latest_version(filepath):
return "ARCHIVE"
return "PROMOTE" # Latest version should be promoted
# Default: needs review
return "REVIEW"Report:
File Classification
===================
PROMOTE (4 files):
.aiwg/working/architecture/sad/v0.3-final.md
→ .aiwg/architecture/software-architecture-doc.md
Reason: Final version, approved status
.aiwg/working/requirements/uc-auth-approved.md
→ .aiwg/requirements/use-cases/uc-auth.md
Reason: Approved use case
.aiwg/working/testing/test-plan-baselined.md
→ .aiwg/testing/master-test-plan.md
Reason: Baselined marker found
.aiwg/working/architecture/adr-001-final.md
→ .aiwg/architecture/decisions/adr-001.md
Reason: Final ADR
ARCHIVE (6 files):
.aiwg/working/architecture/sad/v0.1-draft.md
→ .aiwg/archive/architecture/sad-v0.1-20251209.md
Reason: Superseded by v0.3
.aiwg/working/architecture/sad/reviews/security-review.md
→ .aiwg/archive/reviews/sad-security-review-20251209.md
Reason: Review already synthesized
.aiwg/working/architecture/sad/reviews/test-review.md
→ .aiwg/archive/reviews/sad-test-review-20251209.md
Reason: Review already synthesized
... (3 more)
DELETE (8 files):
.aiwg/working/scratch/notes.md
Reason: Scratch file, 12 days old
.aiwg/working/scratch/temp-analysis.md
Reason: Temp file prefix, empty content
.aiwg/working/architecture/sad/v0.2-draft.md
Reason: Intermediate draft, v0.3 exists
... (5 more)
REVIEW (5 files):
.aiwg/working/requirements/nfr-draft.md
Reason: Recent draft (3 days), unclear status
.aiwg/working/testing/integration-tests-wip.md
Reason: WIP marker, may be active work
... (3 more)Step 3: Determine Promotion Targets
Map working files to their correct permanent locations:
Promotion Mapping ================= .aiwg/working/architecture/ → .aiwg/architecture/ sad/*.md → software-architecture-doc.md adr-*.md → decisions/adr-*.md diagrams/ → diagrams/ .aiwg/working/requirements/ → .aiwg/requirements/ uc-*.md → use-cases/ nfr-*.md → nfrs/ user-story-*.md → user-stories/ .aiwg/working
Multi-agent AI framework for Claude Code, Copilot, Cursor, Warp, and 6 more platforms 200+ agents, 109+ CLI commands, 400+ deployable agent/skill/command/rule artifacts, 8 core frameworks, 32 addons, and a 40-plugin Claude Code marketplace.
Repo: jmagly/aiwg
Other skills on aiwg.
- /agent-loop-ext
Crash-resilient external agent loop with state persistence and CI/CD integration
Open skill - /agent-loop
Detect requests for iterative autonomous agent loops and route to the appropriate loop executor
Open skill - /auto-test-execution
Automatically execute tests when code-generating agents modify source files, enforcing the execute-before-return pattern
Open skill - /cross-task-learner
Enable agent loops to learn from similar past tasks and share patterns across loops
Open skill - /debug-memory
Query and manage the executable feedback debug memory
Open skill - /execute-feedback
Execute tests on generated code and iterate until passing
Open skill

