From flintflow
Resume work from a handoff file written by /handoff. Read .claude/handoff.md, orient to project state, verify current conditions, and continue where the previous session left off. Use when user says "catchup", "continue from handoff", "read the handoff", "load handoff", or invokes /catchup.
How this skill is triggered — by the user, by Claude, or both
Slash command
/flintflow:catchupThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Read a handoff file, verify current state against it, and continue working.
Read a handoff file, verify current state against it, and continue working.
The "receive" side of the handoff/catchup pair — /handoff writes, /catchup reads.
.claude/handoff.md.claude/handoff-<arg>.md
ls -la .claude/handoff*.md 2>/dev/null/vault-catch-up instead or ask user for contextBefore launching the subagent, check the handoff file's age:
stat -c %Y .claude/handoff.md 2>/dev/null
Calculate days since last modified. Include the age in the subagent prompt so it appears in the briefing. Thresholds:
The read-and-digest phase runs inside an Explore subagent to keep raw file contents out of the main conversation context.
Launch an Explore agent with a prompt built from this template (fill in the
<placeholders> before sending):
Read the handoff file at <resolved-path>. The file is <N> days old.
Extract: frontmatter (created, project, branch) and all body sections. If the file is missing expected sections (Completed, Current State, Next Steps) or appears truncated/corrupted, note what's missing and work with what's there.
Also read PROJECT_STATE.md if it exists. Extract:
If PROJECT_STATE.md doesn't exist, note "No PROJECT_STATE.md found" and continue with handoff data only.
Also check VERIFICATION.md if it exists. Note:
Verify git state:
git branch --show-current 2>/dev/nullgit status --short 2>/dev/nullgit log --oneline -5 2>/dev/nullCompare to the handoff. Flag drift (branch mismatch, new commits, unexpected uncommitted changes). If not in a git repo, note that and skip.
Read each file from the "Relevant Files" section. Don't dump contents — just confirm each file exists, note if anything looks different from the handoff's description.
Return this briefing and nothing else:
**Project:** <name>
**Handoff written:** <timestamp> (<N days ago>)
**Branch:** <recorded> → **Current:** <actual>
**Drift:** <mismatches, or "None">
**Completed:** <bullet list from handoff>
**Current state:** <from handoff + drift observations>
**Data state:** <from handoff Data State section + PROJECT_STATE.md Data Accuracy table>
- Verified categories: <list>
- Failing categories: <list with issue summaries>
- Verification coverage: <X tests defined, Y have real values, Z are FILL_IN>
(If no database/data component, say "N/A — no database in this project")
**Open decisions:** <from handoff, or "None">
**Traps:** <from handoff, or "None">
**Files verified:** <each file, exists/missing/changed>
**Next steps:**
1. <from handoff>
2. ...
If the handoff is older than 3 days, add a warning line after the timestamp: "This handoff is stale. Git state and file contents may have diverged significantly."
The main conversation receives only this clean briefing.
Show the subagent's briefing under a ## Catchup Briefing header.
Priority callouts (show prominently if present):
After presenting the briefing, ask the user to confirm before starting work:
Ready to start on [Next Step #1], or want to adjust the plan?
If data failures were flagged, suggest:
⚠️ There are failing data verification tests. Want to fix those first, or proceed with the planned next steps?
Once work begins, mention briefly:
The handoff file is still on disk. It'll be overwritten on the next
/handoff, or you can delete it manually.
Do not auto-delete the handoff file.
npx claudepluginhub spencer-life/flintflow --plugin flintflowLoads, validates, and resumes handoff documents from .hatch3r/handoffs/active/ with schema, integrity, expiry, and git_ref drift checks before surfacing content as user-tier context.
Reads a CONTINUE_HERE.md continuation file at session start and resumes from where a prior session left off, detecting freshness, parsing structured handoff, and cleaning up after consumption.
Restores context, todos, and work state from a previous session that hit the context threshold. Reads handoff files to continue work seamlessly.