TLDR
Handoff for a Claude-based architecture needs everything a traditional diagram needs (components, data flow, integration points) PLUS a set of GENERAL artifacts every Claude-based system needs regardless of build tooling: the eval suite that defines "working," prompt/config version history, an ADR-style decision record, and a runbook for known failure modes. Where Claude Code or the Claude Agent SDK is actually part of the build, there's a SEPARATE, narrower, CONDITIONAL layer on top - the .claude directory (CLAUDE.md, settings, hooks, skills, subagents) and Claude's own auto memory - which is not a substitute for the general package. Anthropic: code.claude.com/docs/en/memory Because model behavior and prompts drift, handoff is a sync contract, not a one-time snapshot.
What it is
Documenting a Claude-based architecture needs everything a traditional system diagram needs - components, data flow, integration points - plus a set of GENERAL artifacts that don't exist in non-AI systems and apply to ANY Claude-based architecture, regardless of what tooling built it: the eval suite that defines "working," the prompt/config versions that produced a given behavior, an ADR-style decision record, and a runbook for known failure modes. A handoff missing these lets the receiving team operate the system but not safely modify it.
A SEPARATE, narrower layer sits on top of that general package, and it is CONDITIONAL - it only applies when the build, or the running system itself, actually touches Claude Code or the Claude Agent SDK: the .claude directory (CLAUDE.md, .claude/rules/, settings.json, hooks, skills, commands, subagents) and Claude's own accumulated auto memory. This is Claude-Code-specific configuration - it governs how the coding tool behaves, and, when the production agent is itself built on the Agent SDK (which can load the same .claude/ sources at runtime), it can also shape the running system's behavior. Either way it's one component of a handoff, never the whole handoff package - a team that assembled its Claude-based system directly against the Messages API, with no Claude Code and no Agent SDK .claude/ loading, may have no .claude directory at all, and the general artifacts (eval suite, version history, ADR, runbook) are still required regardless.
Because model behavior can shift across releases and prompts drift under maintenance, handoff documentation for an agentic system is not a one-time snapshot the way a traditional architecture diagram often is. It has to specify how the build team keeps the documented behavior in sync with a system that keeps changing underneath it - who updates what, and when a model version bump or a prompt edit requires re-validation.
How it works
The eval suite is executable documentation of intended behavior, and it's a general artifact every Claude-based handoff needs. A build team without it can operate the system but cannot verify whether a later change - a prompt edit, a model version bump - regressed output quality, since traditional unit tests don't catch output-quality regressions the way an eval does.
Systematic prompt management is Anthropic's own named mechanism for prompt/config version history, not just a nice-to-have - and it's general, not Claude-Code-specific. Anthropic's own enterprise LLMOps guidance names it as a best practice on par with monitoring and security: version control, a central repository teams collaborate through, documentation of why each prompt was designed the way it was, and a testing framework to validate changes across scenarios. That is the concrete deliverable behind "hand over the prompt history," not a vague instruction, and it applies whether the system is built on Claude Code, the Agent SDK, or directly against the Messages API.
Architecture Decision Records capture what was rejected, not just what was chosen - general practice an AI-system handoff should still adopt. ADRs are a general software-architecture practice (not an Anthropic-published format) increasingly adapted for AI-system handoffs so a build team inherits the rationale for why a workflow pattern was chosen over an autonomous agent, and what alternatives were rejected, so a rejected approach doesn't get re-proposed from scratch after staff turnover. Treat the exact ADR template as something to verify against your own org's standard.
A runbook for known failure modes turns "the eval score dropped" into an actionable response, not just a detection signal - the fourth general artifact. The eval suite tells the receiving team WHETHER something regressed; a runbook tells them WHAT TO DO about it: who to page, whether to roll back a prompt/agent version (see Systems Life-Cycle Management for the rollback mechanics), and what an acceptable interim mitigation looks like while a fix is prepared. Without it, a detected regression still stalls on "now what."
Where Claude Code or the Agent SDK is genuinely part of the build, the `.claude` directory is the full configuration surface, not just the top-level file - but it's a CONDITIONAL, tool-specific layer, not part of the general package above. CLAUDE.md and auto memory are two different artifacts with two different owners: Anthropic's own Claude Code docs draw the line precisely - CLAUDE.md files are "instructions you write to give Claude persistent context" (reviewable, committed, team-owned), while auto memory is "notes Claude writes itself based on your corrections and preferences" (accumulated automatically, needs periodic audit). Beyond CLAUDE.md, .claude/rules/ (path-scoped conventions), settings.json, hooks, skills, commands, and subagents all independently shape running behavior when they're in play. A handoff that documents only CLAUDE.md and never mentions hooks or settings hands the receiving team an incomplete picture of what actually governs the system - but a handoff for a system with no .claude directory at all is not incomplete on that basis; it simply doesn't have this conditional layer to hand over.

Where you'll see it
Customer-support agent handoff to an internal platform team
The package includes an architecture diagram, the CLAUDE.md/rules files, an ADR explaining why a workflow pattern was chosen over a fully autonomous agent, the eval dataset and current pass rate, and a runbook for what to do when the eval score drops after a model version bump.
Systematic prompt management in practice
A central, version-controlled prompt repository with documented rationale lets a receiving team see not just the current prompt but why it changed, catching a regression before it reaches production.
Messages-API-only fraud-triage system, no `.claude` directory
Built directly against the Messages API with no Claude Code and no Agent SDK config loading. The handoff still delivers the full general package - architecture diagram, eval suite, prompt/config version history, an ADR, and a runbook - with no .claude/CLAUDE.md layer to hand over, since that conditional layer was never part of this build.
Side-by-side
| Handoff artifact | What it captures | Source / mechanism | Scope | Risk if omitted |
|---|---|---|---|---|
| Architecture diagram | Input channel, processing loop, tool registry, escalation queue | Standard software-architecture practice | General - every system | Receiving team can't see the system's overall shape |
| Eval suite + pass rate | What "working" means, in executable form | Test cases and a pass/fail bar defined during build | General - every Claude-based system | No way to detect a later regression |
| Prompt/config version history | Why each prompt is written the way it is, and what changed | Systematic prompt management (version control + testing framework) | General - every Claude-based system | A prompt edit silently breaks behavior no one can trace |
| ADR (decision rationale) | What was decided, what was rejected, and why | General software-architecture practice - verify org template | General - every Claude-based system | Rationale is lost at staff turnover; a rejected approach gets re-tried |
| Runbook (failure-mode response) | What to do when the eval score drops - rollback steps, escalation, interim mitigation | Incident-response practice adapted to AI systems | General - every Claude-based system | A detected regression stalls with no defined next step |
| CLAUDE.md / rules / auto memory audit | Committed, team-owned instructions vs Claude's own accumulated notes | code.claude.com/docs/en/memory distinction | Conditional - only if Claude Code / Agent SDK .claude/ loading is genuinely part of the build | Where this layer IS in scope: team can't tell what's reviewable from what silently drifted |
Question patterns

An architect hands off a customer-support agent with an architecture diagram and a CLAUDE.md file, but no eval suite. What can the receiving team NOT safely do?
"the CLAUDE.md file is sufficient documentation for both operating and modifying the system" - CLAUDE.md documents instructions, not a pass/fail quality bar.Six months post-handoff, a receiving team can't tell whether a behavior came from the committed CLAUDE.md or from something Claude accumulated on its own. What handoff gap does this reveal?
"CLAUDE.md and auto memory are functionally the same thing for handoff purposes" - one is team-owned and reviewable, the other accumulates automatically and needs its own audit step.A build team receives only a CLAUDE.md file as "the configuration," but the running system's actual behavior is also shaped by hooks and settings.json the architect never documented. What's the gap?
.claude directory (CLAUDE.md, settings.json, hooks, skills, commands, subagents, rules) - the real config surface is broader than one file. Named distractor: "CLAUDE.md is the complete configuration surface for a Claude Code-based system" - hooks and settings.json can independently govern behavior CLAUDE.md never mentions.A new model version releases after handoff, and the receiving team adopts it immediately because "newer is better," without re-running anything. What handoff artifact would have prevented a silent regression here?
"a newer model version is strictly an improvement and doesn't need re-validation" - model behavior shifting across versions is precisely why the eval suite has to be part of the handoff.An architect documents why a workflow pattern was chosen over a fully autonomous agent, but never records what alternatives were considered or why they were rejected. What documentation gap remains?
"documenting the chosen approach is sufficient; rejected alternatives don't need to be recorded" - without that record, staff turnover means the rejected path gets re-tried from scratch.A team built a production fraud-triage system directly against the Messages API - no Claude Code, no Agent SDK, no `.claude` directory anywhere. At handoff, they have nothing resembling CLAUDE.md to hand over. Is the handoff incomplete on that basis?
.claude is Claude Code / Agent SDK configuration - a conditional layer, not a universal requirement. What every Claude-based system needs, this one included, is the general package: architecture diagram, eval suite, prompt/config version history, an ADR, and a runbook. The absence of a .claude directory here is expected, not a gap. Named distractor: "the handoff is incomplete without a .claude directory and CLAUDE.md" - that treats a Claude-Code-specific artifact as if it were universally required of every Claude-based system.Frequently asked
Is a CLAUDE.md file itself a complete handoff package?
.claude directory: hooks, settings, skills, rules, auto memory) that only applies when Claude Code or the Claude Agent SDK is genuinely part of the build or the running system. Every Claude-based system, regardless of build tooling, needs the GENERAL package instead: an architecture diagram, an eval suite, prompt/config version history, an ADR-style decision record, and a runbook - CLAUDE.md is not a substitute for any of those.Does every Claude-based system have a `.claude` directory to hand over?
.claude is Claude Code / Agent SDK configuration. A production Claude integration built directly against the Messages API, with no Claude Code and no Agent SDK .claude/ loading, may have none of it - the general handoff artifacts (eval suite, version history, ADR, runbook) still apply regardless of whether .claude is in the picture.Does handoff documentation need updating after the initial write-up?
Work this with your AI
Work this concept hands-on with Claude Code, Codex, or claude.ai. Copy a prompt, paste it into your assistant, and practise in tandem. Each one keeps you active (explain it back, get drilled, or build) rather than just reading.
- Drill it like the exam (scenario MCQs)Practice in the exam's scenario-MCQ format with trap awareness.
- Explain it back (Feynman)Build durable, transferable understanding of a concept you can half-state.
- Test me, adapting the difficultyActive recall practice on a concept you think you know.
- Check my prerequisites firstBefore studying a concept that keeps not sticking.
- Find the high-leverage 20%When a domain feels too big and you are short on time.
