pickup
Pickup
Resume the newest handoff in an isolated worktree, then load its context. Reuse the documented worktree/branch if it still exists; create a new one only when none is documented or it's gone. Orchestrates branch and session-resume — do not reimplement their internals.
Requires
branchandsession-resumefrom this collection (optionally/pm, see step 1 tip). Install alongside this skill.
Steps
-
Find the handoff. Use
session-resume's discovery (sharedhandoffs/dir, then legacy in-tree dirs). Prefer newest intentionalpause-*.md; fall back to a mechanicalauto-*.mdonly if none exists. Path arg → use it. Date/topic/slug arg → filter by it. No arg → newest intentional handoff. Multiple matches → list the 5 most recent and ask. None → say so, stop. Read the file. Tip: run/pmfirst for a picture of all in-flight lanes. -
WIP/worktree safety first. Run
git worktree listand read the shared journal ($(bash ~/.claude/coordination/resolve-coord-dir.sh)/journal.md; the in-treedocs/worktree-journal.mdis only a tombstone pointer). If another session has uncommitted WIP or an overlapping active worktree, surface it and pause. Never branch on top of another session's WIP. -
Resume-or-create. Check the handoff + journal for a documented branch/worktree (
Branch:/Worktree:line,## Parkedentry, or an "Active" journal entry):- Worktree present →
cdin, verifygit status/git branch, resume. No new branch. - Branch exists, worktree gone (parked on
origin/<branch>or local-only) → re-add:git worktree add ../<repo>-<slug> <branch>(or/branch <slug> --reuse). Resume on the existing branch. - Nothing documented, or both gone (shipped & pruned, or the handoff describes new work) → go to step 4.
Unsure which applies → state findings and ask.
- Worktree present →