/session-handoff
A human-invoked utility that writes a grounded session-handoff document (plus a continuation pointer memory) so a fresh agent can resume in-progress work. Not auto-invoked; a human runs it deliberately.
$ npx -y skills add DollarDill/beads-superpowers --skill session-handoff --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/session-handoff
Context preview
The summary Claude sees to decide when to auto-load this skill.
A human-invoked utility that writes a grounded session-handoff document (plus a continuation pointer memory) so a fresh agent can resume in-progress work. Not auto-invoked; a human runs it deliberately.
SKILL.md
session-handoff.SKILL.mdname: session-handoff
description: A human-invoked utility that writes a grounded session-handoff document (plus a continuation pointer memory) so a fresh agent can resume in-progress work. Not auto-invoked; a human runs it deliberately.
disable-model-invocation: true
Session Handoff
Write a grounded handoff document — and a one-line continuation memory — so a fresh session can resume exactly where this one left off.
**Announce at start:** "I'm using the session-handoff skill to write a session handoff."
> **Human-invoked only.** A human fires this skill directly (slash command or explicit > ask) — before `/clear`, `/compact`, a context limit, or a teammate handoff. It stays > off every agent-trigger surface by design.
When a human uses this
- Before `/clear` or `/compact`, mid-task, when context is about to be lost.
- End of a working session, to seed the next one.
- Handing work to a teammate or another agent.
Optional argument: a short description of what the next session will focus on — used to tailor Work In Progress / Loose Threads / Suggested Skills.
Pipeline
1. **Gather (read-only, run the commands — do not recall):** `git status -sb`, `git log --oneline -15`, `git diff --stat`, branch + ahead/behind; `bd ready`, `bd blocked`, `bd count --by-status`, in-progress beads; list the spec, plan, and architecture-decision-record files touched this session. Done when: every listed command has run and its output is captured. 2. **Synthesize** into the bundled template (`handoff-template.md`). **Reference artifacts by path — never paste their bodies** (commits, ADRs, specs, plans, diffs). Duplicating bloats the doc and goes stale. Done when: every section maps to a captured fact, referenced by path. 3. **Write the doc** — Default: `.internal/handoff/YYYY-MM-DD[-HHMMSS]-<topic>-handoff.md` (`-HHMMSS` only if a same-day handoff exists). (The same-day check globs the inbox `.internal/handoff/*.md` only; archived docs under `archive/` are out of scope and do not affect same-day naming.) If the human names another location, write there. `mkdir -p` the target first. Done when: the doc exists at the target path. 4. **Write the continuation memory** — `bd remember "continuation-<date>-<topic>: <one-line pointer to doc path + headline state>"` (episodic continuation record; one-line pointer only). Done when: `bd remember` has run for the continuation key. 5. **Verification (externally anchored — output the result block):**
- Cross-check each state line against the **captured Phase-1 command output**.
- **Gitignore safety:** `git check-ignore <output-path>`; if NOT ignored, warn the
human ("⚠️ <dir> is not gitignored; a handoff can contain sensitive session state") and offer to add it to `.gitignore` **before** writing.
- `ls <path>` confirms the doc exists; `bd memories <key>` confirms the memory.
- **Secret-scan grep** over the doc (`sk-`, `ghp_`, `AKIA`, `-----BEGIN`,
`password=`) — a backstop, not a guarantee.
- The narrative synthesis is the author's recollection — not externally verified;
that is why it references artifacts by path. Done when: the confirmation block is output — doc path · memory key · gitignore-safety result · secret-scan result.
Doctrine
- **Redact secrets** (keys, tokens, passwords, PII) — the doc lands on disk and may be
shared. This is a hard rule; never weaken it.
- **Reference, don't duplicate** — point at commits/ADRs/specs by path.
- **Ground every fact** — run the gather commands; never invent state. If a command
fails (not a git repo, `bd` absent), degrade gracefully and note the gap.
Red Flags (low-independence backstop — not the primary guard)
| Rationalization | Reality | |---|---| | "I'll write it from memory" | Run the gather commands — recollection drifts. | | "I'll add it to the skill index so the agent finds it" | Forbidden — human-invoked only. | | "The output dir is probably gitignored" | Run `git check-ignore` — secrets to a tracked path is a leak. |
Integration
**Standalone.** Human-invoked only, with no skill, hook, or agent-routing surface pointing to it. Read-side counterpart: `getting-up-to-speed` reads the latest `.internal/handoff/` doc (no skill-to-skill call) and archives it to `.internal/handoff/archive/` on close — `.internal/handoff/` is an unread inbox, so a stale doc is never re-read as the last session.
Read more
name: session-handoff description: A human-invoked utility that writes a grounded session-handoff document (plus a continuation pointer memory) so a fresh agent can resume in-progress work. Not auto-invoked; a human runs it deliberately. disable-model-invocation: true
Session Handoff
Write a grounded handoff document — and a one-line continuation memory — so a fresh session can resume exactly where this one left off.
**Announce at start:** "I'm using the session-handoff skill to write a session handoff."
> **Human-invoked only.** A human fires this skill directly (slash command or explicit > ask) — before `/clear`, `/compact`, a context limit, or a teammate handoff. It stays > off every agent-trigger surface by design.
When a human uses this
- Before `/clear` or `/compact`, mid-task, when context is about to be lost.
- End of a working session, to seed the next one.
- Handing work to a teammate or another agent.
Optional argument: a short description of what the next session will focus on — used to tailor Work In Progress / Loose Threads / Suggested Skills.
Pipeline
1. **Gather (read-only, run the commands — do not recall):** `git status -sb`, `git log --oneline -15`, `git diff --stat`, branch + ahead/behind; `bd ready`, `bd blocked`, `bd count --by-status`, in-progress beads; list the spec, plan, and architecture-decision-record files touched this session. Done when: every listed command has run and its output is captured. 2. **Synthesize** into the bundled template (`handoff-template.md`). **Reference artifacts by path — never paste their bodies** (commits, ADRs, specs, plans, diffs). Duplicating bloats the doc and goes stale. Done when: every section maps to a captured fact, referenced by path. 3. **Write the doc** — Default: `.internal/handoff/YYYY-MM-DD[-HHMMSS]-<topic>-handoff.md` (`-HHMMSS` only if a same-day handoff exists). (The same-day check globs the inbox `.internal/handoff/*.md` only; archived docs under `archive/` are out of scope and do not affect same-day naming.) If the human names another location, write there. `mkdir -p` the target first. Done when: the doc exists at the target path. 4. **Write the continuation memory** — `bd remember "continuation-<date>-<topic>: <one-line pointer to doc path + headline state>"` (episodic continuation record; one-line pointer only). Done when: `bd remember` has run for the continuation key. 5. **Verification (externally anchored — output the result block):**
- Cross-check each state line against the **captured Phase-1 command output**.
- **Gitignore safety:** `git check-ignore <output-path>`; if NOT ignored, warn the
human ("⚠️ <dir> is not gitignored; a handoff can contain sensitive session state") and offer to add it to `.gitignore` **before** writing.
- `ls <path>` confirms the doc exists; `bd memories <key>` confirms the memory.
- **Secret-scan grep** over the doc (`sk-`, `ghp_`, `AKIA`, `-----BEGIN`,
`password=`) — a backstop, not a guarantee.
- The narrative synthesis is the author's recollection — not externally verified;
that is why it references artifacts by path. Done when: the confirmation block is output — doc path · memory key · gitignore-safety result · secret-scan result.
Doctrine
- **Redact secrets** (keys, tokens, passwords, PII) — the doc lands on disk and may be
shared. This is a hard rule; never weaken it.
- **Reference, don't duplicate** — point at commits/ADRs/specs by path.
- **Ground every fact** — run the gather commands; never invent state. If a command
fails (not a git repo, `bd` absent), degrade gracefully and note the gap.
Red Flags (low-independence backstop — not the primary guard)
| Rationalization | Reality | |---|---| | "I'll write it from memory" | Run the gather commands — recollection drifts. | | "I'll add it to the skill index so the agent finds it" | Forbidden — human-invoked only. | | "The output dir is probably gitignored" | Run `git check-ignore` — secrets to a tracked path is a leak. |
Integration
**Standalone.** Human-invoked only, with no skill, hook, or agent-routing surface pointing to it. Read-side counterpart: `getting-up-to-speed` reads the latest `.internal/handoff/` doc (no skill-to-skill call) and archives it to `.internal/handoff/archive/` on close — `.internal/handoff/` is an unread inbox, so a stale doc is never re-read as the last session.
Superpowers & Beads task memory for AI coding agents - supports Claude Code, Codex, OpenCode, Cursor, Gemini CLI, GitHub Copilot CLI, Kimi Code, Antigravity, Factory Droid, and Pi.
Other skills on beads-superpowers.
- /auditing-upstream-drift
Use when checking if beads-superpowers is outdated, before a plugin release, or when auditing for missing capabilities — covers upstream drift, test execution, documentation, plugin health, and content integrity
Open skill - /brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
Open skill - /dispatching-parallel-agents
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
Open skill - /document-release
Use when implementation on a branch is complete and it is about to be merged or PR'd — or when finishing-a-development-branch reaches its docs-audit gate — and after code changes are committed, to ensure all project documentation accurately reflects shipped code. Covers README,
Open skill - /executing-plans
Use when you have a written implementation plan to execute in a separate session with review checkpoints
Open skill - /finishing-a-development-branch
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Open skill

