Estuary Agent Skills
Estuary Agent Skills let you create and operate Estuary pipelines from an AI coding assistant. Each skill is a small instruction set that teaches your assistant how to run a specific flowctl workflow, such as creating a Postgres capture, materializing into Snowflake, or diagnosing a failing task.
Skills are distributed from the open-source estuary/agent-skills repository and follow the open SKILL.md standard. They work with Claude Code, Cursor, OpenAI Codex, GitHub Copilot, Gemini CLI, and other compatible tools.
Prerequisites
Before installing the skills, make sure you have:
- An Estuary account.
- The
flowctlCLI installed and authenticated. See the flowctl installation guide. Theestuary-flowctl-setupskill can also guide your assistant through installation and authentication on demand. - A supported AI coding assistant, such as Claude Code, OpenAI Codex, or Cursor.
What's included
The skills are grouped into three plugins: captures, materializations, and operations.
Captures (sources)
Capture data from databases, APIs, and webhooks into Estuary collections. The generic skill can configure any connector in the Estuary connector catalog.
| Skill | Description |
|---|---|
capture-postgres-create | PostgreSQL CDC (vanilla, RDS, Aurora, Cloud SQL, Supabase, Neon) |
capture-mysql-create | MySQL CDC via binlog replication (RDS, Aurora, Cloud SQL, Azure) |
capture-mongodb-create | MongoDB CDC (Atlas, DocumentDB, self-hosted) |
capture-sqlserver-create | SQL Server CDC (RDS, Azure SQL, Cloud SQL) |
capture-http-ingest-create | HTTP webhook capture (GitHub, Shopify, Stripe, or any JSON source) |
capture-generic-create | Any of 150+ source connectors via dynamic schema discovery |
Materializations (destinations)
Stream Estuary collections into downstream databases and warehouses.
| Skill | Description |
|---|---|
materialize-postgres-create | PostgreSQL destination |
materialize-snowflake-create | Snowflake destination (JWT auth) |
materialize-bigquery-create | BigQuery destination (GCS staging) |
materialize-redshift-create | Amazon Redshift destination (S3 staging) |
materialize-databricks-create | Databricks destination (Unity Catalog) |
materialize-generic-create | Any destination connector via dynamic schema discovery |
Operations
Manage and troubleshoot running pipelines.
| Skill | Description |
|---|---|
estuary-flowctl-setup | Install, authenticate, and update the flowctl CLI |
estuary-task-health | End-to-end health check for a task: status, data flow, errors, and history |
estuary-catalog-status | Check the control-plane status of a task with flowctl catalog status |
estuary-task-stats | Inspect data volume, document counts, and hourly throughput for a task |
estuary-catalog-history | Review publication history and recent spec changes |
estuary-logs | Search and analyze task logs with jq filtering |
estuary-connector-restart | Pause and restart connectors via shard management |
estuary-ssh-tunnels | Diagnose and fix SSH tunnel connection issues |
Installation
Installation steps depend on which assistant you use. After installing, restart your assistant if it doesn't pick up the new skills automatically.
- Claude Code
- OpenAI Codex
- Cursor
- Other tools
Claude Code includes a plugin marketplace. Add the Estuary marketplace:
/plugin marketplace add estuary/agent-skills
Then install the plugins you want:
/plugin install estuary-captures@estuary
/plugin install estuary-materializations@estuary
/plugin install estuary-operations@estuary
You can also run /plugin and browse skills from the Discover tab. Installed skills update automatically when the marketplace refreshes.
To verify, ask Claude: "What Estuary skills do you have?" and confirm the relevant skills are listed.
Codex reads skills from a .codex/skills/ directory in your project, or globally from ~/.codex/skills/. Clone the repo and copy the skills:
git clone https://github.com/estuary/agent-skills.git
mkdir -p .codex/skills
cp -r agent-skills/skills/* .codex/skills/
You can also install everything with the cross-tool Skills CLI:
npx skills add estuary/agent-skills
Start a new Codex session and ask: "capture Postgres into Estuary". Codex should load the matching skill.
Cursor reads skills from a .cursor/skills/ directory in your workspace. Clone the repo and copy the skills:
git clone https://github.com/estuary/agent-skills.git
mkdir -p .cursor/skills
cp -r agent-skills/skills/* .cursor/skills/
Or use the Skills CLI:
npx skills add estuary/agent-skills
Reload Cursor and ask: "set up an Estuary capture from MySQL" to confirm the skills are wired up.
The skills are plain SKILL.md files. Any tool that supports the open SKILL.md standard can use them. Common directory conventions:
| Tool | Skills directory |
|---|---|
| Claude Code | .claude/skills/ |
| Cursor | .cursor/skills/ |
| GitHub Copilot / VS Code | .github/skills/ |
| OpenCode | .opencode/skills/ |
| Codex | .codex/skills/ |
Install across any of them with the Skills CLI:
npx skills add estuary/agent-skills
Or clone the estuary/agent-skills repo and copy skills/* into your tool's skills directory.
Walkthrough: your first pipeline
Once a skill group is installed and flowctl is authenticated, you can drive Estuary from natural-language prompts. A typical first run looks like this.
1. Confirm flowctl is ready
Ask your assistant:
"Check that flowctl is installed and I'm authenticated to Estuary."
This invokes the estuary-flowctl-setup skill, which checks your CLI version, refreshes your auth token, and points you at the flowctl installation docs if anything is missing.
2. Create a capture
Describe the source:
"Capture my Postgres database into Estuary. The host is
db.example.com, databaseanalytics, and I want all tables in thepublicschema."
The matching capture-*-create skill discovers your schema, drafts a capture spec, guides you through replication slot setup, and publishes the capture with flowctl.
3. Materialize into a destination
"Materialize the collections I just captured into Snowflake."
The materialize-snowflake-create skill collects your warehouse, account, and role, generates the materialization spec, and publishes it. The same pattern works for BigQuery, Redshift, Databricks, Postgres, or any other destination through materialize-generic-create.
4. Troubleshoot and operate
When something goes wrong, ask:
"Why is my materialization to Snowflake failing?"
"Is data flowing through my Postgres capture?"
"Show me what changed on this task in the last week."
These prompts route to the operations skills (estuary-task-health, estuary-task-stats, estuary-logs, estuary-catalog-history), which pull data from flowctl and summarize the results.
If a skill itself misbehaves, file an issue on the agent-skills repo or reach out in the Estuary Slack community.
Example prompts
Use the skills for any task you would normally run by hand:
- "Capture from MySQL and materialize into Redshift."
- "Set up a webhook capture for Shopify orders."
- "Run a health check on my
acme/postgres-prodcapture." - "My capture is failing with an SSH tunnel error. Help me debug it."
- "Restart the materialization to BigQuery."
For docs-aware Q&A from the same assistants (without the action skills), see MCP Integration.