Prepare a clean cross-session handoff so the next agent (or you tomorrow) can pick up exactly where you left off. Writes a focused `continue.md` in the active slice directory and ensures `STATE.md` + summary artifacts are current. Use when asked to "hand off", "prepare handoff", "pause work", "bookmark this", "I'll come back to this later", before running out of context budget, or at the end of a long session with unfinished work. Closes the v1 `/gsd-pause-work` parity gap.
76
95%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
continue.md exists for exactly this — see auto-prompts.ts, guided-flow.ts, phase-anchor.ts, state.ts. This skill is the deliberate authoring ritual.
Invocation points:
<core_principle>
WRITE FOR A STRANGER. The next reader is not you. They do not have this conversation. They have STATE.md, continue.md, the last summary, and the code. That has to be enough.
CURRENT STATE ONLY. continue.md is ephemeral — it says "pick up HERE." It is not a log of what you did; that goes in summaries. It is not a plan for future work; that lives in the plan files.
NO SECRETS, NO STALE PATHS. Do not inline env values, tokens, or paths that only exist in your working directory. Cite artifacts by relative path from the project root. </core_principle>
Answer briefly:
T##) am I on? What's its current plan file?Before writing continue.md:
gsd_task_complete (or the equivalent tool) to toggle state. Do NOT edit checkboxes by hand. This triggers STATE.md rebuild and T##-SUMMARY.md generation.S##-CONTEXT.md if the slice has one, or .gsd/DECISIONS.md if the decision was project-wide..gsd/KNOWLEDGE.md.This shrinks what continue.md has to carry.
Create .gsd/milestones/<MID>/slices/<SID>/continue.md with the following shape. Keep it tight — one screenful max.
# Continue — S02 / T03
## Last action
<one sentence — what you just did, with evidence>
Example: "Ran `npm test` after editing `src/auth/session.ts`; 2 failures in `session.test.ts` — both complain about a missing `expiresAt` field in the mock fixture."
## Next action
<one concrete action the next agent should take>
Example: "Update `fixtures/sessions.ts` to include `expiresAt: Date.now() + 3600_000` on every fixture, then re-run `npm test`."
## Why
<one or two sentences — why this next step, not something else>
Example: "The session refactor moved `expiresAt` from optional to required in `Session`; fixtures were never updated."
## Open threads
<list of things you noticed but deliberately didn't act on>
- Validator in `src/auth/validator.ts` still accepts unbounded session lengths — file as a separate issue after T03 lands.
## Do not
<traps and false paths the next agent might stumble into>
- Do NOT revert the `Session` interface change — it's required for T04.
- Do NOT run `npm run db:reset` in this branch; dev data is still needed for manual UAT.Read STATE.md + continue.md + the most recent summary as if you were a fresh agent. Ask:
If any answer is no, the handoff is incomplete. Fix it before stopping.
async_bash or bg_shell jobs. Cancel or wait for them.continue.md — note which files are modified and why.<anti_patterns>
continue.md that summarizes the whole slice. That's what S##-SUMMARY.md is for, at slice completion.continue.md should be thin because the summaries carry the weight.</anti_patterns>
<success_criteria>
continue.md exists in the active slice directory.gsd_* tools, not by hand-edited checkboxes.KNOWLEDGE.md and DECISIONS.md have been updated if anything notable was learned.STATE.md + continue.md + latest summary would produce the right next action.</success_criteria>
33c00aa
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.