{
  "schema_version": 2,
  "id": "cw:kit:agent-handoff",
  "slug": "agent-handoff",
  "title": "Hand a project to a fresh agent",
  "summary": "Give it the project's state. Get a handoff file a new agent can pick up.",
  "family": "handover",
  "revision": "2.0.1",
  "source_digest": "sha256:0e84e77be2ca463f307d2103f2e72179f1d1f23bab1468b950821c004254fa9b",
  "lifecycle": "active",
  "canonical_url": "https://codexwork.com/kits/agent-handoff/",
  "corrections_url": "https://codexwork.com/changes/",
  "license": {
    "status": "reserved",
    "identifier": null,
    "notice": "Original materials by CodexWork. Use as described in the accompanying guide; no broader redistribution license is granted. Third-party materials retain their own terms.",
    "scope": "LICENSES.md"
  },
  "publication": {
    "status": "authorized"
  },
  "reuseLicense": {
    "status": "not-granted",
    "identifier": null
  },
  "release": {
    "id": "codexwork-2026-10",
    "mode": "production"
  },
  "stops": [
    {
      "text": "Unresolved decisions for the receiver",
      "guide_stops": [
        "08"
      ]
    },
    {
      "text": "Access the receiver needs (the file grants none)",
      "guide_stops": [
        "08"
      ]
    },
    {
      "text": "Sending the handoff or running the next task",
      "guide_stops": [
        "06"
      ]
    }
  ],
  "settled_by_brief": [],
  "inputs": [
    "Authorized project files and current work record",
    "Scope, desired outcome and the receiver’s known access"
  ],
  "outputs": [
    "Self-contained handoff file",
    "Source and validation references",
    "Next action with stop conditions"
  ],
  "steps": [
    "Provide the current work record and the files the next agent can actually access.",
    "Generate a handoff focused on the next concrete action.",
    "Check sources; use a separately authorized fresh receiver when available."
  ],
  "instruction": "Prepare a handoff from the authorized files I provide so a fresh agent can continue without this chat. Use the project’s current files as evidence; distinguish confirmed facts, judgments and unknowns. Do not assume the receiver can see local paths, credentials, browser sessions or attachments unless its access is confirmed.\n\nSave handoff.md with the objective, current state, authoritative source paths/links, completed changes, actual validation results, unresolved decisions, next action, expected output and stop conditions. Include only history that changes the receiver’s work. Mark unrun checks as unrun and proposals as proposals. Describe how to obtain needed inputs without granting access or exposing secrets.\n\nCheck the handoff against its source files. If an independent fresh receiver is available and its use is authorized, let it attempt the next action using only the handoff and accessible inputs, and record what it actually did. Otherwise label the check “Source check only; fresh receiver not tested.” Do not simulate a receiver and call that independent proof. Do not send the handoff to another chat/person, run the next task or grant access unless separately authorized. Return the saved handoff and remaining access gaps.",
  "checks": [
    "The next action is possible from the supplied handoff and accessible files.",
    "Actual validation, unrun checks and open decisions are distinct.",
    "Private data and inaccessible machine paths are not mistaken for usable shared inputs.",
    "A source check is not labeled an independent receiver test."
  ],
  "limits": [
    "Separate chats do not automatically share context, files or permissions.",
    "A handoff cannot transfer credentials or computer access by describing them.",
    "Creating a new chat, messaging it and executing its next task require actual authorization."
  ],
  "evidence": {
    "level": "source-backed-pattern",
    "label": "Designed method · documented tool support",
    "checked": "2026-10-13",
    "sources": [
      {
        "title": "Long-running work",
        "url": "https://learn.chatgpt.com/docs/long-running-work"
      },
      {
        "title": "Dot tasks and memory",
        "url": "https://learn.chatgpt.com/docs/dots/tasks-and-memory"
      },
      {
        "title": "Claude Code permissions",
        "url": "https://code.claude.com/docs/en/permissions"
      }
    ],
    "testNote": "No recorded run of this exact instruction yet. Official sources document relevant tool support; the task method and synthetic sample are authored examples, not vendor-tested procedures.",
    "class": "designed"
  },
  "sources": [
    {
      "title": "Long-running work",
      "url": "https://learn.chatgpt.com/docs/long-running-work"
    },
    {
      "title": "Dot tasks and memory",
      "url": "https://learn.chatgpt.com/docs/dots/tasks-and-memory"
    },
    {
      "title": "Claude Code permissions",
      "url": "https://code.claude.com/docs/en/permissions"
    }
  ],
  "source_refs": [],
  "source_mapping": "unresolved historical mapping",
  "platforms": [
    "codex",
    "work",
    "cowork",
    "claude-code"
  ],
  "files": [
    "LICENSES.md",
    "README.md",
    "SKILL.md",
    "brief.md",
    "checks.md",
    "evidence.json",
    "examples/agent-handoff/designed-example.html",
    "examples/agent-handoff/designed-example.md",
    "examples/agent-handoff/input.md",
    "failure-notes.md",
    "input-template.md",
    "instruction.txt",
    "kit.json",
    "limits.md",
    "manifest.json",
    "output-specification.md",
    "sources.md"
  ],
  "manifest_url": "https://codexwork.com/kits/agent-handoff/manifest.json",
  "markdown_url": "https://codexwork.com/kits/agent-handoff.md",
  "skill_url": "https://codexwork.com/kits/agent-handoff/SKILL.md",
  "download": {
    "url": "https://codexwork.com/kits/agent-handoff.zip",
    "sha256": "76e15dae7ef8949ed8aaa8941e2d25f790a44773d41faa6c9e31f7b4ca59e6df",
    "bytes": 28852,
    "root": "codexwork-agent-handoff/"
  }
}
