Agent skill

Handoff

by flonat in flonat/flonat-research

Create, accept, or update the persistent .context/ai-handoff.md state shared by AI sessions and machines.

MITAuto-check passedAgent Workflows

Install Handoff

skills CLI
$ npx skills add flonat/flonat-research --skill handoff -a claude-code

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

GitHub CLI
$ gh skill install flonat/flonat-research 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/flonat/flonat-research.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/handoff .claude/skills/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
handoff
GitHub stars
145
Token cost
~863 tokens
SKILL.md length
448 words
Files
2
Skills in repo
83
Repo updated
First seen
Licence
MIT

At a glance

Create, accept, or update the persistent .context/ai-handoff.md state shared by AI sessions and machines.

  • Works in 6 steps: Resolve the project root from the… → Read only the relevant durable guidance… → Use the supplied outcome. If none is… → …
  • Continuing in a new Claude
  • SKILL.md covers Choose the route, Prepare a handoff, Receive a handoff and Transport and launch, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Handoff is an agent skill from flonat/flonat-research. Create, accept, or update the persistent .context/ai-handoff.md state shared by AI sessions and machines. Use when continuing in a new Claude or Codex session, transferring work between clients, or recording ownership and restart state.

Its SKILL.md is about 860 tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).

It sits in Agent Workflows. The repository describes itself as: Shareable Claude Code + Codex infrastructure for PhD researchers — skills, agents, hooks, and rules for academic workflows. The licence is MIT.

When your agent uses it

  • Continuing in a new Claude
  • Transferring work between clients
  • Recording ownership and restart state

Example prompts

  • “/handoff”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Resolve the project root from the current working directory or the named project.
  2. Read only the relevant durable guidance and state: CLAUDE.md, AGENTS.md, the latest approved plan, current focus, recent log, and any…
  3. Use the supplied outcome. If none is supplied, infer the highest-priority open loop; ask only if different choices would materially change…
  4. Reconcile the existing handshake. Preserve still-valid decisions and its log, then create a new handoff_id and set status: ready.
  5. Record the source and target client, source and target machine, branch, commit, exact working-tree ownership, observable acceptance…
  6. Validate the YAML frontmatter and Markdown sections against the shared protocol. Check that the file contains no secrets, credentials…

What it can do on your machine

Read from SKILL.md and the folder at commit da27600. 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

    No scripts in the folder and no shell commands in SKILL.md.

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

  • Network

    No URLs in SKILL.md.

    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

Handoff loads about 863 tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 448 words of instructions outside code blocks.

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

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 flonat/flonat-research at commit da27600, republished under its MIT licence (© flonat). 448 words, ~863 tokens.

Download SKILL.mdSave it as .claude/skills/handoff/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
handoff
description
Create, accept, or update the persistent `.context/ai-handoff.md` state shared by AI sessions and machines. Use when continuing in a new Claude or Codex session, transferring work between clients, or recording ownership and restart state.

Project Handoff

Use one client-neutral handshake for every route. Before acting, read ../shared/cross-client-handoff.md completely and follow its schema and state machine.

Choose the route

  • If the user names Claude or Codex, use that client as to.
  • If the user asks for the next or a fresh session without naming a client, set to to the current client. This is the default for Claude-to-Claude and Codex-to-Codex continuation.
  • Use to: either only when the task is deliberately client-agnostic.
  • Set from to the current client, or human when invoked outside a client session.

All routes write <project-root>/.context/ai-handoff.md. Do not create a separate client-specific handoff file.

Prepare a handoff

  1. Resolve the project root from the current working directory or the named project.
  2. Read only the relevant durable guidance and state: CLAUDE.md, AGENTS.md, the latest approved plan, current focus, recent log, and any existing handshake. Never inspect restricted data/raw/ content.
  3. Use the supplied outcome. If none is supplied, infer the highest-priority open loop; ask only if different choices would materially change scope.
  4. Reconcile the existing handshake. Preserve still-valid decisions and its log, then create a new handoff_id and set status: ready.
  5. Record the source and target client, source and target machine, branch, commit, exact working-tree ownership, observable acceptance criteria, real commands, and the first concrete action.
  6. Validate the YAML frontmatter and Markdown sections against the shared protocol. Check that the file contains no secrets, credentials, transcripts, caches, or restricted data.

Never overwrite project-owned CLAUDE.md or AGENTS.md: they remain durable client guidance. Never auto-commit or push the handshake.

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

Receive a handoff

When .context/ai-handoff.md targets the current client or either:

  1. Read both native guidance files and the handshake before editing.
  2. Compare the recorded branch, commit, machine, and changed-file ownership with the actual working tree.
  3. Set status: accepted and append a timestamped log entry before substantive work.
  4. Set status: in_progress when execution begins.
  5. Maintain acceptance criteria and the log. Finish with complete, or use blocked with the precise blocker and safe next action.

Transport and launch

  • Same machine: start the receiving client in the project root.
  • Dropbox project: let the project sync, then verify the recorded branch/commit and file ownership.
  • Git project on another machine: verify the remote, commit/push only with normal authorization, pull there, and run that distribution's documented client installer or sync command before starting the receiving client.

Report the handshake path, route, outcome, status, transport needed, and launch command. A completed handshake stays as a short audit trail until the next handoff reconciles it.

Compatibility

Root handoff.md is retired and ignored. Every new or resumed handoff must use .context/ai-handoff.md; it is the only format that supports same-client, cross-client, and cross-machine state tracking.

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

Files

SKILL.md and 1 other file in skills/handoff of flonat/flonat-research.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit da27600

Compare with similar skills

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.

Handoff compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Handoff this skillflonat/flonat-research145—~863Automated safety check: PassMIT
MCP Server Builderanthropics/skills180k64 repos~2.3kAutomated safety check: PassApache-2.0
Hook Development for Claude Code Pluginsanthropics/claude-plugins-official38k11 repos~4.1kAutomated safety check: NotesApache-2.0
Using Superpowersfarm-fe/farm5.6k35 repos~1.4kAutomated safety check: PassMIT
Executing Plans Inlineobra/superpowers296k2 repos~5.1kAutomated safety check: PassMIT
Claude Code Agent Developmentanthropics/claude-plugins-official38k8 repos~2.8kAutomated safety check: PassApache-2.0

Similar skills

  • MCP Server Builder

    anthropics/skills

    Official

    Guides the design and implementation of Model Context Protocol servers in TypeScript or Python, from tool naming and error messages to evaluation.

    180k GitHub starsUsed in 64 repos~2.3k tokens
    Agent WorkflowsAuto-check passed
  • Hook Development for Claude Code Plugins

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code plugin hooks, both prompt-based checks and bash commands, for events such as PreToolUse, Stop and SessionStart.

    38k GitHub starsUsed in 11 repos~4.1k tokens
    Agent WorkflowsAuto-check: notes
  • Using Superpowers

    farm-fe/farm

    A skill your agent uses when starting any conversation - establishes how to find and use skills, requiring Skill tool invocation before ANY response including clarifying questions

    5.6k GitHub starsUsed in 35 repos~1.4k tokens
    Agent WorkflowsAuto-check passed
  • Executing Plans Inline

    obra/superpowers

    Has the agent carry out an implementation plan itself, task by task in the current session, keeping a ledger, proving each step with a test and ending with one whole-branch review.

    296k GitHub starsUsed in 2 repos~5.1k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Agent Development

    anthropics/claude-plugins-official

    Official

    Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.

    38k GitHub starsUsed in 8 repos~2.8k tokens
    Agent WorkflowsAuto-check passed
  • Skill Creator

    Azure/azqr

    Official

    Create new skills, modify and improve existing skills, and measure skill performance.

    795 GitHub starsUsed in 89 repos~8.2k tokens
    Agent WorkflowsAuto-check passed

More from flonat/flonat-research

All 83 skills in this repo
  • Latex Posters

    flonat/flonat-research

    Create a large-format academic poster in LaTeX using beamerposter, tikzposter, or baposter.

    145 GitHub stars~1.5k tokensUpdated 9 days ago
    Auto-check: notes
  • Skill Creator

    flonat/flonat-research

    Create, revise, and evaluate reusable AI workflow skills, including trigger-quality tests.

    145 GitHub stars~4.4k tokensUpdated 9 days ago
    Auto-check passed
  • DOCX

    flonat/flonat-research

    Create, read, edit, or convert Microsoft Word documents while preserving professional document structure.

    145 GitHub stars~1.2k tokensUpdated 9 days ago
    Auto-check passed
  • PDF

    flonat/flonat-research

    Read, create, combine, split, rotate, OCR, watermark, secure, or extract content from PDF files.

    145 GitHub stars~488 tokensUpdated 9 days ago
    Auto-check passed
  • Init Project Orchestration

    flonat/flonat-research

    Create or migrate project-level agents, repeatable project workflows, and planning state from one client-neutral contract, then render repository-scoped adapters for both Claude Code and Codex.

    145 GitHub stars~1.6k tokensUpdated 9 days ago
    Auto-check passed
  • Pre Commit Audit

    flonat/flonat-research

    Deliver a fast pre-commit safety scan: file size, anonymity (author / affiliation strings in tex/bib), hardcoded secrets, and invisible-Unicode carriers.

    145 GitHub stars~2.8k tokensUpdated 9 days ago
    Auto-check: notes

Categories

Questions about Handoff

What does Handoff do?

Create, accept, or update the persistent .context/ai-handoff.md state shared by AI sessions and machines. Handoff is an agent skill from flonat/flonat-research.md state shared by AI sessions and machines.

When should I use Handoff?

Handoff fits situations like: continuing in a new Claude; transferring work between clients; recording ownership and restart state.

How do I install Handoff in Claude Code?

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

How do I install Handoff in Codex?

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

Can I use 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 flonat/flonat-research --skill 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/handoff, .gemini/skills/handoff, .github/skills/handoff and .opencode/skills/handoff in your project.

What does Handoff need to run?

SKILL.md names no scripts, command-line tools or credentials: Handoff is instructions for the agent only.

Does Handoff access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is 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 Handoff use?

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 Handoff use?

About 863 tokens (SKILL.md is roughly 3.5k 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 Handoff?

Skills that share tags, products or a category with Handoff: MCP Server Builder (anthropics/skills, 180k stars), Hook Development for Claude Code Plugins (anthropics/claude-plugins-official, 38k stars), Using Superpowers (farm-fe/farm, 5.6k stars) and Executing Plans Inline (obra/superpowers, 296k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Handoff?

flonat (a GitHub user) maintains it in flonat/flonat-research, which has 145 GitHub stars. The repository holds 83 skills in this directory. The repository was last updated on September 29, 2026.

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