Installs into .claude/skills of the current project.
Are you the author of Design Handoff?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/dmlguq456-design-handoff-10e3d7e4)
---
name: design-handoff
description: "Use only when autopilot-design dispatches the development-handoff packaging stage. Not for top-level user requests or primary capability routing."
metadata:
portable_source: capabilities/design-handoff.md
adapter: opencode
invocation_class: parent-invoked
---
# design-handoff
This is an OpenCode-native Skill projection generated from the portable
capability contract. It is adapter-owned output, not a legacy compatibility Skill copy.
## Source
- Portable source: `capabilities/design-handoff.md`
- Runtime check: `adapters/opencode/bin/preflight.sh capability-info design-handoff`
- Bootstrap: `adapters/opencode/AGENTS.md`
## Use
1. Read `capabilities/design-handoff.md` for the runtime-neutral contract.
2. Run `adapters/opencode/bin/preflight.sh capability-info design-handoff`.
3. Obey the reported status:
- `instruction-only`: use this Skill as OpenCode guidance plus explicit preflight guards.
- `tool-contract`: report the named `tool_contract`, run any `tool_contract_check`, and obey `runtime_surface` / `fallback` before claiming full support.
- `unsupported`: stop or use the reported `fallback`.
## Shape
- Identifier: `design-handoff`
- Invocation class: `parent-invoked`
- Supported modes: `none`
- Argument shape: `<design path or app path>`
- Portable meaning: Package design results as assets and specifications for development handoff.
## Portable Contract
- Invocation semantics: Final handoff — consolidates design artifacts into a single handoff.md that frontend devs (or autopilot-spec build phase) can use directly. Lists components, token paths, import paths, reproduction guide. Adapters may expose this capability through native commands, skill files, prompt instructions, or explicit wrappers. The adapter must report unsupported runtime mechanics instead of silently treating another runtime's native file format as portable.
## Projected Portable Details
## Artifact Ownership
Artifact root: `core/CONVENTIONS.md §5.1`; output placement: `§5`.
## Artifact Producer Lifecycle
`design-handoff` is a `standard+` stage worker: it never issues its own campaign or
cycle. It receives the owner's open cycle through
`AGENT_ARTIFACT_CAMPAIGN_ID`/`AGENT_ARTIFACT_CYCLE_ID`/`AGENT_ARTIFACT_PRODUCER_ID`/
`AGENT_ARTIFACT_CYCLE_DIR`/`AGENT_ARTIFACT_OUTPUT_DIR` (dispatch env
pass-through), may call `utilities/artifact_producer.py begin --node <node id>`
on the same route to resume that cycle, and writes only inside
`<cycle_dir>/artifacts/<bucket>/...` within its node `write_scope`.
`artifact_producer.py` owns the open cycle and its output paths; `finalize` and
`admit-shared` belong to the owner, never to a stage worker. See
`producer_lifecycle` in `capabilities/topologies.json`.
## Role Requirements
Use portable role names from `roles/README.md` and `core/CONVENTIONS.md`. Concrete model names, subagent frontmatter, and runtime-specific tool lists belong in adapter files.
## Guard Requirements
Adapters must preserve the portable invariants relevant to this capability:
- resolve artifact root through `utilities/artifact-root.sh` or equivalent logic;
- use DB memory paths, not runtime-native memory files.
## Workflow Evidence
- For workflow state: `adapters/opencode/bin/preflight.sh status [cwd] [session-id]` and `adapters/opencode/bin/preflight.sh prompt-signal [cwd] [session-id]`
Do not use legacy compatibility Skill files or non-native adapter Skill files
as OpenCode-native source. Those files are compatibility/reference surfaces only.