# Recap

> Refresh anything stale from this session — a PR, a background agent, a running job — then give the user a short, plain-language status report — the session's goal, where things actually stand, and what's needed from them — plus a next-steps list split into mine/yours. Use when the user asks for a recap, says "catch me up" / "where did we leave off", or opens the session after being away with no context loaded. Read-only — never starts or continues work.

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

---


# Recap

The user just sat down and has no context loaded — they were asleep, in a meeting, or working
elsewhere. Give them a 30-60 second read that lets them decide what to do next, not a transcript of
the session.

## 1. Refresh (1-2 minutes, read-only)

Check whatever this session actually put in flight — skip categories that don't apply:

- **Background agents/subagents** — `ListAgents` for anything this session spawned; if one is
  still running, report it as in-progress, don't wait on it.
- **Background shell/workflow jobs** — `TaskOutput`/`Monitor` for anything started with
  `run_in_background` or `Workflow`.
- **Scheduled work** — `CronList` for a routine/loop this session created.
- **An open PR** — `gh pr view` / `gh pr checks` if this session opened or is waiting on one; pull
  the live CI/review state, don't rely on what the conversation last said.
- **Uncommitted work** — `git status` / `git diff` in every repo touched this session, so a "done"
  claim from earlier is checked against what's actually on disk.

This step only **reads** state. Do not fix a failing check, push a commit, merge a PR, or resume an
unfinished task while refreshing — recap's whole point is a truthful snapshot, and mixing in new
work defeats it, however small the fix looks.

## 2. Reconstruct the goal

State the goal in one line, in the user's terms, not implementation language. Pull it from the
conversation, plan/task state, or — if genuinely unclear — the diff and recent commits. Don't guess
and present it as fact if the evidence is thin; say it's unclear instead.

## 3. Report — short, plain, structured

Plain language, no jargon, skimmable in under a minute:

- **Goal** — one line.
- **Status** — 2-4 short lines max: done vs in-progress vs blocked, from the refreshed state in
  step 1, not stale assumptions from earlier in the conversation.
- **Needs from you** — only when something is genuinely blocked on the user. If there's a real
  decision to make, don't dump it as paragraphs: invoke **`clarify-request`** so it arrives as one
  clear question at a time with a recommended answer, instead of asking the user to read and parse
  it themselves. If nothing's needed, say so plainly — don't invent a question to fill the slot.
- **Next steps** — a short list, each line tagged `[You]` or `[Me]`, so the user can see at a glance
  what's on them versus what you'll pick up once they say go.

## Don't

- Don't start, resume, or fix anything during a recap — not even something small and obviously
  right. Report it and let the user decide; that decision belongs in step 3's "Needs from you" or a
  `[Me]` next step, not something to act on now.
- Don't re-explain things the user already knows from earlier in the session — recap is written for
  someone with zero loaded context, but stay terse: state the fact, skip the backstory.
- Don't pad the status with hedging or exhaustive detail. If the user wants more, they'll ask.

