Skip to content

How do Skills work?

A Skill is the difference between asking a model for “a product photo” and getting the shot your brand actually ships. It carries what holds true every time (how the subject sits in frame, how it is lit, what the deliverable has to satisfy) and the questions worth asking before anything is generated.

Because the agent is Claude, and Claude already knows how each model likes to be addressed, a Skill never has to be written twice. One description of the work is rendered into Midjourney’s terse tags, or a natural-language model’s prose, or Seedance’s shot-structured language, at the moment you generate.

Most of the time you won’t pick one. Describe what you are making and the agent routes to the Skill that fits. You can override it in the Studio when you want something specific.

Your Skills live at /app/skills, in the rail between My Gallery and Teams. Two tables: Personal and Team. The split is by scope, not by ownership: a Skill you own but scoped to a team appears under Team, once, rather than in both. Search by name, filter by mode or team, sort by name or last updated.

Writing your own takes you through a wizard that ends by confirming the one field that decides everything: the routing. More on that below.

Importing one you already have is the fastest path if you have written a style guide, a shot spec, or an Anthropic SKILL.md. The import reads your source and fills the Skill’s fields from it, then shows you what it could and could not carry across before anything is saved. An Anthropic SKILL.md’s frontmatter description becomes the Skill’s routing, which is usually exactly where it belongs.

A teammate’s Skill offers Fork, not edit. You take a copy and change that. Enable/Disable is for Custom Skills and belongs to the owner; a disabled Skill simply stops being offered.

A Skill is read in layers, and the layers are the point.

Layer 1: routing (when_to_use). Always loaded, for every Skill, before anything else. It decides whether the Skill fires at all. Its quality determines whether your Skill works more than any other field, and the trap is writing it to describe the Skill rather than to distinguish it from its neighbors. “For product photography” does not separate a packshot from a lifestyle shot. Three or four sentences, using the words a person would actually type.

Layer 2: the body. Loaded once the Skill is routed to: what the work is for, composition rules stated as things a model can execute, technical constraints, aspect ratios, the questions to ask first, and the known failure modes.

Layer 3: model notes. Loaded only when that model is the target. This is why Midjourney’s dialect never enters context on a Seedance generation, and why adding a model’s quirks to a Skill costs nothing on every other generation.

Failure modes are named, not listed. Each one carries three parts: the failure, the mechanism that causes it, and the correction. And the correction always says what to specify, never what to avoid. Negation primes the failure: tell a model “no motion blur” and you have put motion blur in its context.

What an import fills, and what it doesn’t. It fills the name, aspect ratios, composition rules, technical constraints, clarifying questions, failure modes and the routing. It does not fill intent (derived at save from the first sentence of your composition rules unless you set it) nor the model fit or model translation notes, which you add afterwards. When part of your source belongs to a field the import doesn’t fill, it says which field, rather than telling you nothing holds it.

The Prompt Agent section covers what happens after a Skill is routed to: how models, parameters and references are chosen. The Briefs section covers the other half of what the agent reads: the world your production takes place in.