create

A command that gathers project and runtime details and writes them into a handover.md file for another language model or coding tool.

In plain words
What is it for?
Useful for creating a manual project handover before changing tools, models, branches, or sessions.
Why use it?
It prevents repeated investigation when work moves to a new session by recording the branch, recent changes, running services, environment names, and installed runtime versions.

Command

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/thatsuperdev/llm-handoff/create
Clone the repo
git clone --depth 1 https://github.com/thatsuperdev/llm-handoff
Per session 16 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,415 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00016 $0.01415
Opus 5 $0.00008 $0.00707
Sonnet 5 $0.00003 $0.00283
Haiku 4.5 $0.00002 $0.00142

Measured yesterday against content hash cce05a402350, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

create scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/llm-handoff/commands/create.md · 222 lines

How it starts

The opening of the file, as written. The whole thing — 222 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Create a complete handover.md in the project root so any LLM — Claude, Codex, Gemini, KiloCode, or any other tool — can continue this session without mistakes or repeated work.

Steps

1. Gather deterministic state

Run each of the following:

git rev-parse --show-toplevel
git branch --show-current
git log --oneline -10
git status --short
git diff --stat HEAD
git stash list
git worktree list

Also collect:

  • Your own model name and version
  • Which tool is running you (Claude Code, Codex CLI, etc.)
  • Any running services: lsof -i -P -n 2>/dev/null | grep LISTEN | head -20
  • Relevant env var names (not values): env | grep -E 'NODE_ENV|APP_ENV|DATABASE|API_URL|PORT' | sed 's/=.*/=<set>/'
  • Runtime versions: node --version 2>/dev/null; python3 --version 2>/dev/null; go version 2>/dev/null; cargo --version 2>/dev/null

2. Write handover.md

Write to <git root>/handover.md using this exact structure:

---
generated: <ISO 8601 timestamp>
previous_llm: <your model name and version>
tool: Claude Code
trigger: manual
branch: <branch>
worktree: <path or N/A>
---

# LLM Handover

> Read this file completely before taking any action. Verify repository state matches
> what is documented before starting work. If anything conflicts, investigate first.

## Quick start checklist

- [ ] Read this entire file
- [ ] Run `git status` — confirm it matches **Repository state** below
- [ ] Run `git log --oneline -5` — confirm last commit matches
- [ ] Read the files listed in **Files in play**
- [ ] Start with **Next steps item 1**

---

## Original request

<verbatim or near-verbatim: what the user asked for when this session started>

## Session goal

<one sentence: what we are trying to achieve>

**Scope — in:**
- <what is in scope>

**Scope — out:**
- <what is explicitly out of scope>

**Constraints:**
- <constraints the next LLM must respect>

---

## Repository state at handoff

| Field | Value |
|-------|-------|
| Branch | `<branch>` |
| Worktree | `<path or N/A>` |
| Last commit | `<hash message>` |
| Working tree | <clean or list of dirty files> |
| Staged | <list or "none"> |
| Stashed | <list or "none"> |

**Uncommitted changes:**

<git status --short output>


**Recent commits:**

<git log --oneline -5 output>


---

## Progress

### Completed this session
- <specific task — file:line reference where relevant>

### In progress when handoff triggered
<exactly what was being worked on — file, function, test being fixed>

### Not started (known remaining work)
- <task not yet touched>

---

## Files in play

| File | Why it matters |
|------|----------------|
| `path/to/file` | <one line> |

---

## Key decisions made

### Decision: <title>
**Chose:** <what>
**Why:** <full reasoning — alternatives considered, why this was picked>
**Implications:** <what this constrains going forward>

---

## Failed approaches — do not retry

### Failed: <description>
**Tried:** <exactly what was attempted>
**Error / result:** <exact error or observed behavior>
**Why it failed:** <root cause>
**Alternative taken:** <what was done instead>

---

## Blockers and open questions

- [ ] <specific blocker — what is unknown and what would unblock it>

---

## Next steps

1. **<Action title>**
   - File: `<path>`
   - What to do: <specific instruction — enough to act without guessing>
   - How to verify: <command or check that confirms success>

2. **<Action title>**
   - ...

---

## Critical context

- **<title>:** <non-obvious thing that would cause mistakes if unknown>

---

## Environment at handoff

| Item | Value |
|------|-------|
| Language / runtime | `<e.g. Node 22.3.0>` |
| Package manager | `<npm / pip / cargo>` |
| Running services | `<port:service or "none">` |
| Relevant env vars | `<names only>` |
| Test command | `<exact command>` |
| Dev server command | `<exact command or N/A>` |

---

## Handoff metadata

| Field | Value |
|-------|-------|
| Handoff reason | manual request |
| Previous LLM | `<your model name and version>` |
| Tool | Claude Code |
| Generated | `<ISO 8601>` |
| Suggested next LLM | any |

---

*Generated by [llm-handoff](https://github.com/thatsuperdev/llm-handoff)*

Read the full file on GitHub · 222 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 222 lines · 16 tokens per session scan A cce05a402350

Subscribe to this mod's changes

create is a command published in the GitHub repository thatsuperdev/llm-handoff (1 stars, last pushed 2mo ago), licensed MIT. It adds 16 tokens to every session and 1,415 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.