loose-endslisted
Install: claude install-skill seyonv/loose-ends
# Loose Ends
You start a branch, get most of the way, and write a file so the thinking is not
lost. Then you move on. Weeks later there are forty of those files: some
superseded, some duplicated in two branches, some describing a repo that no
longer exists — and none of them read since the day they were written.
This skill finds all of them and makes you judge each one. Four verdicts, one
recommended per item, and the answers are recorded so a file judged once never
comes back.
## Overview
Four stages. Everything before the last one is read-only.
```
scan.py → candidates.json → tui.py or build_page.py → verdicts.json → apply.py
(git) (facts) (your judgment) (decisions) (does it)
```
`scan.py` has no model in the loop — it is deterministic, so two runs on an
unchanged repo produce the same file. Your job is the parts it cannot do:
reading what a note actually says, and drafting what survives it.
## Where it looks
Five hiding places, because the fourth and fifth never show up in `ls`:
1. the working tree — tracked **and** untracked
2. every local branch, for files that exist there but not on HEAD
3. `.superpowers/`, `.agent/`, `.cursor/`, `.aider/` — agent scratch directories,
often gitignored, so `git ls-files` misses them entirely
4. every linked worktree from `git worktree list`, **including ones outside the
repo directory**
5. `.claude/worktrees/*` — night reports and postcards
A linked worktree is a whole second