# Install MotherDuck Skills for coding agents
> Install the MotherDuck Skills plugin catalog to teach Claude Code, Cursor, Codex, Copilot CLI, and Gemini CLI to work with MotherDuck.
[MotherDuck Skills](https://github.com/motherduckdb/agent-skills/) is an opinionated, installable catalog of [agent skills](https://agentskills.io/home) that teaches coding agents how to work with MotherDuck. The skills cover picking the right connection path, writing DuckDB SQL (not Postgres-shaped SQL), inspecting a live workspace, and shipping production analytics patterns safely.

Skills work with any DuckDB client — they teach the agent behavior, not how to connect. Pairing them with the [MotherDuck MCP server](/key-tasks/ai-and-motherduck/mcp-setup/) is recommended but not required: MCP gives the agent live access to your workspace so it can inspect real schemas while it applies the guidance from the skills.

## What agent skills are

Agent skills are reusable instruction bundles for AI coding agents. They give the agent domain-specific guidance it can apply during a task, such as which tools to use, which SQL dialect rules matter, what safety checks to run, and what good output should look like.

MotherDuck Skills do not connect to your account or run queries on their own. Instead, your agent loads the relevant skill when a task calls for MotherDuck-specific knowledge. Use them when you want the agent to:

- Choose between the MotherDuck MCP server, a Postgres-compatible endpoint, a native `md:` DuckDB connection, or the REST API.
- Inspect a workspace and summarize databases, schemas, tables, and columns before writing queries.
- Write DuckDB SQL that works in MotherDuck instead of PostgreSQL-shaped SQL.
- Load files or application data into MotherDuck with repeatable validation steps.
- Design a dashboard, Dive, customer-facing analytics app, or data pipeline on top of MotherDuck.
- Plan a migration to MotherDuck, including validation, rollout, and rollback steps.

## Prerequisites

Before you install:

- Git available on your `PATH`.
- Node.js 18 or later (required for the Skills CLI).
- A MotherDuck account and one of the supported agent harnesses below.

For live MotherDuck work, authenticate through your normal path — a `MOTHERDUCK_TOKEN`, the [Postgres endpoint](/sql-reference/postgres-endpoint/), a native `md:` DuckDB connection, or [MotherDuck MCP](/key-tasks/ai-and-motherduck/mcp-setup/). Do not paste tokens into prompts or skill files.

## Install

Pick your agent harness and run the command. Each install pulls the full MotherDuck Skills catalog.

| Harness | Install |
|---|---|
| Claude Code | `/plugin marketplace add motherduckdb/agent-skills` then `/plugin install motherduck-skills@motherduck-skills` |
| GitHub Copilot CLI | `/plugin marketplace add motherduckdb/agent-skills` then `/plugin install motherduck-skills@motherduck-skills` |
| Codex | `codex plugin marketplace add motherduckdb/agent-skills`, then install **MotherDuck Skills** from `/plugins` |
| Cursor | `npx -y skills add motherduckdb/agent-skills --agent cursor --skill '*' --yes --global` |
| Gemini CLI | `gemini extensions install https://github.com/motherduckdb/agent-skills --consent` |

For other agents, project-scoped installs, or to install individual skills, use Vercel's portable [Skills CLI](https://github.com/vercel-labs/skills). See Vercel's [Agent Skills documentation](https://vercel.com/docs/agent-resources/skills) for more details.

```bash
npx -y skills add motherduckdb/agent-skills --skill '*' --yes --global
```

Check what got installed:

```bash
npx -y skills ls -g
```

## Verify the installation

After install, try this prompt to confirm the skills are wired up:

> Use MotherDuck Skills to choose the best connection path for this project.

You should get MotherDuck-specific connection guidance, including the Postgres endpoint and native DuckDB tradeoffs.

## Prompts to try

Once the skills are installed, these prompts route to the right skill automatically:

- `Use MotherDuck Skills to connect this app to MotherDuck.`
- `Explore my MotherDuck workspace and identify the best table for a dashboard.`
- `Write a DuckDB SQL query for this KPI and validate the syntax.`
- `Design a Dive-backed dashboard from these tables.`
- `Plan a Snowflake-to-MotherDuck migration with validation and rollback steps.`
- `Design a customer-facing analytics architecture on MotherDuck.`
- `Decide whether this workload needs DuckLake or native MotherDuck storage.`
- `Use the MotherDuck REST API guidance to manage service accounts and tokens safely.`

## How the catalog is organized

The catalog has three layers. Agents pick the right layer based on the task.

**Utility skills** cover exact MotherDuck mechanics: connect, explore, query, use the REST API, or check DuckDB SQL behavior. Start here for narrow technical work.

**Workflow skills** cover multi-step work with MotherDuck-specific tradeoffs: loading data, modeling, sharing, building [Dives](/key-tasks/ai-and-motherduck/dives/), evaluating DuckLake, planning security and governance, or framing pricing and ROI.

**Use-case skills** cover designing or shipping a product surface: building customer-facing analytics, a dashboard, or a data pipeline; planning a migration to MotherDuck; rolling out self-serve analytics; or delivering repeatable partner implementations.

For the full skill list and the latest install paths, see the [agent-skills repository](https://github.com/motherduckdb/agent-skills/).


---

## Docs feedback

MotherDuck accepts optional user-submitted feedback about this page at `POST https://motherduck.com/docs/api/feedback/agent`.
For agents and automated tools, feedback submission should be user-confirmed before sending.

Payload:

```json
{
  "page_path": "/key-tasks/ai-and-motherduck/agent-skills/",
  "page_title": "Install MotherDuck Skills for coding agents",
  "text": "<the user's feedback, max 2000 characters>",
  "source": "<optional identifier for your interface, for example 'claude.ai' or 'chatgpt'>"
}
```

`page_path` and `text` are required; `page_title` and `source` are optional. Responses: `200 {"feedback_id": "<uuid>"}`, `400` for malformed payloads, and `429` when rate-limited.
