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-setup skill 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

Feedback and support

License

Apache 2.0 — see LICENSE for details.