> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nexllm.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Skills

*Last edited: 4 Nov 2026 (Asia/Hong\_Kong)*

Teach your agent how to get good results from NexLLM without memorizing model IDs. A skill is a small Markdown recipe (`SKILL.md`) the agent loads on demand; [NexLLM MCP](https://docs.nexllm.ai/integrations/mcp-integration.md) is what actually runs the work.

> [!NOTE]
>
> **Available now.** The official thin pack is public at [NexLLMSupport/nexllm-skills](https://github.com/NexLLMSupport/nexllm-skills) tag **`v0.1.5`** (MIT). Scope is **text + image** over MCP only — video, 3D, and audio outcome skills are not included yet, and this is not a Claude marketplace plugin.

## Introduction

[Agent Skills](https://docs.anthropic.com) (the open `SKILL.md` folder format) are instructions, not a new API. Your agent matches a user request to a skill’s `description`, loads the recipe, then calls tools it already has.

For NexLLM, those tools come from the [MCP integration](https://docs.nexllm.ai/integrations/mcp-integration.md):

<table>
  <colgroup>
    <col width="161" />

    <col width="519" />
  </colgroup>

  <thead>
    <tr>
      <th>MCP tool</th>
      <th>Role in a skill</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>`list_models`</td>
      <td>Discover live model IDs for the connected key</td>
    </tr>

    <tr>
      <td>`model_pricing`</td>
      <td>Confirm cost before a paid run</td>
    </tr>

    <tr>
      <td>`list_capabilities`</td>
      <td>Optional — static supported/unsupported modalities (do not invent video/audio tools)</td>
    </tr>

    <tr>
      <td>`model_metadata`</td>
      <td>Optional — catalog fields for one model id from `list_models`</td>
    </tr>

    <tr>
      <td>`generate_text`</td>
      <td>Chat / completion through the gateway</td>
    </tr>

    <tr>
      <td>`generate_image`</td>
      <td>Image generation through the gateway</td>
    </tr>
  </tbody>
</table>

Spend lands on the wallet tied to the API key you pasted on `connect.nexllm.ai`. There is no skills-specific surcharge.

## Prerequisites

1. A NexLLM account and API key at [www.nexllm.ai](https://www.nexllm.ai)
2. The [NexLLM MCP server](https://docs.nexllm.ai/integrations/mcp-integration.md) connected (`https://mcp.nexllm.ai/mcp`) with OAuth key-paste completed on `connect.nexllm.ai`
3. Wallet balance if the skill will call `generate_text` or `generate_image`
4. An agent that loads skills from disk (Claude Code / Claude with Skills, **Cursor Desktop** User skills, or any Agent Skills client)

Without MCP connected, a skill can only describe what to do — it cannot call NexLLM.

## Install the official pack (v0.1.5)

```bash theme={null}
git clone https://github.com/NexLLMSupport/nexllm-skills.git
cd nexllm-skills
git checkout v0.1.5
```

Pack contents:

| Folder | Name | Outcome |
| - | - | - |
| `skills/nexllm-mcp/` | `nexllm-mcp` | Foundation: tools, discover → price → generate, refuse video/3D/audio |
| `skills/nexllm-models/` | `nexllm-models` | Discover / compare models and pricing |
| `skills/draft-with-nexllm/` | `draft-with-nexllm` | Draft or rewrite text via `generate_text` |
| `skills/product-hero-image/` | `product-hero-image` | Product / hero still via `generate_image` |
| `skills/product-photography/` | `product-photography` | Studio, lifestyle, and hero product stills |
| `skills/photoreal-stills/` | `photoreal-stills` | Realistic, camera-like still imagery |
| `skills/text-in-image/` | `text-in-image` | Posters / packaging / UI with exact on-image copy |
| `skills/logo-concepts/` | `logo-concepts` | Logo / icon **concept rasters** (not true SVG) |
| `skills/game-assets-2d/` | `game-assets-2d` | Sprites, stickers, and 2D asset stills |
| `skills/composite-scene/` | `composite-scene` | Prompt-only product + subject + backdrop (no mask API) |
| `skills/seedream-pro-layouts/` | `seedream-pro-layouts` | Layout / multi-element / poster-like stills; prefer Seedream 5.0 **pro**, then lite, then flash |

Every generate skill **requires `list_models` before hardcoding an ID**. Image skills other than `seedream-pro-layouts` still suggest `byteplus/Dola-Seedream-5.0-flash` when that ID is present for the connected key. `seedream-pro-layouts` prefers `byteplus/Dola-Seedream-5.0-pro`, then a Seedream 5.0 **lite** id from the same live list, then flash. If you call `byteplus/Dola-Seedream-5.0-lite` or `byteplus/ByteDance-Seedream-4.5`, pass **`size: "2048x2048"`** — those IDs reject `1024x1024` with HTTP 400 `plugin_request_invalid` (size/aspect limits).

The same **eleven** skill folders are also mirrored under `.cursor/skills/` in the repo (for project / Cloud Agents discovery). The Cursor plugin layout continues to use `skills/` plus `.cursor-plugin/plugin.json` (v0.1.5).

Repo: [https://github.com/NexLLMSupport/nexllm-skills](https://github.com/NexLLMSupport/nexllm-skills) · Install detail: [docs/install.md](https://github.com/NexLLMSupport/nexllm-skills/blob/v0.1.5/docs/install.md)

## Add skills to your agent

> [tab] Claude Code
>
> **1. Connect NexLLM MCP**
>
> Follow [MCP integration](https://docs.nexllm.ai/integrations/mcp-integration.md) (Claude Code tab) so `list_models` and the generate tools are available.
>
> **2. Clone the pack**
>
> ```bash theme={null}
> git clone https://github.com/NexLLMSupport/nexllm-skills.git
> cd nexllm-skills && git checkout v0.1.5
> ```
>
> **3. Copy into skills**
>
> Project-scoped:
>
> ```bash theme={null}
> mkdir -p .claude/skills
> cp -R skills/nexllm-mcp skills/nexllm-models skills/draft-with-nexllm \
>   skills/product-hero-image skills/product-photography skills/photoreal-stills \
>   skills/text-in-image skills/logo-concepts skills/game-assets-2d \
>   skills/composite-scene \
>   skills/seedream-pro-layouts .claude/skills/
> ```
>
> Or user-scoped for every project:
>
> ```bash theme={null}
> mkdir -p ~/.claude/skills
> cp -R skills/* ~/.claude/skills/
> ```
>
> **4. Ask for the outcome**
>
> Start a session and ask in plain language (for example, “list cheap chat models on NexLLM”, “studio packshot of this bottle”, “poster with the exact headline Launch Week”, or “poster layout with three products”).

> [tab] Claude
>
> **1. Connect the MCP connector**
>
> In Claude Desktop or [claude.ai](https://claude.ai), add the NexLLM custom connector as described in [MCP integration](https://docs.nexllm.ai/integrations/mcp-integration.md).
>
> **2. Open Skills**
>
> On a plan that supports Skills, go to **Customize → Skills** (wording may vary by client version).
>
> **3. Upload skill folders**
>
> Clone or download [nexllm-skills @ v0.1.5](https://github.com/NexLLMSupport/nexllm-skills/tree/v0.1.5), then upload / attach each folder under `skills/` (each must contain `SKILL.md`). There is no Claude marketplace listing yet — use the files from the repo.
>
> **4. Ask for the outcome**
>
> In chat, describe the result you want. Claude should load the matching skill and call NexLLM MCP tools when needed.

> [tab] Cursor
>
> **1. Use Cursor Desktop and connect MCP**
>
> **Cursor Desktop** is the supported path for custom NexLLM skills. Connect `https://mcp.nexllm.ai/mcp` first ([MCP integration](https://docs.nexllm.ai/integrations/mcp-integration.md) — Cursor tab). Agents web can use NexLLM MCP tools after Custom MCP Connect, but the Agents web Skills picker does **not** load personal / custom skill packs today — use Desktop for skills.
>
> **2. Clone the pack (v0.1.5)**
>
> ```bash theme={null}
> git clone https://github.com/NexLLMSupport/nexllm-skills.git
> cd nexllm-skills && git checkout v0.1.5
> ```
>
> **3. Install User skills on Desktop**
>
> Copy each skill folder into your user skills directory (verified Desktop path):
>
> ```bash theme={null}
> mkdir -p ~/.cursor/skills
> cp -R skills/nexllm-mcp skills/nexllm-models skills/draft-with-nexllm \
>   skills/product-hero-image skills/product-photography skills/photoreal-stills \
>   skills/text-in-image skills/logo-concepts skills/game-assets-2d \
>   skills/composite-scene \
>   skills/seedream-pro-layouts ~/.cursor/skills/
> ```
>
> Project-scoped alternative (same layout under the project):
>
> ```bash theme={null}
> mkdir -p .cursor/skills
> cp -R skills/nexllm-mcp skills/nexllm-models skills/draft-with-nexllm \
>   skills/product-hero-image skills/product-photography skills/photoreal-stills \
>   skills/text-in-image skills/logo-concepts skills/game-assets-2d \
>   skills/composite-scene \
>   skills/seedream-pro-layouts .cursor/skills/
> ```
>
> Optional: in Cursor **Settings → Agents**, turn on **Sync Skills for Cloud Agents**. Sync alone does not make custom packs appear in the Agents **web** Skills picker — Desktop User skills remain the verified attach path.
>
> **4. Use a skill**
>
> In Desktop Agent (This Mac / local), open the skill picker (`/` / Skills UI) and select a skill by name (for example `/nexllm-mcp` or `/product-photography`), or ask in plain language. Confirm the agent calls NexLLM MCP tools such as `list_models`.
>
> Optional alternate: Cursor **Customize** → import plugin/skills **From GitHub** using `https://github.com/NexLLMSupport/nexllm-skills` (plugin layout from `skills/` + `.cursor-plugin/`). Prefer the Desktop `~/.cursor/skills/` copy when you need the verified User-skills path.
>
> > [!NOTE]
> >
> > Pack tip: **v0.1.5** adds `seedream-pro-layouts` (Seedream 5.0 pro → lite → flash after discovery) and keeps `.cursor/skills/` mirrored for Cloud / project discovery. For day-to-day Desktop use, copying the **eleven** folders into `~/.cursor/skills/` is enough.

> [tab] Other agents
>
> **1. Connect MCP**
>
> Point the agent at `https://mcp.nexllm.ai/mcp` with OAuth. See [MCP integration](https://docs.nexllm.ai/integrations/mcp-integration.md) → Other clients.
>
> **2. Drop skills on disk**
>
> Most Agent Skills clients look under `.agents/skills/` or `~/.agents/skills/`. Confirm your agent’s docs, then:
>
> ```bash theme={null}
> mkdir -p .agents/skills
> cp -R /path/to/nexllm-skills/skills/* .agents/skills/
> ```
>
> **3. Pair recipes with tools**
>
> Skills only describe the workflow. The agent still needs NexLLM MCP (or the [Compatible APIs](https://docs.nexllm.ai/integrations/compatible-apis.md) gateway) to execute.

## How skills work with NexLLM

```text theme={null}
You ask → skill matches (name + description) → recipe loads →
agent calls NexLLM MCP tools → gateway runs → wallet billed
```

Design rules that keep skills correct as the catalog changes:

* **Name by outcome**, not by a single model (`product-hero-image`, not `gpt-image-2-only`).
* **Discover before generate** — call `list_models` (and optionally `model_pricing`) instead of hardcoding one ID forever.
* **Confirm the model is live** for the connected key, then pass that exact `id` into `generate_text` or `generate_image`.
* **Stay within MCP capabilities** — today that means text and image. Do not invent video or 3D steps the server cannot run.
* **Parse image results as JSON-in-text** — `generate_image` returns structured text (URL or base64), not necessarily native image blocks.
* **Honest limits on image skills** — `logo-concepts` produces raster concepts (not true SVG); `composite-scene` is prompt-only (no mask / layer API); `seedream-pro-layouts` is prompt-only multi-element layout (not Figma / editable layers).

## What an agent does with one

> What’s the cheapest chat-capable model I can use on NexLLM right now?

The agent should match `nexllm-models` (or `nexllm-mcp`), call `list_models` / `model_pricing`, and answer with real IDs for the connected key.

> Make a clean white-background hero image for this sneaker.

The agent should match `product-hero-image` or `product-photography`, discover an image model, optionally price it, then call `generate_image`.

> Poster with the exact headline: Launch Week.

The agent should match `text-in-image`, keep the copy verbatim in the prompt, and call `generate_image`.

> Poster-like layout: headline band, three products, quiet footer.

The agent should match `seedream-pro-layouts`, discover an image model (prefer `byteplus/Dola-Seedream-5.0-pro` when listed), then call `generate_image` with regions named in the prompt.

> Turn this packshot into a vertical launch video with voiceover.

Say clearly that NexLLM MCP does not expose video or TTS tools yet. Do not pretend a skill can call tools that are not on the server.

## Verify

| Ask | Expected skill | Expected tools |
| - | - | - |
| “Cheapest chat models on NexLLM?” | `nexllm-models` | `list_models`, maybe `model_pricing` |
| “Draft a polite reply from these notes on NexLLM” | `draft-with-nexllm` | `list_models` → `generate_text` |
| “White-background packshot of this bottle” | `product-hero-image` / `product-photography` | `list_models` → `generate_image` |
| “Photoreal street photo of a coffee cart” | `photoreal-stills` | `list_models` → `generate_image` |
| “Poster with exact text: Launch Week” | `text-in-image` | `list_models` → `generate_image` |
| “Logo concept for a coffee brand (raster OK)” | `logo-concepts` | `list_models` → `generate_image` |
| “Poster layout with three products and a headline” | `seedream-pro-layouts` | `list_models` → `generate_image` |
| “Make a vertical launch video with VO” | `nexllm-mcp` (refuse) | no fake tool calls |

## Write your own

1. Create a folder and `SKILL.md` with `name` + `description` frontmatter.
2. Point the workflow at NexLLM MCP tools only.
3. Prefer outcome names (`restore-screenshot-text`, `draft-changelog`) over model names.
4. Optionally add a `references/` folder for longer prompt examples.
5. Test with MCP connected: ask the trigger phrase and confirm the agent calls the expected tools.

Starter patterns also live in the [pack README](https://github.com/NexLLMSupport/nexllm-skills/blob/v0.1.5/README.md).

## Troubleshooting

> [accordion] The skill loads but nothing runs on NexLLM
>
> The agent has instructions but no tools. Connect [MCP](https://docs.nexllm.ai/integrations/mcp-integration.md), complete OAuth key-paste on `connect.nexllm.ai`, and confirm `list_models` works with a trivial ask.

> [accordion] Cursor Agents web does not list my NexLLM skills
>
> Custom / personal skill packs are not attachable in the Cursor Agents **web** Skills picker today (even with **Sync Skills for Cloud Agents** ON). Install under `~/.cursor/skills/` on **Cursor Desktop** and use Desktop Agent — that is the verified path for nexllm-skills.

> [accordion] The agent hardcodes a model that 404s
>
> Update the skill to require `list_models` before generate. Model IDs differ by channel group and key restrictions.

> [accordion] generate\_image fails with plugin\_request\_invalid / size limits
>
> Some Seedream IDs reject the common OpenAI default `1024x1024`. For `byteplus/Dola-Seedream-5.0-lite` and `byteplus/ByteDance-Seedream-4.5`, use **`size: "2048x2048"`** (verified 2026-10-25). Prefer `byteplus/Dola-Seedream-5.0-flash` when you need a 1K square. The gateway returns HTTP 400 `plugin_request_invalid` when the size is outside that model's pixel/aspect limits.

> [accordion] generate\_image fails with a gateway error
>
> Some image model families can return a gateway error depending on availability. Prefer a known-good image model from `list_models` — for example `byteplus/Dola-Seedream-5.0-flash` — then retry `generate_image`.
>
> If using a GPT Image id (`nexllm/gpt-image-*`), omit `response_format` in the tool/gateway body. If the client/tool defaults it to `url`, prefer Seedream flash or another known-good id until the tool omits the field for GPT Image.

> [accordion] The user asked for video / 3D / music
>
> Decline or explain the gap. Current MCP tools are discovery, pricing, text, and image only. Do not fabricate tool names.

> [accordion] I expected a one-line marketplace install
>
> Use the public GitHub pack (`git clone` + copy folders). A Claude `/plugin marketplace` entry is not published yet. On Cursor, Desktop `~/.cursor/skills/` copy is the supported install; optional From GitHub plugin import is available on some builds.

## Related

* [MCP integration](https://docs.nexllm.ai/integrations/mcp-integration.md) — connect Claude, Cursor, and other clients
* [Compatible APIs](https://docs.nexllm.ai/integrations/compatible-apis.md) — OpenAI-compatible gateway for apps
* [Image Generation API](https://docs.nexllm.ai/api-reference/image-generation.md) — gateway image endpoints behind `generate_image`
* [Model pricing](https://docs.nexllm.ai/channel-groups/pricing-overview.md) — how wallet charges work
* [Vercel AI SDK](https://docs.nexllm.ai/integrations/vercel-ai-sdk.md) — app-side AI SDK chat (not skills)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.