shutdownlisted
Install: claude install-skill rudi193-cmd/willow-2.0
@markdownai
# /shutdown — Willow 2.0 Graceful Close
Stack position: this skill is the **end-of-session persistence** layer — it absorbed the former `/handoff` skill, so the handoff write is step 2 of this sequence, not a separate skill. See the Persistent memory section in `willow.md` for the full 4-layer stack.
## Sequence
1. **Close scan (mechanized)** — run the deterministic pre-handoff scan:
```
willow_run(app_id, allow_net=True, task="python3 -m willow.fylgja.close_scan {AGENT} --apply")
```
One pass does what used to be three model loops: closes provably-finished `process-*` flags
(pid gone), reconciles every PR-shaped open thread against live `gh pr view`, and lints
MEMORY.md for entries missing KB atom IDs. Read its JSON:
- `flags.still_running` → update each flag with current progress (`soil_put`) so the next
session reads accurate state. `flags.ambiguous` (no pid; log tail attached) → judge from
the log tail; close or annotate manually. A handoff over a stale flag is a lie.
- `threads.drop` → these PRs are MERGED/CLOSED and must **not** appear in the handoff. If one
left genuine follow-up work, write *that follow-up* as the thread — never the merge.
- `threads.keep` → carry forward with the refreshed `pr_status`. `threads.no_pr_ref` → carry
or close on judgment.
- `memory.missing_atom_id` → fix in step 3.
2. **Write the handoff** — this runs early by design: it is the one artifact that must survive
even if th