tidy-scratchlisted
Install: claude install-skill shck-dev/ccx-context-system
# Tidy scratch — date-aware GC for the scratch notebook
A **read → propose → execute** sweep. This is the *only* ccx skill that proposes destructive
actions; save-state stays a pure read-only dashboard. The sweep is **dry-run by default** — it
prints a plan and touches nothing until you confirm. If the scratch dir is not version-controlled
(the usual setup), a delete is **permanent**. When in doubt: archive (move), don't delete.
## Live data (injected at load)
**Project + config:**
!`bun "${CLAUDE_PLUGIN_ROOT}/scripts/where.ts"`
**Now:** !`date "+%Y-%m-%d %H:%M %Z"`
**Folder scan — date-aware, stalest first** (newest-file age per folder; `STATE=NO` = no handoff doc):
!`bun "${CLAUDE_PLUGIN_ROOT}/scripts/scan.ts"`
**Open PRs (a matching open PR keeps a thread alive):**
!`gh pr list --limit 30 2>/dev/null || echo "(gh unavailable / not a GitHub repo)"`
## Then do this
1. **Classify** every folder from the scan. With `ticket_system: none` there is **no external
"closed" oracle** — only age + PR signals exist, so stay patient and conservative. `age` = the
scan's `age_days`; thresholds are *defaults you may adjust per item* when presenting the plan:
- **KEEP (active)** — `age < 3` (protects an active spike), OR an open PR that matches the
thread's topic/branch.
- **ARCHIVE (likely done)** — has a STATE doc AND `age > 30` AND no open PR. (Longer threshold
than a ticket-oracle setup would use: age alone must be more patient.)
- **DELETE (throwaway)**