mcpbeat

Handoff

nexu-io/handoff

Push the run's accepted artifact to a downstream collaboration surface (cli, other code agents, cloud, desktop) and stamp the artifact manifest with the export target.

781 tokens
context cost
the whole folder, loaded on every use
2
files
instructions only
0
copies elsewhere
how many repositories repackaged it
83386
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/nexu-io/open-design --skill handoff

What comes with it

930 bytes besides the instruction
open-design.json

The instruction itself

7 sections, as written by the author

Handoff

Spec §11.5.1 / §21.5: an OD run isn't done when the artifact

exists — it's done when the artifact reaches the surface the user

will keep iterating on. This atom is the "push it somewhere"

stage. It's the natural counterpart to diff-review.

Inputs

  • The accepted artifact set (after diff-review resolved with

decision: 'accept' | 'partial').

  • The export target (one of the surface enum values from

ArtifactManifest.exportTargets[].surface).

Surfaces

| surface | typical follow-on |

| --- | --- |

| cli | the user runs od files read against the project; no extra push |

| desktop | open the project in the OD desktop app |

| web | publish to the public marketplace via spec §13's od:// deep link |

| docker | wrap the artifact into a self-contained container (calls the §15.4 image) |

| github | open a PR via od plugin publish --to <catalog> |

| figma | round-trip back into the figma-migration source file |

| code-agent | hand off to Cursor / Claude Code / Codex sitting on top of the project cwd |

Output

Updates ArtifactManifest.exportTargets[] with a row per push,

appending — never replacing — so the artifact's distribution

history stays append-only.

Convergence

The atom completes when at least one exportTargets[] entry

matches the user's intent or the user explicitly skipped via the

confirmation GenUI surface.

Anti-patterns the prompt fragment forbids

  • Pushing the artifact to a surface that wasn't on the user's

intent list.

  • Mutating sourcePluginSnapshotId (it's immutable; the export

trail is additive).

  • Treating figma as a no-op when the user's source was a Figma

file — round-trip is the whole point of the figma-migration

scenario.

Status

Implemented by the daemon runner in

apps/daemon/src/plugins/atoms/handoff.ts. It records provenance,

handoffKind, and export targets, then persists the updated artifact

manifest.

How to use it

Copy the folder

Take nexu-io/handoff from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.