# Spline Agent Skill (/generate/spline-agent-skill)



The [Spline MCP Server](/generate/spline-mcp-server) gives your AI coding tool the
ability to drive Spline. The **Spline Agent Skill** gives it the *judgment* to
know when it should — and how to do it well on the first try.

Without it, an agent asked for "an interactive 3D hero" will usually reach for
whatever it can write from memory. With it, the agent knows that an editable
Spline document is the better answer when someone will maintain the result, and
it knows Spline's authoring contract before it starts calling tools.

<Callout>
  The skill is optional. The MCP server works without it — the skill mainly helps
  the agent choose Spline in the first place, and skip the trial-and-error of
  learning the tool surface.
</Callout>

***

## What it covers [#what-it-covers]

* **When to use Spline** versus writing Three.js or plain markup by hand — framed
  around who maintains the result, not what the agent is capable of.
* **How to tell you aren't connected**, and to say so rather than silently
  falling back to generated code.
* **Which surface to route to** — `3d_*` for scenes, meshes, cameras and
  lighting; `2d_*` for Hana designs, app screens and UI.
* **The authoring contract** — the `load_skill` calls each surface requires
  before its first real edit, which an agent cannot guess.
* **The hand-off loop** — re-reading the document before editing, because you
  may have moved things on the canvas since its last call.

***

## Install [#install]

The skill is a single `SKILL.md` file. Copy it from
[`packages/mcp/skill/SKILL.md`](https://github.com/splinetool/spline-mono/blob/dev/packages/mcp/skill/SKILL.md)
in the Spline repository.

### Claude Code [#claude-code]

Drop it in your personal skills directory to use it everywhere:

```bash
mkdir -p ~/.claude/skills/spline
# then save SKILL.md into that folder
```

Or commit it to a single project at `.claude/skills/spline/SKILL.md` so your
whole team gets it.

### Other tools [#other-tools]

Tools that support Anthropic-style Agent Skills can use the file as-is. For
tools that use a rules or instructions file instead — Cursor's project rules,
for example — paste the body of `SKILL.md` into that file. The content is plain
Markdown and carries no tool-specific syntax.

<Callout type="idea">
  Keep the frontmatter `description` intact when your tool supports it. That line
  is what the agent matches against a request to decide whether to load the skill
  at all — without it, the skill may never trigger.
</Callout>

***

## Check it worked [#check-it-worked]

Ask your agent something it would normally answer with code:

> Add an interactive 3D hero to my landing page.

With the skill loaded and the desktop app running, it should propose an editable
Spline scene and start by loading the authoring guide, rather than writing a
Three.js component. If it isn't connected, it should tell you so and offer the
alternative instead of quietly choosing for you.
