Estuary Agent Skills
Set up Estuary data pipelines through your AI assistant. No docs to stitch together, no flowctl commands to remember.
Ask your AI to "capture my Postgres into Snowflake" or "why is this materialization failing?" — these skills give it everything it needs to run the right commands, build the right specs, and explain the gotchas.
Works with Claude Code, GitHub Copilot, Cursor, OpenAI Codex, Gemini CLI, and 30+ other tools via the open SKILL.md standard.
What's included
Captures (sources)
Capture data from databases, APIs, and webhooks into Estuary collections.
| 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-alpaca-create |
Alpaca stock trade data (historical backfill + real-time websocket stream) |
capture-hubspot-create |
HubSpot real-time CRM capture (contacts, companies, deals, tickets) |
capture-http-ingest-create |
HTTP webhook capture (GitHub, Shopify, Stripe, or any JSON source) |
capture-generic-create |
Any of 148+ 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-clickhouse-create |
ClickHouse destination (native protocol) |
materialize-generic-create |
Any destination connector via dynamic schema discovery |
Derivations (transformations)
Transform, aggregate, and reshape Estuary collections with streaming SQL, TypeScript, or Python.
| Skill | Description |
|---|---|
derivation-basics |
Foundation: what derivations are, language choice, project layout, and workflow — read first |
derivation-filter-transform |
Stateless filtering, field selection, and per-document field transformation |
derivation-aggregate-metrics |
Daily totals, running counts, min/max, and lifetime metrics via reduction annotations |
derivation-join-collections |
Join two or more collections on a shared key into an enriched collection |
derivation-flatten-array |
Flatten a nested array into one output document per element |
derivation-stateful-logic |
Custom SQLite state for balances, inventory, approval workflows, and deduplication |
derivation-windowing |
Sliding time-window state (e.g. last-24h events) via readDelay expiration |
derivation-python |
Write derivations in Python (async transforms, Pydantic types, uv deps) for ML/embeddings/async APIs |
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 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 |
Schema
Shape collection and materialization schemas: rename and remap fields, control what materializes, tune column types, and protect sensitive data.
| Skill | Description |
|---|---|
schema-projections |
Rename fields or map nested JSON paths to flat column names |
schema-field-selection |
Include or exclude fields in materializations using depth modes and overrides |
schema-custom-types-ddl |
Override default column types via castToString or custom DDL |
schema-field-redaction |
Block or hash sensitive fields (PII, credentials) |
schema-null-defaults |
Set default values for missing fields and handle nullable primary keys |
schema-define-fields |
Add or define fields in a collection's readSchema (pruned, refined, or required) |
Prerequisites
- An Estuary account
- flowctl CLI — the
estuary-flowctl-setupskill walks you through installation and authentication
Installation
Skills CLI
Install all skills at once:
npx skills add estuary/agent-skills
Claude Code
Add the Estuary marketplace:
/plugin marketplace add estuary/agent-skills
Then install by group:
/plugin install estuary-captures@estuary
/plugin install estuary-materializations@estuary
/plugin install estuary-derivations@estuary
/plugin install estuary-operations@estuary
/plugin install estuary-schema@estuary
Or run /plugin to browse from the Discover tab. Installed skills auto-update when the marketplace refreshes.
Manual installation
Clone this repo and copy the skill folders into your AI tool's skill directory:
git clone https://github.com/estuary/agent-skills.git
cp -r agent-skills/skills/* your-project/.claude/skills/
Common paths by tool:
| Tool | Path |
|---|---|
| Claude Code | .claude/skills/ |
| Cursor | .cursor/skills/ |
| GitHub Copilot / VS Code | .github/skills/ |
| OpenCode | .opencode/skills/ |
| Codex | .codex/skills/ |
Usage
Once installed, ask your AI assistant in plain English:
"Capture my Postgres database into Estuary"
"Materialize my collections into Snowflake"
"Capture from MySQL and materialize into Redshift"
"Why is my materialization failing?"
Resources
- Estuary documentation
- Estuary MCP integration
- flowctl CLI installation
- Connector catalog
- SKILL.md standard
Feedback and support
- Open an issue in this repo
- Join the Estuary Slack community
- Contact [email protected]
License
Apache 2.0 — see LICENSE for details.
No comments yet
Be the first to share your take.