handoff
Snapshot the session into beads memories so the next agent (Claude Code, Codex, or any bd-aware tool) picks it up automatically via bd prime.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Snapshot the session into beads memories so the next agent (Claude Code, Codex, or any bd-aware tool) picks it up automatically via bd prime.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | handoff |
| description | Snapshot the session into beads memories so the next agent (Claude Code, Codex, or any bd-aware tool) picks it up automatically via bd prime. |
| when_to_use | TRIGGER when: user runs /handoff, says 'wrap up' or 'hand off', mentions handing off to another agent, or asks you to summarize and persist session state. |
| allowed-tools | ["Bash"] |
| effort | high |
Persists the session's important state to beads so the next agent reads it automatically. Memories are injected into every new session by bd prime, so writing here is sufficient.
The handoff-bd script in this skill directory does all the deterministic work: running bd commands, validating keys, sanity-checking, and pushing to Dolt. Your job is to draft what goes into the plan and get user approval; the script applies it.
The cardinal rule is to dedupe by meaning, not by session. Per-session keys (e.g. handoff:2026-05-08) accumulate forever and the script will reject them.
| State | Destination | Plan field |
|---|---|---|
| Durable insight ("auth uses JWT, not sessions") | bd remember --key=<topic-slug> | memories[] |
| In-progress work state on the active issue | bd update <id> --notes | notes[] |
| Session wrap-up summary | bd remember --key=handoff:latest (the only allowed handoff: key) | session_summary |
| Concrete follow-up the next agent should do | bd create --type=task | tasks[] |
Run: ${CLAUDE_SKILL_DIR}/handoff-bd survey
The script emits JSON with three arrays: ready, in_progress, handoff_memories. Read it to know what's already tracked, what's claimed, and whether a prior handoff:latest exists.
Print the script's output as a direct text response so the user can see it without expanding the Bash tool result.
Read back over the conversation and draft a plan JSON matching this shape (see ${CLAUDE_SKILL_DIR}/handoff-bd docstring for the full schema):
{key, body}. Topic slugs in kebab-case (zsh-completion-stack, bd-version-mismatch). One sentence per body. Atomic.{id, body}, only for issues actually touched this session and currently in_progress. Body uses the COMPLETED: / IN PROGRESS: / NEXT: convention.handoff:latest. Mention the topic slugs you wrote so the next agent can grep for them. Skip if the session was trivial.Print the four sections in human-readable form (not raw JSON) so the user can edit by quoting back changes. Show the topic slugs, the issue ID for notes, and the count of memories/tasks. Then ask: "Write all of this? Edit anything? Skip a section?"
Once approved, build the final plan as JSON in a temp file and pass it to the script via stdin:
${CLAUDE_SKILL_DIR}/handoff-bd apply < "$PLAN_FILE"
The script returns a summary JSON with: memories[] (slugs written), notes[] (issue IDs updated), tasks[] (id+title for each created), session_summary_set (bool), leaked_keys_cleaned[] (any per-session keys it had to forget), pushed (bool), errors[].
If errors is non-empty, the script exited non-zero and pushed is false. Tell the user which step failed; do not retry silently.
Translate the script's summary JSON into a human-readable confirmation: count of memories, slugs, the in-progress issue updated, task IDs created, whether dolt push succeeded. Mention that the next session will see all of this automatically via bd prime.
handoff:latest is the only handoff:-prefixed key. The script enforces this and exits non-zero on per-session keys.notes[].session_summary body, not as a separate memory.This skill should be used when the user asks about libraries, frameworks, API references, or needs code examples. Activates for setup questions, code generation involving libraries, or mentions of specific frameworks like React, Vue, Next.js, Prisma, Supabase, etc.
Respond to code review comments point by point, quoting each reviewer point verbatim and answering directly beneath it.
Use when moving local sessions between Claude Code and Codex, converting Claude Code JSONL into Codex rollout format, converting Codex rollout JSONL into Claude scrollback, or debugging cross-agent resume state.
Use when moving local sessions between Codex and Claude Code, converting Codex rollout JSONL into Claude scrollback, converting Claude Code JSONL into Codex rollout format, or debugging cross-agent resume state.
Operate remote hosts over SSH through the ssh-mcp server, driving a box like a person at a terminal instead of firing blind one-off commands.
Use when a task involves SSH or a remote host, including remote commands, interactive shells, sudo over SSH, tailing logs, deployments, scp or rsync file transfer, and port forwards or tunnels.