Agent skill

Create Handoff

by tobihagemann in tobihagemann/turbo

Write a handoff file at .turbo/handoff/<YYYY-MM-DD-<slug.md capturing current session state — task, status, open decisions, in-flight changes, next step — so a fresh session can continue without…

MITAuto-check passedAgent Workflows

Install Create Handoff

skills CLI
$ npx skills add tobihagemann/turbo --skill create-handoff -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install tobihagemann/turbo create-handoff --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/tobihagemann/turbo.git skills-src && mkdir -p .claude/skills && cp -r skills-src/codex/skills/create-handoff .claude/skills/create-handoff && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
create-handoff
GitHub stars
408
Token cost
~1.2k tokens
SKILL.md length
691 words
Files
1
Skills in repo
81
Repo updated
First seen
Licence
MIT

At a glance

Write a handoff file at .turbo/handoff/<YYYY-MM-DD-<slug.md capturing current session state — task, status, open decisions, in-flight changes, next step — so a fresh session can continue without…

  • Works in 4 steps: Resolve the Target Path → Gather Session State → Write the Handoff File → …
  • The user asks to create a handoff
  • SKILL.md covers Step 1: Resolve the Target Path, Step 2: Gather Session State, Step 3: Write the Handoff File and Step 4: Confirm
  • Calls git

What it does

Create Handoff is an agent skill from tobihagemann/turbo. Write a handoff file at .turbo/handoff/<YYYY-MM-DD-<slug.md capturing current session state — task, status, open decisions, in-flight changes, next step — so a fresh session can continue without re-deriving context. Use when the user asks to "create a handoff", "create handoff", "save handoff", "handoff before compact", "save session state", "handoff for next session", or "capture session state".

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering Session handoff. It works with Git. The repository describes itself as: Reusable workflows for planning, building, reviewing, and shipping with Claude Code and Codex. The licence is MIT.

When your agent uses it

  • The user asks to create a handoff
  • Handoff before compact
  • Save session state
  • Handoff for next session

Example prompts

  • “create a handoff”
  • “create handoff”
  • “save handoff”
  • “/create-handoff”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Resolve the Target Path
  2. Gather Session State
  3. Write the Handoff File
  4. Confirm

What it can do on your machine

Read from SKILL.md and the folder at commit 931eda5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Create Handoff loads about 1.2k tokens when it runs. Until then it costs about 104 tokens; SKILL.md has 691 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~104
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from tobihagemann/turbo at commit 931eda5, republished under its MIT licence (© tobihagemann). 691 words, ~1,182 tokens.

Download SKILL.mdSave it as .claude/skills/create-handoff/SKILL.md (or your agent's skills folder).
name
create-handoff
description
Write a handoff file at .turbo/handoff/<YYYY-MM-DD>-<slug>.md capturing current session state — task, status, open decisions, in-flight changes, next step — so a fresh session can continue without re-deriving context. Use when the user asks to "create a handoff", "create handoff", "save handoff", "handoff before compact", "save session state", "handoff for next session", or "capture session state".

Create Handoff

Write a session handoff file at .turbo/handoff/<YYYY-MM-DD>-<slug>.md so a fresh session can pick up where this one left off.

Step 1: Resolve the Target Path

Get today's date: date +%Y-%m-%d.

Pick a slug for the current task:

  • Lowercase
  • Replace non-alphanumeric characters with hyphens
  • Collapse consecutive hyphens
  • Trim leading and trailing hyphens
  • Truncate to 40 characters at a word boundary

If the work is anchored to an existing plan at .turbo/plans/<slug>.md, reuse that plan's slug verbatim.

The user may pass an explicit slug or output path; honor it.

Resolve the repo root with git rev-parse --show-toplevel, except inside a linked worktree — where git rev-parse --git-dir differs from --git-common-dir — in which case use the parent of the common dir, so the handoff lands in the main checkout rather than in a worktree that is destroyed with its branch.

The target path is .turbo/handoff/<YYYY-MM-DD>-<slug>.md under that root. A generated slug takes -2, -3, and so on until the path is free. When the user supplied the slug or path and it already exists, use request_user_input to offer overwrite, a numeric suffix, or a different slug.

When an open decision will outlive the rest of the session's state, still unresolved while the work around it is finished, give it its own handoff. Everything else stays in a single file. Slug the split handoff for that decision rather than appending a collision suffix, and write it to stand alone.

State the chosen path before continuing.

Step 2: Gather Session State

Run git status --short to see uncommitted changes in the working tree.

Survey the conversation context for:

  • Current task: what is being worked on, in one or two sentences
  • Workflow status: where in the workflow this session is (drafting, refining iteration N, applying findings, implementing step M of K, investigating, blocked on Q, etc.)
  • Active artifact: path to the plan or other file at the center of the work, if one exists
  • Open decisions: questions raised but not resolved, choices the user is still weighing, escalations awaiting input
  • In-flight changes: staged or unstaged edits that are not yet committed; what each change is doing and what is missing
  • Closed avenues: approaches that were built or tested and then abandoned, with the observed evidence that ruled them out
  • Next step: the first concrete action the new session should take. When the user has stated what they want to work on next, that intent leads and any work left in flight is ordered after it; say so in the same statement when that work should not resume at all

Read .turbo/improvements.md under the repo root resolved in Step 1 if it exists and note any entry this handoff takes over. When no entry clearly matches, leave the backlog alone.

When something is genuinely unclear and would leave a gap in the handoff, use request_user_input to resolve it. Default to inferring quietly when the conversation makes the answer clear.

Show full SKILL.md (208 more words)Show less

Step 3: Write the Handoff File

Create the target path's .turbo/handoff/ directory if it does not exist. Write the file at the path picked in Step 1.

Lead with # Handoff: <Task Title>. Cover the items gathered in Step 2 in whatever structure fits the session — drafting, refining, implementing, and investigating sessions each have different shapes and don't all map to the same headings. Close with a clear statement of the next concrete action so the new session knows exactly what to do first.

Keep it dense. Omit anything that has no real content.

When this handoff splits an open decision out of an existing one, add a line to that existing handoff pointing at the new path, and remove the content the new file now carries.

Step 4: Confirm

Once the handoff file exists, delete any .turbo/improvements.md entry it takes over, as noted in Step 2. Delete the file if no entries remain.

Tell the user where the handoff was written, name any backlog entry deleted and any existing handoff edited to point at a split, and quote the next-step statement so the path forward is visible at a glance.

Then call update_plan to mark this step completed and continue with the next step of the active workflow.

© tobihagemann, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in codex/skills/create-handoff of tobihagemann/turbo.

Open the folder on GitHubat commit 931eda5

Compare with similar skills

Create Handoff next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Create Handoff compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Create Handoff this skilltobihagemann/turbo408—~1.2kAutomated safety check: PassMIT
Beads Task Memorygastownhall/beads28k—~1.2kAutomated safety check: PassMIT
Session History Searchslopus/happy24k—~3.1kAutomated safety check: PassMIT
Codewhale Session Handoffcodewhale-hq/Codewhale41k—~1.1kAutomated safety check: PassMIT
Auditopenwpm/OpenWPM1.4k—~676Automated safety check: PassCustom licence
MemorixAVIDS2/memorix829—~516Automated safety check: PassApache-2.0

Similar skills

  • Beads Task Memory

    gastownhall/beads

    Tracks multi-session work with dependencies in the bd issue tracker so the agent can find ready tasks and recover its context after conversation compaction.

    28k GitHub stars~1.2k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Searches past Claude Code, Codex and Cursor sessions and summarizes what was worked on, tried or decided, using extraction scripts instead of reading raw logs.

    24k GitHub stars~3.1k tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Codewhale Session Handoff

    codewhale-hq/Codewhale

    Writes a paste-ready handoff for the next agent session, opening with a state-check command block and separating done, suspected and blocked work.

    41k GitHub stars~1.1k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Audit

    openwpm/OpenWPM

    A skill your agent uses when stuck, confused, or disoriented in a crosslink-tracked project — dumps the full context (session state, active issue, locks, blockers, hook config, git state, project…

    1.4k GitHub stars~676 tokensUpdated 6 days ago
    Agent WorkflowsAuto-check passed
  • Memorix

    AVIDS2/memorix

    A skill your agent uses when Claude Code needs Memorix shared memory, reasoning, Git Memory, mini-skills, session handoff, orchestration coordination, or integration troubleshooting.

    829 GitHub stars~516 tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Session Catchup and Handoff

    poshan0126/dotclaude

    Rebuilds working context after /clear by reading a handoff note and the branch's git state, or writes that handoff note before a session ends.

    870 GitHub stars~811 tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed

More from tobihagemann/turbo

All 81 skills in this repo
  • Consult Oracle

    tobihagemann/turbo

    Consult ChatGPT Pro via ChatGPT browser automation for problems that resist standard approaches.

    408 GitHub stars~1.1k tokensUpdated yesterday
    Auto-check passed
  • Fetch PR Comments

    tobihagemann/turbo

    Fetch and summarize review feedback and conversation from a GitHub PR (unresolved review threads, review bodies, and PR conversation comments) without making changes.

    408 GitHub stars~967 tokensUpdated yesterday
    Auto-check passed
  • Recall Rationale

    tobihagemann/turbo

    Recall why a past change was made by locating the Claude Code transcript that produced it.

    408 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Resolve PR Comments

    tobihagemann/turbo

    Evaluate, fix, answer, and reply to GitHub pull request review comments and conversation comments.

    408 GitHub stars~3.8k tokensUpdated yesterday
    Auto-check passed
  • Resolve PR Comments

    tobihagemann/turbo

    Evaluate, fix, answer, and reply to GitHub pull request review comments and conversation comments.

    408 GitHub stars~3.8k tokensUpdated yesterday
    Auto-check passed
  • Assess Technical Debt

    tobihagemann/turbo

    Assess project-wide structural technical debt: complexity hotspots, deprecated API usage, duplication clusters, architecture rot, and low-value tests.

    408 GitHub stars~2.8k tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Create Handoff

What does Create Handoff do?

Write a handoff file at .turbo/handoff/<YYYY-MM-DD-<slug.md capturing current session state — task, status, open decisions, in-flight changes, next step — so a fresh session can continue without…. Create Handoff is an agent skill from tobihagemann/turbo.md capturing current session state — task, status, open decisions, in-flight changes, next step — so a fresh session can continue without re-deriving context.

When should I use Create Handoff?

Create Handoff fits situations like: the user asks to create a handoff; handoff before compact; save session state; handoff for next session.

How do I install Create Handoff in Claude Code?

Run `npx skills add tobihagemann/turbo --skill create-handoff -a claude-code`. Or copy the skill folder (codex/skills/create-handoff in tobihagemann/turbo) into .claude/skills/create-handoff in your project. Claude Code loads it when a task matches its description.

How do I install Create Handoff in Codex?

Run `npx skills add tobihagemann/turbo --skill create-handoff -a codex`. Or copy the skill folder (codex/skills/create-handoff in tobihagemann/turbo) into .agents/skills/create-handoff in your project. Codex loads it when a task matches its description.

Can I use Create Handoff in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add tobihagemann/turbo --skill create-handoff -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/create-handoff, .gemini/skills/create-handoff, .github/skills/create-handoff and .opencode/skills/create-handoff in your project.

What does Create Handoff need to run?

Going by SKILL.md and its folder, Create Handoff needs the command-line tools its instructions call (git).

Does Create Handoff access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Create Handoff safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Create Handoff use?

Create Handoff is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Create Handoff use?

About 1.2k tokens (SKILL.md is roughly 4.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Create Handoff?

Skills that share tags, products or a category with Create Handoff: Beads Task Memory (gastownhall/beads, 28k stars), Session History Search (slopus/happy, 24k stars), Codewhale Session Handoff (codewhale-hq/Codewhale, 41k stars) and Audit (openwpm/OpenWPM, 1.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Create Handoff?

tobihagemann (a GitHub user) maintains it in tobihagemann/turbo, which has 408 GitHub stars. The repository holds 81 skills in this directory. The repository was last updated on October 9, 2026.

Source: tobihagemann/turbo on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.