# Pickup

> Resume a previous conversation from a /handoff file. Trigger with /pickup [topic or project string], or when the user asks to pick up where they left off, resume earlier work, or continue from a handoff. Omit the argument to list all handoffs.

- Skill: `davemaynard/pickup` (Agent Skill)
- Install (CLI): `npx skillmds@latest add davemaynard/pickup`
- Raw SKILL.md: https://api.skillmd.com/api/skills/davemaynard/pickup/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: davemaynard (https://skillmd.com/u/davemaynard)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/davemaynard/pickup

---


# /pickup — resume from a handoff

Search string (optional): $ARGUMENTS

Find the matching **handoff file** in the store (`$HANDOFF_DIR` if set, otherwise
`~/.claude/handoffs`, the same location `/handoff` writes to), load it, and continue the work as if
the break never happened. Handoffs from many projects live side by side, so match carefully.

## Steps

1. **List the store, newest first:**
   ```bash
   STORE="${HANDOFF_DIR:-$HOME/.claude/handoffs}"
   ls -t "$STORE"/*.md 2>/dev/null
   ```
   If the directory is empty or missing, tell the user there are no handoffs yet (they create one
   with `/handoff`) and stop.

2. **Select the file:**
   - **No `$ARGUMENTS`:** show the available handoffs (slug + date, newest first) and ask which to resume. Stop and wait.
   - **With `$ARGUMENTS`:** case-insensitively match the string against the **filenames**:
     ```bash
     ls -t "$STORE"/*.md 2>/dev/null | grep -i -- "<string>"
     ```
     - **1 match:** use it.
     - **Several matches:** use the **most recent** (top of the `-t` list), but list the others by
       name so the user can redirect you if you guessed wrong.
     - **0 matches:** say so, show all available handoffs, and ask. Stop and wait.

3. **Read** the selected file in full with the Read tool.

4. **Re-verify before acting** — handoffs reflect a past moment. Confirm referenced files still
   exist, and check whether any noted dev server / process is still running (e.g. `curl` the URL,
   `lsof -ti:PORT`) before assuming the environment is as described. Flag anything that drifted.

5. **Recap, then continue.** Give the user a tight recap: the title, current state in one or two
   lines, and the immediate next step from the file's "Next steps." Then **pick up that next step** —
   don't wait for permission unless the next step is a decision that's genuinely theirs.

## Rules

- Match on **filename/slug**, not file contents — slugs are designed for this.
- Prefer the **most recent** match when ambiguous; surface the alternatives rather than silently choosing.
- If the handoff's environment notes are stale (server down, file moved), **say so plainly** and
  adapt rather than acting on outdated assumptions.
- Keep the recap short — the user wrote the handoff (or you did); they need the launchpad, not a re-read.

