← ClaudeAtlas

tidy-scratchlisted

Use when the scratch notebook has accumulated stale or finished threads and needs cleaning — "tidy scratch", "garbage collect scratch", "prune old notes", "what can I delete", "archive done threads".
shck-dev/ccx-context-system · ★ 0 · AI & Automation · score 75
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)**