# Agent skills

> Ready-made instruction files that teach coding agents to build on Nodaro with the SDK and OAuth, plus the Claude Code plugin, the SDK primer and Markdown docs.

Source: https://nodaro.ai/docs/developers/agent-skills

**Agent skills** are ready-made instruction files that teach coding agents, such as Claude Code and Cursor, to build on Nodaro. A skill tells the agent how to install and authenticate the SDK, which patterns to follow and which mistakes to avoid, for one task: integrating the SDK, or building an OAuth app. Load a skill once, then ask the agent for what you want built.

## What is available

| Resource | What it gives the agent | Best for |
| --- | --- | --- |
| The Claude Code plugin `nodaro` | The Nodaro SDK skill, and the connection to the hosted MCP server | Claude Code users |
| The `using-nodaro-sdk` skill | How to integrate the TypeScript SDK, `@nodaro/sdk` | Any agent that reads skill or instruction files |
| The `building-nodaro-oauth-app` skill | How to implement OAuth 2.0 against a Nodaro instance | Products that act for other Nodaro users |
| The SDK agent primer | A one-page brief of the SDK to paste into a conversation | A quick start in any agent |
| The docs as Markdown | Every docs page, in a format agents read well | Agents that can fetch web pages |

## Install the Claude Code plugin

In Claude Code, run:

```text
/plugin marketplace add nodaroai/app.nodaro.ai
/plugin install nodaro
```

One install adds two things:

- **The Nodaro SDK skill:** client setup, asynchronous generation, model and credit discovery, progress display, error handling and OAuth. Claude loads it when you mention Nodaro, `@nodaro/sdk`, `@nodaro/cli` or an integration with app.nodaro.ai.
- **The hosted MCP connection** to `https://mcp.nodaro.ai/mcp`, so Claude can also use Nodaro directly. See [AI Agents (MCP)](https://nodaro.ai/docs/mcp).

## Add a skill file to your project

The two skill files live in the [docs/skills folder](https://github.com/nodaroai/app.nodaro.ai/tree/main/docs/skills) of the public repository. Each file starts with YAML frontmatter: a `name`, and a `description` that tells the agent when to load the skill. Markdown instructions follow.

### Download the skill

Download `using-nodaro-sdk.md`, `building-nodaro-oauth-app.md`, or both.

### Save it where your agent reads skills

For Claude Code, save each file as `SKILL.md` in a folder named after the skill: `.claude/skills/using-nodaro-sdk/SKILL.md` in your project, or under `~/.claude/skills/` for every project. Commit the project folder, so your whole team gets the skill. In another coding agent, add the file's contents to the agent's instructions for the project.

### Ask for what you want built

For example: "Add a page to this Next.js app that generates a product image with Nodaro and shows a progress bar." The agent loads the matching skill and follows it.

### What the SDK skill covers

`using-nodaro-sdk` activates when an agent integrates `@nodaro/sdk` into an application: server-side automation, a browser app on a Nodaro instance, or a third-party OAuth app. It covers:

- **Setup and the three auth modes:** `StaticTokenAuth` on a server, with a personal API token or an OAuth access token; `supabaseAuth` in a browser app on your own instance; and `CallbackAuth` for your own token logic.
- **The resources of the client,** such as `workflows`, `nodes`, `jobs`, `executions`, `characters`, `apps`, `oauth` and `credits`.
- **The typed errors:** `UnauthorizedError`, `ForbiddenError` with its `missingScope`, `InsufficientCreditsError` with `required` and `available`, `RateLimitedError`, and the base `NodaroError`.
- **Recipes:** run a workflow and poll it, discover the available nodes, and run a single node with `runAndWait`.
- **Reasoning effort** for the nodes that use a language model, and a custom `fetch` and timeout.
- **When not to use the SDK:** streaming endpoints, which it does not cover.

### What the OAuth skill covers

`building-nodaro-oauth-app` activates when an agent implements OAuth against a Nodaro instance. It covers when OAuth is the right choice over a personal API token, the app registration, the scopes, the redirect URL, the server-side code exchange, token storage, revocation, the common errors and a security checklist. The full reference is [OAuth apps](https://nodaro.ai/docs/developers/oauth).

## Paste the SDK agent primer

The **SDK agent primer** is a one-page brief of the SDK for coding agents. Its canonical copy is in the README of the [`@nodaro/sdk` package](https://www.npmjs.com/package/@nodaro/sdk). Paste it into any agent, then ask for what you want built. It teaches the agent:

- **Setup:** `npm install @nodaro/sdk`, and a token from **Settings › API** in the `NODARO_ACCESS_TOKEN` environment variable, never written into the code.
- **The core pattern:** all generation is asynchronous, and `client.nodes.runAndWait` submits, polls and returns the output.
- **Model choice:** omit `provider` to use the platform's default model, or build a model picker from `client.nodes.get(type)` and `client.credits.modelCosts()`.
- **Interface rules:** show each intermediate result as soon as it exists, show live progress with `onProgress`, and let the user cancel with an `AbortSignal`.
- **The voice and audio surface,** including multi-speaker recasting and the interactive analyze, recast and export flow.
- **Credits:** generations cost credits, so catch `InsufficientCreditsError`.

The core pattern it teaches:

```ts

const client = createClient({
baseUrl: "https://app.nodaro.ai",
auth: new StaticTokenAuth(process.env.NODARO_ACCESS_TOKEN!),
})

const img = await client.nodes.runAndWait("generate-image", {
prompt: "...", provider: "nano-banana-2",
})
const vid = await client.nodes.runAndWait("generate-video", {
prompt: "...", imageUrl: img.imageUrl,   // the image becomes the start frame
provider: "seedance-2-fast", duration: 4,
})
// Outputs are on the resolved object: .imageUrl, .videoUrl, .audioUrl
```

## Give agents the docs as Markdown

- **Every page is available as Markdown.** Add `.md` to its URL, for example `https://nodaro.ai/docs/developers/oauth.md`.
- **`https://nodaro.ai/llms.txt`** lists every docs page with its one-line summary.
- **`https://nodaro.ai/llms-full.txt`** holds the complete documentation in one file.

To build a custom interface for a published app with an AI code generator, give it the Markdown of [Embed a MiniApp](https://nodaro.ai/docs/developers/embed/miniapps).

## Skills or MCP

| | Agent skills | The MCP server |
| --- | --- | --- |
| **The agent** | Writes code that calls Nodaro | Uses Nodaro directly, from the conversation |
| **You get** | Your own app, script or integration | Images, videos and audio in your Nodaro account |
| **Authentication** | Your code's personal API token or OAuth token | Your own sign-in, through OAuth |

The Claude Code plugin gives you both. See [Connect a client](https://nodaro.ai/docs/mcp/connect) to add the MCP server to other agents.

## Write your own skill

A good skill for Nodaro work follows four rules:

- **A focused trigger.** Write the `description` so the skill loads for its task, and not for unrelated work.
- **Actionable content.** Give the agent concrete steps and code, not only background.
- **Sources to check.** Link the docs pages the skill relies on, so the agent can verify details.
- **In sync with the docs.** Update the skill when the pages it relies on change.

## Frequently asked questions

### What is a Nodaro agent skill?

A Markdown file of instructions that a coding agent, such as Claude Code, loads when you ask it to build something on Nodaro. It gives the agent the setup, the patterns and the mistakes to avoid, so the code it writes works the first time.

### What is the fastest way to set up Claude Code for Nodaro?

Install the Nodaro plugin. Run /plugin marketplace add nodaroai/app.nodaro.ai, then /plugin install nodaro. One install adds the Nodaro SDK skill and the connection to the hosted Nodaro MCP server.

### Do the skills work with coding agents other than Claude Code?

Yes. The skill files are plain Markdown, so any agent that reads project instructions can use them. For a quick start in any agent, paste the SDK agent primer into the conversation.

### What is the difference between an agent skill and the Nodaro MCP server?

A skill teaches an agent to write code that uses Nodaro. The MCP server lets an agent use Nodaro directly, to generate images, videos and audio from the chat.

### Can a coding agent read the Nodaro docs directly?

Yes. Every docs page is available as Markdown when you add .md to its URL, and nodaro.ai/llms.txt lists every page with its summary.
