handoff
Generate a context-rich briefing prompt for an external agent (Claude Code, Cursor, etc.)
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Generate a context-rich briefing prompt for an external agent (Claude Code, Cursor, etc.)
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Maintain a support docs pack — dedup, length budgets, and no splintering — and land changes as a reviewed pull request. Use when a support thread, or a hand-off from Support assist, surfaces a new resolution, a correction to an existing one, or a deployment quirk worth recording. Not for ordinary code changes.
Run a support investigation as a suggest-and-interpret loop, never executing anything yourself — orient to the product's support pack and follow the signal with judgment. Use when someone asks for help triaging, investigating, or resolving an operational or support issue on a deployment. Not for feature-development cards (see investigate-and-fix and implement-this).
Run the Tamanu release-branch CUTOFF checks when preparing to cut a new release/X.YY branch: confirm the previous release's hotfixes are merged to main, reconcile the commits since the previous release against the "Merged to main" card list from Linear, and scan for data/reporting/schema changes. Use when the user is cutting a Tamanu release and wants to verify the codebase is ready, wants to check main against the previous release branch, or wants to reconcile commits with a Linear "Merged to main" column (they should paste the card list). Handles Tamanu's train-release model (release/X.YY branches vs vX.YY.Z patch tags) and the cherry-pick model where the same logical fix has different SHAs on different branches. Purely git-based — no live database or Canopy access needed. Not for verifying an existing release branch's hotfix integrity (see pre-release-checks) or for deciding which tests to run (see scope-tamanu-release-tests).
Check upgrade safety for a Tamanu upgrade that spans many versions: verify that every intermediate hotfix is included in the target version, and surface the new configuration/settings, data migrations, and FHIR rematerialisation impact the upgrade brings. Use when the user wants to check an upgrade from one Tamanu version to another (e.g. "check hotfixes from v2.31 to v2.47"), confirm no intermediate hotfix was dropped, or understand what config, migrations, and FHIR rework a multi-version jump requires. Handles Tamanu's train-release model (release/X.YY branches vs vX.YY.Z patch tags) and the cherry-pick model where the same logical fix has different SHAs on different branches. Purely git-based — no live database or Canopy access needed. Not for cutting a release (see release-cutoff-checks) or deciding which tests to run (see scope-tamanu-release-tests).
Run Tamanu pre-release verification checks: verify that hotfixes on the current release branch are merged forward to main, and that hotfixes from prior release branches are included in the current release. Use when the user wants to run "pre-release checks", verify hotfix integrity before cutting or shipping a Tamanu release, confirm a release/X.YY branch is safe to release, or check that no hotfix has been orphaned (left on neither main nor the current release). Handles Tamanu's train-release model (release/X.YY branches vs vX.YY.Z patch tags) and the cherry-pick model where the same logical fix has different SHAs on different branches. Purely git-based — no live database or Canopy access needed. Not for deciding which tests to run (see scope-tamanu-release-tests).
Draft or refine the project's PRD from the description and conversation
| name | handoff |
| description | Generate a context-rich briefing prompt for an external agent (Claude Code, Cursor, etc.) |
| label | Handoff |
| pill-order | {"not-started":7,"specifying":5,"implementing":6,"reviewing":6} |
| workhorse-version | 0.1.0 |
The user wants to hand off work on this card to an external agent (Claude Code, Cursor, or another AI tool). Generate the briefing prompt in one pass — do not ask the user to confirm focus first.
claude-cli:// deep link), alongside the standard copy button. The deep link URL-encodes the block and is capped near 4500 encoded characters, so a full briefing routinely overflows it and disables the button. To avoid that:
.workhorse/handoffs/{card-id}/handoff.md (create the folder if it doesn't exist). Workhorse commits and pushes this file with the card's branch at the end of your turn — you do not commit it yourself.<card-branch> and pull the latest so the committed handoff.md is present (the branch may already exist locally but be stale), and directs it to read .workhorse/handoffs/{card-id}/handoff.md for its full briefing and follow it. Keep the pointer well under 1000 characters so the deep link always fits.handoff.md file itself is exempt: it is a real file, not embedded in a fence, so it may contain fenced code blocks freely.handoff.md, teach the agent how to find information (read the specs, diff the branch) rather than inlining large file contents.handoff.md, say so in that line.Whether delivered inline or written to handoff.md, the briefing contains these sections, in order:
1. Workhorse context — explain the spec-driven workflow:
specs/ as structured markdown with YAML frontmatter and checkbox acceptance criteria.workhorse/design/mockups/{card-id}/ as standalone HTML with inline CSS.workhorse/design/design-system.md.workhorse/plans/{card-id}/ — a free-form markdown working document with tech design notes and/or a checklist of build steps. Read it first if it exists, tick items (- [ ] → - [x]) as work completes, and expand steps into sub-items if they turn out larger than anticipated2. Card context — the card title, identifier, and description (when present)
3. Branch instructions — tell the agent which branch to check out and to diff it against the upstream base branch to understand what specs and mockups have been added or changed
4. Journal summary — summarise what has happened so far on this card based on the conversation history (what was discussed, what decisions were made, what work was done)
5. Conversation context — compress the key points from the conversation: decisions made, open threads, areas explored, any unresolved questions. This gives the external agent continuity
6. Focus instructions — what the external agent should do, based on the focus you inferred