@darkroomengineering

Creator · darkroomengineering

Last updated · Aug 24, 2026

handoff

REVIEW · 64Registry indexed

End-of-session save and next-session resume. Triggers "ending session", "wrapping up", "context window", "running out of context", "done for today" (save mode); "continue where we left off", "pick up where", "last session", "previous work", "resume" (resume mode).

OpenAgentSkill Trust Score
64/100

Sandbox only

Quality63/100
Audit76/100
Stars42
Verified installs0

Install targets

Codex install prompt

Install the "handoff" agent skill from https://github.com/darkroomengineering/cc-settings/tree/main/skills/handoff. Read its SKILL.md or equivalent instructions first, install only the files needed for this workspace, and summarize any required setup before using it. Skill purpose: End-of-session save and next-session resume. Triggers "ending session", "wrapping up", "context window", "running out of context", "done for today" (save mode); "continue where we left off", "pick up where", "last session", "previous work", "resume" (resume mode). After the install attempt, report the result to https://www.openagentskill.com/api/agent/outcome with POST JSON {"event_id":"install_<unique-id>","skill_slug":"darkroomengineering-handoff","task":"Install handoff","agent":"codex","outcome":"success","install_used":true}. Replace event_id with a unique value and outcome with success or failed. Report success only after the skill is installed and a minimal verification passes.

Supply asset profile

Coding and developer agents

Code review, repo analysis, testing, CI, GitHub, DevOps, and developer workflow skills.

Browse track

Scenario

GitHub automation

I need my agent to triage GitHub issues, review pull requests, and summarize repository changes.

Agent fit

Claude Code + OpenAI Agents + CLI

Codex, Claude Code, Cursor, CLI, or custom agents.

Install

Ready

npx skills add darkroomengineering/cc-settings --skill handoff

Maintenance

fresh

Pushed today

Risk

Needs review

Dependency or permission surface needs review

GitHub quality

42

63/100 Quality · 72/100 Trust

Coverage tags

CodingGitHub automationautomationagent-skill

Review notes

Dependency or permission surface needs review · Permission surface may require sandboxing

Agent adoption scorecard

Trust, audit, and install readiness at a glance

These scores combine public repository metadata, OpenAgentSkill review signals, maintenance freshness, and install readiness. They are a shortlist signal, not a replacement for human review.

Quality

Promising
63

Useful candidate, but compare it with alternatives before adopting.

Trust

Sandbox only
64

Useful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.

Audit

Needs review
76

A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.

OpenAgentSkill Trust Score v5

Human review before install

Run only in a sandbox and compare close alternatives before using it for real work.

CodexClaude CodeCursorOpenAgentSkill CLI

Stars

42 GitHub stars

Repo activity

42 stars, 3 forks

Maintenance

Pushed today

License

MIT

Install

npx skills add darkroomengineering/cc-settings --skill handoff

Install safety

standard package or runtime install path

Permission surface

secrets or environment access, shell or command execution

Agent outcomes

No agent outcome data yet

Docs

Strong README/SKILL.md context

Risk summary

Review before production

  • Financial research output is not financial advice; require human review before any live investment decision.
  • Low GitHub adoption signal
  • Quality score needs review
  • Permission surface needs review: secrets or environment access, shell or command execution

Install readiness

Install path available

  • Install path is available
  • Repository evidence is available
  • License is declared
  • No Agent Proven outcome evidence yet

Agent-readable metadata

Machine-readable decision data for this skill.

Use this block or the embedded JSON to decide whether an agent should install this skill, choose an alternative, or ask for human review first.

View technical data+

Suited tasks

  • Research agents workflows
  • Claude Code teams
  • builders willing to evaluate younger projects
  • Search sources

Suited agents

CodexClaude CodeCursorOpenAgentSkill CLIOpenAI AgentsCLI

Install decision

Command
npx skills add darkroomengineering/cc-settings --skill handoff
Policy
block
Human review
yes

Trust and risk

Trust
64/100
Audit
76/100
Risk level
Needs review

Outcome loop

Endpoint
/api/agent/outcome
Event ID
resolve
Outcomes
5

Install command

npx skills add darkroomengineering/cc-settings --skill handoff

Do not use when

  • teams that need a vendor-supported SLA
  • production agents without a repository review
  • Low GitHub adoption signal
  • No OpenAgentSkill engagement data yet
  • High-risk permission hints: Shell or command execution, Secrets or environment access

Agent safety v2

36/100 · Avoid automatic install

Blocked for auto-installblock

This skill should not be selected by an agent without explicit human security review.

Do not auto-install. Inspect the source, dependencies, and permission surface first.

Resolve via API

high

Shell or command execution

Skill metadata references terminal, CLI, shell, subprocess, or command execution workflows.

medium

Network access

Skill likely fetches remote pages, APIs, repositories, or external services.

medium

Filesystem access

Skill may read or write project files, documents, generated artifacts, or local workspace state.

high

Secrets or environment access

Skill metadata references credentials, tokens, environment variables, or secret-bearing workflows.

  • High-risk permission hints: Shell or command execution, Secrets or environment access
  • Dependency or permission surface needs review

Agent resolve plan

Let an agent verify fit before installing.

The Resolve API returns the selected skill, alternatives, safety policy, audit notes, install target, and copy-paste prompt an agent can follow without scraping this page.

Open text plan

Agent should check

  • Task fit and alternatives from Resolve API.
  • Audit score, trust score, and safety policy warnings.
  • Install target compatibility for Codex, Claude Code, Cursor, or CLI.

Copy prompt

Task: Use handoff in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20handoff%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/darkroomengineering-handoff/install
Install command: npx skills add darkroomengineering/cc-settings --skill handoff
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.

Agent handoff

Give an agent the install path, not another directory page.

Use the public install endpoint to fetch the command, safety checklist, target prompts, and canonical links for this skill.

Open install API

Agent prompt

Use handoff for this task. Review https://www.openagentskill.com/api/skills/darkroomengineering-handoff/install, then install with: npx skills add darkroomengineering/cc-settings --skill handoff

Registry metadata

Agent-readable profile for automatic skill selection.

This page exposes the same decision, trust, audit, use-case, and install signals through the Registry API, so agents can rank this skill without scraping the UI.

Open manifest

Agent fit

62/100

Research agents

Platforms

Claude Code, OpenAI Agents

Audit report

Needs review · 76/100

A machine-readable review of install readiness, security metadata, maintenance, and adoption risk.

View audit reportView eval report

Agent decision cockpit

Fallback candidate for Research agents

Prototype with this skill first; keep a fallback candidate ready.

62
Readiness
Prototype
Stage

Role in stack

Fallback candidate

Primary fit

Research agents

Trust label

Prototype first

Install path

Command ready

Use when

  • Research agents workflows
  • Claude Code teams
  • builders willing to evaluate younger projects

Evidence

  • recent repository activity
  • install command or GitHub repo available
  • 63/100 quality profile

review first

  • Low GitHub adoption signal
  • No OpenAgentSkill engagement data yet

Implementation path

  1. 1Install it in a sandbox agent and run one Research agents task end to end.
  2. 2Compare output quality, latency, and failure behavior against at least one alternative.
  3. 3Promote it into production only after reviewing repository permissions, license, and maintenance signals.

Trust profile

Sandbox only

Useful candidate with missing or mixed trust signals. Keep it in an isolated workspace until the outcome loop proves task fit.

64
OpenAgentSkill Trust Score

GitHub adoption

CHECK

42 GitHub stars

Stars/forks activity

CHECK

42 stars, 3 forks; issue activity unavailable in current metadata

Recent maintenance

PASS

Pushed today

License clarity

PASS

MIT

Good signals

  • AI review approved
  • Install path is available
  • Repository evidence is available
  • Recently maintained repository
  • Install command has no obvious high-risk pattern
  • Outcome loop is ready but needs first real agent run

Review before install

  • Financial research output is not financial advice; require human review before any live investment decision.
  • Low GitHub adoption signal
  • Quality score needs review
  • Permission surface needs review: secrets or environment access, shell or command execution
  • GitHub adoption: 42 GitHub stars
  • Stars/forks activity: 42 stars, 3 forks; issue activity unavailable in current metadata
  • Dependency/runtime risk: command execution surface, credential or environment access
  • Permission surface: secrets or environment access, shell or command execution
  • No real agent outcome reports yet
  • Human review required before unattended installation

Recommended action

Run only in a sandbox and compare close alternatives before using it for real work.

Quality profile

Promising candidate for agent workflows

Useful candidate, but compare it with alternatives before adopting.

63
GitHub stars
42
Freshness
Today
Install ready
Yes
License
MIT
Review before install: Low GitHub adoption signal

Workflow fit

Use this skill in these scenarios

Workflow fit

Add it to a complete workflow

Alternative shortlist

Compare before you install

Similar skills that may fit this task.

Compare all

Overview

--- name: handoff argument-hint: "[save|resume]" description: End-of-session save and next-session resume. Triggers "ending session", "wrapping up", "context window", "running out of context", "done for today" (save mode); "continue where we left off", "pick up where", "last session", "previous work", "resume" (resume mode). context: fork ---

# Session Handoff

Two-mode skill: **Save** state at end of session, **Resume** state at start of next session.

## Product-aware runner and state

Claude uses the installed runner and state under `~/.claude`:

```bash HANDOFF_RUNNER="$HOME/.claude/src/scripts/handoff.ts" CC_STATE_ROOT="$HOME/.claude" ```

Standalone Codex uses `${CODEX_HOME:-$HOME/.codex}/darkroom/source/src/scripts/handoff.ts`, but the plugin's stable handoff state is exposed only to hooks as `$PLUGIN_DATA`. In a Codex plugin hook, set `HANDOFF_RUNNER` to that runner and `CC_STATE_ROOT="$PLUGIN_DATA"`. Outside that environment, do not guess a cache path or write into `~/.claude`: manual Codex create/resume/list/clean is unavailable until the host exposes the same plugin-data path to the session.

## Mode: Save

Save current session state for later resumption. This is the **end-of-session boundary** skill — for mid-task rollback points before risky operations, use `/checkpoint`.

### Usage

```bash CC_SETTINGS_HOME="$CC_STATE_ROOT" bun "$HANDOFF_RUNNER" create ```

Or use the native command: ``` /handoff ```

### What Gets Saved

Every handoff — auto or manual — always captures real, git-derived data at creation time: - **Project**: name, path, current branch - **Pending changes**: `git status --porcelain` (first 20 lines) - **Key files**: uncommitted paths **union** the files the session ledger observed being changed (see below) - **Recent commits**: subjects of the last 3 commits - **Source**: `manual` or `auto` (see below)

In Claude, three additional sections are built purely from **observed** tool activity, not inference: - **Files Modified** — every path a `Write`/`Edit`/`NotebookEdit` touched - **Files Read** — every path a `Read` touched - **Tool Failures** — the exact tool name and error string, bounded and secret-redacted

These Claude-only sections come from the session ledger, a bounded JSONL at `~/.claude/tmp/session-ledger/<session_id>.jsonl` written by the `PostToolBatch` hook. It exists to fix a specific hole: **`git status` forgets everything you committed.** A file edited at the start of a long session and committed an hour later is invisible to a `git status`-only handoff, so the longer the session, the more of its work disappears from the record. The ledger stores paths, tool names, and error strings only — never file contents, prompts, or tool responses — and never infers, so a `Bash` command's success is recorded as *nothing* rather than as a guess.

Beyond that, what's actually filled in depends on how the handoff was created:

- **Manual** (`/handoff`, or `handoff.ts create --summary "text"`) — the `--summary` text becomes the Session Summary. Active Todos / Current Task / Notes for Next Session are placeholders (`<!-- ... -->`) for you (or the agent, before the turn ends) to fill in manually — the CLI has no way to know your in-progress todos, decisions, or learnings on its own. - **Automatic** (PreCompact/SessionEnd hooks call `create --from-hook`, `source: "auto"`) — Active Todos, Current Task, and Notes for Next Session stay as unfilled placeholders, but **Session Summary is no longer blank on the compaction path**: the `PostCompact` hook writes Claude Code's own `compact_summary` into the handoff that the preceding `PreCompact` created, matched on session id. That summary is the one record of intent, decisions, and rationale; the ledger sections are the record of artifacts. They are stored separately and never merged, so nothing inferred is presented as observed.

Standalone Codex hooks capture the git-derived fields through the shared runner, but Codex does not provide Claude's PostToolBatch session ledger or PostCompact `compact_summary` backfill. Do not claim those sections were observed in Codex.

On a Claude `SessionEnd` handoff (no compaction involved) Session Summary can still be empty — pair it with the structured compaction template below, or run a manual `/handoff` with `--summary` before ending a session.

### GitHub Issue Sync

If the current branch is linked to a GitHub Issue (e.g., `feat/123-description`):

1. **Post a progress comment** on the issue: ```bash gh issue comment 123 --body "## Session Update - Completed: [summary of work done] - Files modified: [list] - Next steps: [what remains]" ```

2. **Check off completed tasks** in the issue body if any task checkboxes were resolved during this session.

This ensures project progress is visible to the whole team, not just in local handoff files.

### Handoff Location

Handoffs are scoped per project (repo toplevel basename, or cwd basename outside a git repo) — a handoff saved in one project never surfaces as "latest" when you resume in another. Claude stores them below `~/.claude/handoffs`; Codex plugin hooks store them below `$PLUGIN_DATA/handoffs`:

``` ~/.claude/handoffs/ └── <project-name>/ ├── handoff_20260115_143000.md ├── handoff_20260115_143000.json ├── latest.md -> handoff_20260115_143000.md └── ... ```

Handoffs saved before this per-project scoping existed live under the flat `~/.claude/handoffs/` directory; `resume`/`list` fall back to that legacy directory exactly once, only when the current project has no scoped store of its own yet.

### When to Create Handoff

1. **End of work session** - Before closing Claude Code 2. **Context at 65%+** - Before manual compaction or context quality degrades 3. **Taking a break** - Preserve state for later 4. **Switching tasks** - Save before context switch 5. **Before compacting** - Auto-triggered by PreCompact hook

### Auto-Handoff

Both products create git-derived handoffs before compaction and at session end. Claude additionally provides the session-ledger and PostCompact behavior described above. Codex does not provide Claude's SessionStart handoff display or automatic pruning contract; do not promise either.

### Output

Confirms: - Handoff file created (and GitHub Issue updated if linked) - Location of file - Key information saved

---

### Claude context-window runbook (folded in from former `/context` skill)

The statusline shows live context usage:

``` Opus 5 | my-project | main*↑ | ▊░░░░░░░░░ 8% (84k/1.0M) ```

| Usage | Action | |-------|--------| | 65–79% | Save a checkpoint and compact or prepare a handoff | | 80–89% | Stop expanding scope and run `/handoff` | | 90%+ | Run `/handoff` **now** |

#### Model degradation thresholds

Degradation is not gradual — it follows a step function. Place critical information at the beginning and end — see `AGENTS.md` "Context Hygiene". Avoid burying key facts in the middle.

| Model | Noticeable degradation | Severe degradation | |-------|------------------------|--------------------| | Claude Opus 5 | ~100K tokens | ~180K tokens | | Claude Sonnet 5 | ~80K tokens | ~150K tokens | | Claude Haiku 4.5 | ~50K tokens | ~90K tokens |

Sonnet 5's tokenizer is ~30% heavier than Sonnet 4.6's, so it reaches these thresholds on noticeably less actual text — the token counts above are unchanged, but the same conversation fills them faster.

**Key patterns:** - **Lost-in-middle** — information in the center gets less attention - **Context poisoning** — a single wrong fact can corrupt reasoning on related topics - **Context distraction** — irrelevant info degrades performance on a step function, not proportionally

#### Structured compaction template

When compaction is unavoidable, populate this template — each section forces preservation of the dimensions most often lost:

```markdown ## Session Intent [What the user is trying to accomplish — the "why"]

## Files Modified - path/to/file.ts: What changed and why

## Files Read (Not Modified) - path/to/reference.ts: Why it was consulted

## Decisions Made - Decision 1: Rationale

## Errors Encountered - Error message → Resolution applied (or "still unresolved")

## Current State - Build status / test status / what works / what doesn't

## Next Steps 1. Immediate next action 2. Following action ```

The artifact trail (which files were touched, what changed) is universally the weakest dimension after compression. Dedicated sections force preservation of file paths, error messages, and decisions that would otherwise silently drift away.

#### Post-compaction validation

After compaction, probe 3–5 critical facts before continuing work:

1. "What files have I modified in this session?" 2. "What was the last error I encountered?" 3. "What approach did I decide on and why?" 4. "What are the remaining next steps?"

If any probe returns vague or incorrect answers, re-read the handoff file (`/handoff` resume mode) to restore critical context.

#### Reducing context proactively

1. **Use `context: fork`** — skills that fork don't bloat main context 2. **Delegate exploration** — let agents handle research 3. **Clean summaries** — agents return summaries, not raw output 4. **Avoid large file reads** — use TLDR for token-efficient analysis 5. **Offload large tool output** — write outputs >2000 tokens to scratch files; return summary + path 6. **Place critical info at edges** — beginning and end of context get more attention

---

## Mode: Resume

Load state from a previous session and continue work.

### Usage

```bash CC_SETTINGS_HOME="$CC_STATE_ROOT" bun "$HANDOFF_RUNNER" resume ```

Or use: ``` /handoff resume ```

### What Gets Loaded

- **Previous task**: What you were working on - **Progress**: What was completed - **Decisions**: Key choices made - **Files modified**: What was changed - **Next steps**: What remains - **Context**: Important information

### GitHub Issue Context

Before loading the local handoff, check for a linked GitHub Issue:

```bash BRANCH=$(git branch --show-current) ISSUE_NUM=$(echo "$BRANCH" | grep -oE '[0-9]+' | head -1)

if [[ -n "$ISSUE_NUM" ]]; then gh issue view "$ISSUE_NUM" --comments fi ```

If an issue is found, **present it as the primary context** — it's the shared source of truth. The local handoff supplements it with session-specific details.

Present a combined summary: - **From GitHub Issue**: Title, task progress (X/Y done), latest comments - **From local handoff**: Session-specific notes, open files, debug state

### Available Handoffs

In Claude, list handoffs for the current project: ```bash ls ~/.claude/handoffs/"$(basename "$(git rev-parse --show-toplevel 2>/dev/null || pwd)")"/ ```

### Resume Options

#### Most Recent ``` /handoff ``` Loads the most recent handoff for current project.

#### Specific Handoff ``` /handoff project-name-2024-01-15-1430 ``` Loads a specific handoff file.

#### List All ``` /handoff list ``` Shows available handoffs.

#### Clean Old Handoffs ```bash CC_SETTINGS_HOME="$CC_STATE_ROOT" bun "$HANDOFF_RUNNER" clean [keep] ``` Removes old handoff files, keeping the most recent `keep` (default: 20) of each type (`.json` and `.md`). SessionStart already prunes down to 20 automatically on every session, so this is only needed for on-demand cleanup (e.g. `clean 0` to wipe all handoffs).

### Workflow

1. **Check GitHub Issue** - Read linked issue for shared project context 2. **Load local handoff** - Read session-specific state 3. **Review combined context** - Understand where we left off 4. **Verify files** - Check current state vs handoff 5. **Continue work** - Pick up next steps from the issue task list

### Claude automatic session start

When starting a new session, the setup automatically: - Checks for linked GitHub Issue (reads context) - Recalls project learnings - Shows recent handoff if available - Displays context from previous work

Technical details

Version
1.0.0
License
MIT
Last updated
Aug 24, 2026
Published
Aug 24, 2026

Decision snapshot

Fallback candidate

62
Ready
Prototype
Stage

recent repository activity

Audit

Install review

Install and adoption review

76
Needs review
Security
77/100
Maintenance
100/100
Install
92/100
Open full auditView eval report

Agent-proven evidence

Agent-proven evidence

Outcome reports after resolve, review, install, and one narrow run.

0
Proven
Needs first agent runAuto-install: review firstLast: Unknown
Success rate
Recent failure
Outcomes
0
Output quality
Failed
0
Not relevant
0
Installs
0
Risk blocked
0
Setup needed
0
Production
0

No agent outcome data yet. The first agent run can report success, setup needs, risk blocks, failure, or not-relevant through /api/agent/outcome.

Install

Add to agent workflow

Free and open source. Review the report before installing into production agents.

Growth loop

Share kit

X

Scenario-led draft for handoff, ready for a manual X post.

Curator note
handoff: End-of-session save and next-session resume. Triggers "ending session", "wrapping up", "conte...

42 stars

https://www.openagentskill.com/skills/darkroomengineering-handoff?ref=x
Open X draft
Optional reply with install command
Listing + install path for handoff:
https://www.openagentskill.com/skills/darkroomengineering-handoff?ref=x

Install: npx skills add darkroomengineering/cc-settings --skill handoff

Listing source

Registry indexed

Claimable

This listing was indexed from public sources and is not marked official until a maintainer claim is approved.

Indexed by
OpenAgentSkill community index

Attribution links to the public repository or creator profile. Creators can claim the listing to update ownership signals.

Claim this skill

Owner claim

Claim this skill listing

This Registry indexed listing is attributed to darkroomengineering but is not marked official yet. Claim it to add a verified owner signal and make future launch, install, and audit updates easier to trust.

Creator backlink kit

Add the evidence badges to your README

Show the canonical listing, current trust and audit signals, and real Agent-Proven evidence where developers evaluate the repository.

[![Listed on OpenAgentSkill](https://www.openagentskill.com/api/badge/darkroomengineering-handoff?metric=listed&label=Listed)](https://www.openagentskill.com/skills/darkroomengineering-handoff)
[![OpenAgentSkill Trust](https://www.openagentskill.com/api/badge/darkroomengineering-handoff?metric=trust&label=Trust)](https://www.openagentskill.com/skills/darkroomengineering-handoff)
[![OpenAgentSkill Audit](https://www.openagentskill.com/api/badge/darkroomengineering-handoff?metric=audit&label=Audit)](https://www.openagentskill.com/skills/darkroomengineering-handoff/audit)
[![Agent Proven](https://www.openagentskill.com/api/badge/darkroomengineering-handoff?metric=proven&label=Agent%20Proven)](https://www.openagentskill.com/skills/darkroomengineering-handoff)

Author

D

darkroomengineering

@darkroomengineering

Health signals

GitHub stars
42
Quality score
35/100
Last GitHub push
Aug 24, 2026
Framework hints
Unknown
OpenAgentSkill views
0
Install copies
0
Outbound clicks
0

Community signal

Share whether this skill looks useful for your agent workflow. Aggregated feedback improves rankings over time.

Trust & safety

Sandbox only

64
  • GitHub adoption42 GitHub starsCHECK
  • Stars/forks activity42 stars, 3 forks; issue activity unavailable in current metadataCHECK
  • Recent maintenancePushed todayPASS
  • License clarityMITPASS
  • README/SKILL.md completenessMetadata includes enough usage and workflow contextPASS
  • Dependency/runtime riskcommand execution surface, credential or environment accessCHECK