Install any skill in seconds. Free to start, no credit card required.
Get Started Free →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.
.claude/skills/nexu-io-handoff/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -46% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -3% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 19% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -16% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -25% | 0% |
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.
diff-review resolved withdecision: 'accept' | 'partial').
surface enum values fromArtifactManifest.exportTargets[].surface).
| 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 |
Updates ArtifactManifest.exportTargets[] with a row per push, appending — never replacing — so the artifact's distribution history stays append-only.
The atom completes when at least one exportTargets[] entry matches the user's intent or the user explicitly skipped via the confirmation GenUI surface.
intent list.
sourcePluginSnapshotId (it's immutable; the exporttrail is additive).
figma as a no-op when the user's source was a Figmafile — round-trip is the whole point of the figma-migration scenario.
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.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-21 | pass→fail | 16,726 | 10,850 | -35% | 1 | 1 | 0% | 3,051 | 2,387 | -22% | 0 | 0 | — |
case-01 | fail→pass | 12,674 | 7,733 | -39% | 1 | 1 | 0% | 2,705 | 1,471 | -46% | 0 | 0 | — |
case-02 | fail→pass | 8,659 | 4,886 | -44% | 1 | 1 | 0% | 1,413 | 1,370 | -3% | 0 | 0 | — |
case-03 | fail→pass | 7,842 | 6,460 | -18% | 1 | 1 | 0% | 1,381 | 1,650 | +19% | 0 | 0 | — |
case-04 | fail→pass | 8,278 | 3,712 | -55% | 1 | 1 | 0% | 1,359 | 1,140 | -16% | 0 | 0 | — |
case-05 | fail→pass | 10,816 | 5,805 | -46% | 1 | 1 | 0% | 1,969 | 1,478 | -25% | 0 | 0 | — |
case-06 | fail→pass | 6,173 | 4,748 | -23% | 1 | 1 | 0% | 1,027 | 1,341 | +31% | 0 | 0 | — |
case-07 | fail→pass | 7,317 | 4,178 | -43% | 1 | 1 | 0% | 1,285 | 1,192 | -7% | 0 | 0 | — |
case-08 | pass→pass | 7,003 | 4,471 | -36% | 1 | 1 | 0% | 1,252 | 1,234 | -1% | 0 | 0 | — |
case-09 | fail→pass | 10,880 | 3,054 | -72% | 1 | 1 | 0% | 1,725 | 1,097 | -36% | 0 | 0 | — |
case-10 | fail→fail | 10,836 | 3,118 | -71% | 1 | 1 | 0% | 1,655 | 1,138 | -31% | 0 | 0 | — |
case-11 | fail→fail | 8,081 | 4,075 | -50% | 1 | 1 | 0% | 1,183 | 1,147 | -3% | 0 | 0 | — |
case-12 | pass→pass | 10,063 | 5,408 | -46% | 1 | 1 | 0% | 1,609 | 1,425 | -11% | 0 | 0 | — |
case-13 | fail→pass | 5,664 | 3,353 | -41% | 1 | 1 | 0% | 999 | 1,080 | +8% | 0 | 0 | — |
case-14 | fail→pass | 6,472 | 4,508 | -30% | 1 | 1 | 0% | 1,091 | 1,303 | +19% | 0 | 0 | — |
case-15 | fail→pass | 9,954 | 3,521 | -65% | 1 | 1 | 0% | 1,781 | 1,096 | -38% | 0 | 0 | — |
case-16 | fail→pass | 15,239 | 4,781 | -69% | 1 | 1 | 0% | 2,227 | 1,245 | -44% | 0 | 0 | — |
case-17 | fail→pass | 22,436 | 6,359 | -72% | 1 | 1 | 0% | 3,887 | 1,543 | -60% | 0 | 0 | — |
case-18 | pass→pass | 8,476 | 3,171 | -63% | 1 | 1 | 0% | 1,306 | 1,083 | -17% | 0 | 0 | — |
case-19 | fail→pass | 10,028 | 4,026 | -60% | 1 | 1 | 0% | 1,539 | 1,160 | -25% | 0 | 0 | — |
case-20 | pass→fail | 15,496 | 14,868 | -4% | 1 | 1 | 0% | 2,549 | 2,946 | +16% | 0 | 0 | — |
case-22 | pass→pass | 17,669 | 14,974 | -15% | 1 | 1 | 0% | 3,248 | 2,926 | -10% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +55 percentage points is the difference between those two pass rates over the 22 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.