/workspace-prune-working
Clean up .aiwg/working/ by promoting, archiving, or deleting temporary files
Claude Code
$ npx -y skills add jmagly/aiwg --skill workspace-prune-working --agent claude-code
Codex
$ npx skills add jmagly/aiwg --skill workspace-prune-working -a codex -y
Cursor
$ npx skills add jmagly/aiwg --skill workspace-prune-working -a cursor -y
Gemini CLI
$ npx skills add jmagly/aiwg --skill workspace-prune-working -a gemini-cli -y
GitHub Copilot
$ npx skills add jmagly/aiwg --skill workspace-prune-working -a github-copilot -y
OpenCode
$ npx skills add jmagly/aiwg --skill workspace-prune-working -a opencode -y
Windsurf
$ npx skills add jmagly/aiwg --skill workspace-prune-working -a windsurf -y
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
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.
Other skills on aiwg.
More skills from other plugins.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
ask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Questions about workspace-prune-working.
- Which coding agents can use workspace-prune-working?
- workspace-prune-working installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

