scratch-cleanup

Installation
SKILL.md

Scratch Cleanup

.scratch/ is an inbox, not an archive. Everything in it ends one of three ways: filed (research that belongs in docs/), removed (an effort whose work is all done), or kept (work still open, listed in the report). Nothing changes on disk until the user approves the plan.

The stale threshold is $ARGUMENTS days; 30 when empty.

1. Inventory

Read the tracker layout from .agents/issue-tracker.md (fallback docs/agents/issue-tracker.md, then setup/issue-tracker.md in this collection) and the status vocabulary from the matching triage-labels.md. Then walk .scratch/ and put every file in exactly one bucket:

  • Effort: a .scratch/<slug>/ directory holding a map, spec, decisions, tickets, or triage request files. Older efforts may use an issues/ folder instead of tickets/; treat it as tickets.
  • Research: findings files, by default under .scratch/research/, or any file whose body is a cited findings report ending in What this unblocks.
  • Unclassified: everything else (wizards, loose notes, questionnaires outside an effort). .DS_Store files are junk: they go in the plan as deletions with no question.

For every file, record whether git tracks it (git ls-files --error-unmatch <path>) and its last change date (git log -1 --format=%cs -- <path>, or the file mtime when untracked).

Done when every file under .scratch/ has a bucket, a tracked/untracked flag, and a date.

2. Judge each effort

Installs
12
GitHub Stars
4
First Seen
Sep 26, 2026