Session Handoff Document
thedotmack/claude-mem
Writes a HANDOFF.md capturing goal, state, files, failed attempts and next steps so a fresh agent session can continue exactly where this one stopped.
Save a quiet, branch-keyed session snapshot with continuity, active work, and optional task/todo state for automatic resume.
$ npx skills add joenandez/spectre --skill spectre-handoff -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install joenandez/spectre spectre-handoff --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/joenandez/spectre.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/spectre/skills/spectre-handoff .claude/skills/spectre-handoff && rm -rf skills-srcUse ~/.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/
Install the "spectre-handoff" agent skill from https://github.com/joenandez/spectre/tree/main/plugins/spectre/skills/spectre-handoff into .claude/skills/spectre-handoff/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spectre-handoff", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/joenandez/spectre/tree/main/plugins/spectre/skills/spectre-handoffType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add joenandez/spectre --skill spectre-handoff -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install joenandez/spectre spectre-handoff --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/joenandez/spectre.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/spectre/skills/spectre-handoff .agents/skills/spectre-handoff && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "spectre-handoff" agent skill from https://github.com/joenandez/spectre/tree/main/plugins/spectre/skills/spectre-handoff into .agents/skills/spectre-handoff/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spectre-handoff", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add joenandez/spectre --skill spectre-handoff -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install joenandez/spectre spectre-handoff --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/joenandez/spectre.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/spectre/skills/spectre-handoff .cursor/skills/spectre-handoff && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "spectre-handoff" agent skill from https://github.com/joenandez/spectre/tree/main/plugins/spectre/skills/spectre-handoff into .cursor/skills/spectre-handoff/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spectre-handoff", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/joenandez/spectre.git --path plugins/spectre/skills/spectre-handoff--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add joenandez/spectre --skill spectre-handoff -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install joenandez/spectre spectre-handoff --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/joenandez/spectre.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/spectre/skills/spectre-handoff .gemini/skills/spectre-handoff && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "spectre-handoff" agent skill from https://github.com/joenandez/spectre/tree/main/plugins/spectre/skills/spectre-handoff into .gemini/skills/spectre-handoff/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spectre-handoff", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install joenandez/spectre spectre-handoffInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add joenandez/spectre --skill spectre-handoff -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/joenandez/spectre.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/spectre/skills/spectre-handoff .github/skills/spectre-handoff && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "spectre-handoff" agent skill from https://github.com/joenandez/spectre/tree/main/plugins/spectre/skills/spectre-handoff into .github/skills/spectre-handoff/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spectre-handoff", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add joenandez/spectre --skill spectre-handoff -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install joenandez/spectre spectre-handoff --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/joenandez/spectre.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/spectre/skills/spectre-handoff .opencode/skills/spectre-handoff && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "spectre-handoff" agent skill from https://github.com/joenandez/spectre/tree/main/plugins/spectre/skills/spectre-handoff into .opencode/skills/spectre-handoff/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "spectre-handoff", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
spectre-handoffSave a quiet, branch-keyed session snapshot with continuity, active work, and optional task/todo state for automatic resume.
Spectre Handoff is an agent skill from joenandez/spectre. Save a quiet, branch-keyed session snapshot with continuity, active work, and optional task/todo state for automatic resume. Use when ending or pausing a coding session; do not use for project documentation or workflow routing.
Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Spectre is a battle-tested 6 stage agentic engineering workflow for building complex, production-ready features. You stay in the loop for the decisions that matter. Your agents…. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 931c9e8. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are json).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Spectre Handoff loads about 1.3k tokens when it runs. Until then it costs about 61 tokens; SKILL.md has 474 words of instructions outside code blocks.
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.
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.
The full file from joenandez/spectre at commit 931c9e8, republished under its MIT licence (© joenandez). 474 words, ~1,253 tokens.
.claude/skills/spectre-handoff/SKILL.md (or your agent's skills folder).Persist the smallest complete state needed to resume the current branch. Finish in 2–3 tool calls and emit only the final confirmation.
$ARGUMENTS: task name; default to the raw current branch.bd tasks labeled with the branch.CANONICAL_DIR=.spectre/handoffs/{raw-branch}; slash-containing branches intentionally create nested directories.LEGACY_DIR=docs/tasks/{raw-branch}/session_logs is read-only fallback history.*_handoff.json history wins. Use matching legacy history only when canonical history is empty; count that selected history so the first canonical handoff continues its numbering.CANONICAL_DIR. Resolve timestamp, selected history directory, and output path once and pass them literally; never reconstruct branch identity from paths.Write {timestamp}_handoff.json as valid JSON with this exact v1.1 shape:
{
"version": "1.1",
"timestamp": "YYYY-MM-DD-HHMMSS",
"branch_name": "raw branch",
"task_name": "argument or raw branch",
"session_number": 1,
"progress_update": {
"summary": "string",
"goal": "string",
"accomplished": [],
"now": "string",
"next_steps": [],
"confidence": "high|medium|low",
"constraints": [],
"decisions": [],
"blockers": [],
"open_questions": [],
"risks": []
},
"working_set": {
"key_files": [],
"active_ids": [],
"recent_commands": []
},
"beads": {
"available": true,
"workspace_label": "raw branch",
"task_count": 1,
"epic_id": null,
"epic_title": null,
"tasks": [{"id":"", "title":"", "status":"", "type":"", "parent":null, "children":[], "labels":[]}]
},
"context": {
"wip_state": "uncommitted|clean",
"last_commit": "short SHA"
}
}Use “we” voice and empty arrays when optional content is absent. now identifies the exact interrupted work. Omit beads unless bd doctor succeeds and matching open|in_progress|blocked tasks exist. On continuations, @spectre:sync may add continuity while preserving current-session priority and schema.
When a nonempty agent-native todo list exists, also write its exact statuses to {timestamp}_todos.json and update todos_history.json to retain the five newest snapshots. Otherwise create neither file.
DONE when paths/numbering follow the selected-history rule; current summary, now, accomplished, next_steps, confidence, working set, and session number are preserved; optional beads is omitted when unavailable/empty; JSON reparses; and only the applicable canonical files changed.
unknown), short HEAD, worktree count, canonical and legacy counts, selected history, next session number, timestamp/output path, and healthy branch-labeled bd tasks. Create only CANONICAL_DIR.Next (recommended) skill and observed reason verbatim as the first next step; include its canonical artifacts in key_files. Do not independently reroute or invent todo state.session_count = 0, write the handoff directly. Otherwise dispatch exactly one @spectre:sync with the full current JSON inside <current_session>, plus the literal selected history directory and canonical output file inside <session_history_path> and <handoff_output_path>. It reads at most the three newest prior handoffs and writes the final file.| Handoff | Details |
|---|---|
| 🧭 Current phase | Done |
| 📦 What was just done | Result |
| ▶️ Proposed next step | Render resolved action. |
First: path/first-session notice; continuation: path/session/continuity counts. Output only applicable table.
Next step: resume from the saved canonical handoff.
© joenandez, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in plugins/spectre/skills/spectre-handoff of joenandez/spectre.
Open the folder on GitHubat commit 931c9e8
Spectre 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Spectre Handoff this skilljoenandez/spectre | 164 | — | ~1.3k | Automated safety check: Pass | MIT | |
| Session Handoff Documentthedotmack/claude-mem | 99k | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Handoffnexu-io/open-design | 100k | — | ~547 | Automated safety check: Pass | Apache-2.0 | |
| Handoffalirezarezvani/claude-skills | 28k | — | ~2.5k | Automated safety check: Notes | MIT | |
| Handoffalirezarezvani/claude-skills | 28k | — | ~532 | Automated safety check: Pass | MIT | |
| Session Handoff Writercodewhale-hq/Codewhale | 41k | — | ~1.2k | Automated safety check: Pass | MIT |
thedotmack/claude-mem
Writes a HANDOFF.md capturing goal, state, files, failed attempts and next steps so a fresh agent session can continue exactly where this one stopped.
nexu-io/open-design
Push the run's accepted artifact to a downstream collaboration surface (cli, other code agents, cloud, desktop) and stamp the artifact manifest with the export target.
alirezarezvani/claude-skills
Compact the current conversation into a handoff document for another agent to pick up.
alirezarezvani/claude-skills
Compact the current conversation into a handoff document for another agent to pick up.
codewhale-hq/Codewhale
Writes a compact handoff note from real git and CI state so the next session or a teammate can pick up the work without rebuilding the context.
kunchenguid/firstmate
Enter quiet supervision mode when the captain invokes /quiet or asks for quiet mode, quiet-while-present, or fewer routine wake turns while they stay in the session.
joenandez/spectre
A skill your agent uses when validating that the Spectre plugin itself still works after ANY change to this repo — skills, prompts, agents, hooks, the CLI, the Codex mirror, or a release.
joenandez/spectre
A skill your agent uses when modifying the Codex SPECTRE install flow, SessionStart continuity, project skill syncing, registry injection, or Codex-specific runtime files.
joenandez/spectre
User-invoked front door for durable capture. An agent skill from joenandez/spectre.
joenandez/spectre
Rewrite a verbose SPECTRE skill into a compact, contract-form Spectre skill proposal — clear on WHAT, silent on HOW — grounded in the spectre-light distillation and freedom-tier budget.
joenandez/spectre
Rewrite Spectre subagent definitions into compact, contract-driven agents with clear routing, least-privilege tools, output schemas, and an auditable rewrite trail.
joenandez/spectre
Capture durable project decisions, accepted corrections, verified reusable patterns or gotchas, disproved guidance, and changed persistent blockers as soon as they matter.
Save a quiet, branch-keyed session snapshot with continuity, active work, and optional task/todo state for automatic resume. Spectre Handoff is an agent skill from joenandez/spectre. Save a quiet, branch-keyed session snapshot with continuity, active work, and optional task/todo state for automatic resume.
Spectre Handoff fits situations like: pausing a coding session; do not use for project documentation; workflow routing.
Run `npx skills add joenandez/spectre --skill spectre-handoff -a claude-code`. Or copy the skill folder (plugins/spectre/skills/spectre-handoff in joenandez/spectre) into .claude/skills/spectre-handoff in your project. Claude Code loads it when a task matches its description.
Run `npx skills add joenandez/spectre --skill spectre-handoff -a codex`. Or copy the skill folder (plugins/spectre/skills/spectre-handoff in joenandez/spectre) into .agents/skills/spectre-handoff in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add joenandez/spectre --skill spectre-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/spectre-handoff, .gemini/skills/spectre-handoff, .github/skills/spectre-handoff and .opencode/skills/spectre-handoff in your project.
SKILL.md names no scripts, command-line tools or credentials: Spectre Handoff is instructions for the agent only.
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.
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.
Spectre Handoff is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.3k tokens (SKILL.md is roughly 5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Spectre Handoff: Session Handoff Document (thedotmack/claude-mem, 99k stars), Handoff (nexu-io/open-design, 100k stars), Handoff (alirezarezvani/claude-skills, 28k stars) and Handoff (alirezarezvani/claude-skills, 28k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
joenandez (a GitHub user) maintains it in joenandez/spectre, which has 164 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on October 2, 2026.
Source: joenandez/spectre on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.