handoff
Writes what a session that was not here needs: the state itself, never a reading list.
Skill by Adrian333Dev
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/adrian333dev-handoff
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/handoff
What's inside
- Skill name
handoff- Description
- Writes what a session that was not here needs: the state itself, never a reading list.
- License
- MIT
- Instructions
- 158 lines in SKILL.md · view on GitHub
Files (3)
- SKILL-before-writing-pass.md
- SKILL.md
- capture-pass.md
SKILL.md (first lines)
# Handoff Write what a session that was not here needs to carry on. It knows the repo. It knows nothing about this conversation. **One test decides every line: would that session get this wrong without it?** Never whether it mattered here. **First, run the sweep in `## Capture`.** ## 1. Pick where it goes Decide this first. - **Working a ticket** → `## State` inside that ticket's `ticket.md`. - **Work with no ticket** → a new ticket, `flow new "…" --type <what the work is> --body -`, then move it to the status the work has reached: `flow build <id>` for code in progress, `flow groundwork <id>` while decisions are still open. The body: one paragraph on the job and why, then `## State`. - **Handing a job to a session that reports back** → a new ticket, `flow new "…" --body -`. A child of the ticket that dispatched it, where one exists. - **A subagent starting right now** → the prompt, never a file. **Inside a ticket the state is a living section.** Write to it as the work moves, every time something becomes true that no other file records: after every thing you learned or were told, never after every edit. **A sentence from the user counts**: a constraint, a correction, a leaning they have not locked. **A child ticket's body and a subagent's prompt are written once**, read once, and never updated in place. ## 2. Gather only what this job needs Nothing here runs by default. Pick what the next session will trip over. - **Mid-build** → name the files this session changed, and what changed in each. `git status --short` gets you that in a repo committed regularly; on a tree nobody has committed for weeks it returns everything and separates nothing. - **Other tickets in flight** → `flow next`, for what else is moving. - **Handing a job over** → whatever waits for the receiving session: a server already listening, a half-finished install, a folder that is read-only. - **Groundwork, or a prototype question** → nothing. ## 3. Write it **The destination decides the sections.** Drop any section nothing fills. ### The `open` block Every ticket's own skill, `/exp-47`, runs `flow get --files`, which finds this block and loads every file it names **before the session's first turn**. Write it fenced, inside `## State`: ```open plan.md src/parser.js:40-120 # where step 4 stopped ``` - **One path per line**, with a `#` note saying what the reader gets from it. - **Take a line range where you know one**: `path:40-120`, inclusive. - **Write the path that reads naturally.** A ticket's paths resolve beside the ticket first, then from the repo root, so `plan.md` and `src/parser.js` both land. - **Name what the first action opens, and nothing else.** No minimum: a ticket that carries its own context writes no block. - **Nothing is truncated**: a folder loads whole. - **Verify every path.** A subagent gets no block. ### In a ticket: `## State` Never restate what 4 other files carry: - **`plan.md`** holds the steps and which ones landed. - **`groundwork/map.md`** holds every decision and its reasoning. - **The ticket body** holds why the work exists; `## Done when` holds what finishes it. - **The research report** holds the findings, wherever `/flow:research` filed it. What is left is what nobody wrote down, under 4 labels: - **Now**: what is half-done, broken, half-applied, or in flight this second. - **Found**: what cost real effort to learn and lives in no file: the version that turned out to matter, the exact payload, the trap already hit. - **Open**: decisions half-made, threads nobody closed, the option you were leaning toward and why. - **Touched**: files this session changed that no step in `plan.md` names. **`Now` and `Touched` are rewritten whole every time.** **`Found` and `Open` are added to, never regenerated.** A line goes in the moment you learn it, and comes out when it stops being true: a decision closes, or a fact moves to `docs/context/`. **Most of the time 2 fill.** A build fills *Now* and *Found*. Groundwork fills *Now* and *Open*. **A bug fills all 4 and runs long.** A fat state section on a build ticket means the plan carries too little. ### Handing a job over: a child ticket's body The body carries all of it: - **The job**: what's being done and why, current tense. - **The state**: done, in flight, broken, half-applied. - **What is already set up**: the install that ran, the server still listening, the read-only folder, the command that works from one directory only. - **What binds it**: decisions locked, corrections given, approaches ruled out and why. Weight what was said out loud and written nowhere. Dead ends count as conclusions. - **What is still open**: threads nobody resolved, the options weighed, the one you were leaning toward and why. - **What was found**: versions, endpoints, exact payloads, traps already hit. Write out anything that cost real effort, source or no source. - **The first action**: concrete enough to start on. Name the skill when one applies. Plus 4 where someone waits on an answer: - **What turns on the answer**: the decision waiting on it, and what changes if it comes back no. - **What done looks like**: written before the work starts, as the ticket's `## Done when`. - **What to produce**: the artifact and its shape: the questions it answers, in order. - **What to say back**: the 2 or 3 sentences this session needs to carry on. **A bug with no failing check built yet** → its `## Done when` is the observable: the failure as seen, and what not seeing it would look like. **A subagent starting now gets the same content in its prompt, plus a stopping point**: "stop after these 3 sources and write the file". Never a time limit. ### How much to write **Write out what the next session must know. A path is for a file it must open.** Never name 2 kinds of file: - **A file whose content you already wrote out here.** - **A file the session must not act on.** Where a path exists only to stop the reader doing something, write that sentence and drop the path. ## 4. Land it **`## State` goes at the bottom of `ticket.md`**, plus a line in `## References` for anything this session read that the build will need. While `map.md` is still open its own `## References` holds those, and Phase 4 splits them into the tickets it cuts. Then `flow handoff <id>`, which adds this session to the ticket's `history.md`. Everything else has an owner: `flow` the frontmatter, `/flow:execute` `plan.md`, `/flow:debug` and `/flow:prototype` `reports/`, and whoever created the ticket the body paragraph. `## Done when` moves only when a skill re-decides what the ticket is.
From Adrian333Dev/flow, MIT.
More from Adrian333Dev/flow
- 0.659score
excalidraw-free
Adrian333Dev
Create Excalidraw diagrams.
SkillAFreshness: A★ 36Claude Code +9 - 0.659score
research
Adrian333Dev
Researches any subject.
SkillAFreshness: A★ 36Claude Code +9 - 0.656score
groundwork
Adrian333Dev
Refines the idea and designs the solution.
SkillAFreshness: A★ 36Claude Code +9 - 0.656score
handoff
Adrian333Dev
Hands work to a session that was not here: another session or model, or a subagent.
SkillAFreshness: A★ 36Claude Code +9 - 0.653score
web-pages
Adrian333Dev
Investigates and experiments on a live web page you do not control.
SkillAFreshness: A★ 36Claude Code +9 - 0.653score
upkeep
Adrian333Dev
Folds closed tickets, notes, findings and the failure log into the wiki, rules and skills.
SkillAFreshness: A★ 36Claude Code +9 - 0.653score
visualize
Adrian333Dev
Draws ASCII diagrams, screen mockups and HTML previews, in a message or inside a document.
SkillAFreshness: A★ 36Claude Code +9 - 0.651score
help
Adrian333Dev
Answers any question about Flow or Claude Code, and fixes a problem with either.
SkillAFreshness: A★ 36Claude Code +9 - 0.651score
review
Adrian333Dev
Reviews how Flow performed.
SkillAFreshness: A★ 36Claude Code +9 - 0.651score
prototype
Adrian333Dev
Naive code answering one question, kept in its ticket beside a report of what it found.
SkillAFreshness: A★ 36Claude Code +9 - 0.650score
excalidraw
Adrian333Dev
Use when working with *.excalidraw or *.excalidraw.json files, user mentions diagrams/flowcharts, or requests architecture visualization - delegates all…
SkillAFreshness: A★ 36Claude Code +9 - 0.648score
tickets-from-spec
Adrian333Dev
Cuts the next chunk of planned work out of `docs/spec/` into tickets, earliest release first.
SkillAFreshness: A★ 36Claude Code +9
Signals
- Stars
- 36
- Forks
- 4
- Open issues
- 0
- Last commit (this folder)
- Oct 16, 2026 (13 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/Adrian333Dev/flow
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Adrian333Dev
- 0.659score
excalidraw-free
Adrian333Dev
Create Excalidraw diagrams.
SkillAFreshness: A★ 36Claude Code +9 - 0.659score
research
Adrian333Dev
Researches any subject.
SkillAFreshness: A★ 36Claude Code +9 - 0.656score
handoff
Adrian333Dev
Hands work to a session that was not here: another session or model, or a subagent.
SkillAFreshness: A★ 36Claude Code +9 - 0.656score
groundwork
Adrian333Dev
Refines the idea and designs the solution.
SkillAFreshness: A★ 36Claude Code +9 - 0.653score
upkeep
Adrian333Dev
Folds closed tickets, notes, findings and the failure log into the wiki, rules and skills.
SkillAFreshness: A★ 36Claude Code +9 - 0.653score
web-pages
Adrian333Dev
Investigates and experiments on a live web page you do not control.
SkillAFreshness: A★ 36Claude Code +9
Cite this page
handoff skill. Agent Mart. https://agentmart.dev/skills/adrian333dev-handoff (last updated 2026-10-24)