Skip to content

Guide · Agent skill

How to use the Artifact Handoff agent skill (handoff)

Updated · written with AI from the project's own documentation and checked against our catalogue data

Artifact Handoff is an agent skill, a packaged set of instructions that an AI agent loads when a request matches it. This one belongs to the Open Design project (nexu-io/open-design, Apache-2.0). Once an agent has produced an artifact and you have accepted it, the skill sends that artifact to the place you will keep working on it and records the push in the artifact's manifest. This guide explains what it does, how to install it, how to trigger it, and what to watch for.

Artifact Handoffnexu-io/open-design · Apache-2.0

Quick start

  1. 1Set up the environment. Make sure the Open Design daemon and a project are running. The skill has nothing to act on without them.
  2. 2Download the ZIP. Download the handoff skill ZIP from the directory page.
  3. 3Install the skill. Unzip into ~/.claude/skills/ for personal use or .claude/skills/ for one project, or upload the ZIP under Settings → Capabilities → Skills.
  4. 4Accept the artifact. Review the output and accept it, or partially accept it, in the review step.
  5. 5Ask for a handoff. Name the artifact and the surface you want, such as desktop, Cursor or a GitHub pull request.
  6. 6Check the manifest. Confirm that a new export row was appended to the artifact manifest.

What the handoff skill makes the agent do

An Open Design run is not finished when the artifact exists. It is finished when the artifact reaches the surface you will keep iterating on. The handoff skill is the step that pushes an accepted artifact somewhere else. It is the counterpart to the diff-review step, which is where you accept or partially accept the output.

The skill takes two inputs: the accepted artifact set and an export target. It supports seven surfaces: cli, desktop, web, docker, github, figma and code-agent. Each surface has a typical follow-on action, described below. Every push is written to the artifact manifest as a new row, so the distribution history is append-only and earlier entries are never replaced.

  • cli: you run od files read against the project; no extra push is needed.
  • desktop: the project opens in the Open Design desktop app.
  • web: the artifact is published to the public marketplace through an od:// deep link.
  • docker: the artifact is wrapped into a self-contained container.
  • github: a pull request is opened with od plugin publish --to <catalog>.
  • figma: the output is round-tripped back into the figma-migration source file.
  • code-agent: the project is handed to Cursor, Claude Code or Codex working on the project directory.

Install the handoff skill

Download the handoff skill as a ZIP from the directory page. Then choose one of two routes.

For a personal install, unzip the file into ~/.claude/skills/. For a single project, unzip it into the project's .claude/skills/ folder. In the Claude apps, you can instead upload the ZIP under Settings → Capabilities → Skills.

The package contains two files: open-design.json and SKILL.md. SKILL.md holds the instructions the agent reads.

  • Personal: ~/.claude/skills/
  • Per project: .claude/skills/ inside the project
  • Claude apps: Settings → Capabilities → Skills, then upload the ZIP

What you need before it works

The skill only works inside an Open Design environment. The source describes it as an Open Design daemon and project environment, with the handoff runner in apps/daemon. If you have not set up the daemon and a project, install the skill later; it will have nothing to act on.

Some surfaces need more. The Open Design CLI (od) is required for the cli, github and file-read follow-ons. Docker is required for the docker surface. Figma access is required for the figma surface. GitHub credentials are needed for the github surface. The source does not state the GitHub requirement directly; it is inferred from opening a pull request.

  • Open Design daemon and project environment (handoff runner in apps/daemon)
  • Open Design CLI (od) for cli, github and file-read follow-ons
  • Docker for the docker surface
  • Figma access for the figma surface
  • GitHub credentials for the github surface (inferred, not stated in the source)

Trigger the skill with natural requests

You do not need a special command. Ask in plain language, naming the artifact and the place you want it to go. The skill is meant for the moment after you have accepted an output, so make the acceptance explicit first.

Name the surface in your request. If you do not name one, the agent should work from the targets you intended. The skill is designed not to push to surfaces outside your intent list.

  • "I accept this design. Open it in the desktop app."
  • "Hand this accepted artifact to Cursor so I can keep editing the code."
  • "Push the accepted plugin to a GitHub pull request for the catalog."
  • "Round-trip this output back to my Figma source file."

Safety notes: scripts and network

The skill runs scripts and uses the network. Pushes to the web marketplace or to GitHub expose content to other people. The source says the push is hard to undo. Review an artifact before sending it to a public surface, and do not send sensitive or unreviewed work there.

The skill also has rules against certain actions. It must not push to a surface that was not on your intent list. It must not change sourcePluginSnapshotId, which is immutable; the export trail is additive only. It must not treat a Figma-sourced artifact as a no-op, because round-trip is the purpose of that scenario.

  • Public surfaces (web, github) are hard to reverse; review first.
  • Only surfaces on your intent list should receive the artifact.
  • sourcePluginSnapshotId must not be changed.

Tips for reliable handoffs

Accept or partially accept the artifact in the review step before asking for a handoff, since the skill expects an accepted set. Keep one clear export target per request so the manifest row is easy to read later. Check the manifest history after a push to confirm the entry was appended.

The handoff is considered complete when at least one export target matches your intent, or when you explicitly skip it through the confirmation step.

  • Accept or partially accept first; the skill expects an accepted set.
  • Ask for one target at a time.
  • Check the manifest's export history after each push.

What people use it for

  • Move an accepted design from Open Design into the desktop app to keep iterating.
  • Hand an accepted project to Cursor or Claude Code working on the project directory.
  • Open a pull request that publishes a plugin to a catalog.
  • Round-trip an output back into a Figma source file for designers.
  • Wrap an artifact into a container with the docker surface.

Frequently asked questions

How do I install the Artifact Handoff agent skill?

Download the handoff ZIP from the directory page and unzip it into ~/.claude/skills/ for personal use, or into .claude/skills/ inside a project. In the Claude apps you can instead upload the ZIP under Settings → Capabilities → Skills.

What are the requirements for the handoff skill?

You need the Open Design daemon and project environment, with the handoff runner in apps/daemon. The Open Design CLI (od) is needed for cli, github and file-read follow-ons, Docker for the docker surface, and Figma access for the figma surface. GitHub credentials are needed for the github surface, although the source only infers this.

Is the handoff skill free and what is its licence?

The source lists the licence as Apache-2.0. The source does not mention pricing, so check the directory page for any cost details before relying on it.

Does the handoff skill work without Open Design?

No. The source says it only works inside the Open Design daemon and project environment. Without that setup there is no artifact or manifest for it to act on.

Is it safe to push artifacts to GitHub or the web marketplace?

Use caution. The skill runs scripts and uses the network, and pushes to public surfaces such as the web marketplace or GitHub expose content to others and are hard to undo. Review sensitive or unreviewed artifacts before sending them there.

What can I use instead of the handoff skill?

The source does not name alternatives. You can always move an accepted artifact by hand, for example by opening the project in your editor or repository, but the source does not compare this skill with other tools.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Artifact Handoff suits developers and designers already working inside Open Design who want accepted outputs moved into an editor, the desktop app, Figma or a repository, with an append-only record of each push. It is a poor fit if you have not set up the Open Design daemon and project, or if you plan to send sensitive or unreviewed work to public surfaces such as the web marketplace or GitHub.

Download the skill