Skip to content
Development
Skill

/workspace-prune-working

Clean up .aiwg/working/ by promoting, archiving, or deleting temporary files

From plugin
aiwg
176200 skills199 agents23 commands
Install
$ npx -y skills add jmagly/aiwg --skill workspace-prune-working --agent claude-code

How 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.md
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"
done

Report:

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
Ships withaiwg

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.

Get the whole plugin