mcpField
M
motherduck-build-data-pipeline

motherduck-build-data-pipeline

github.com/motherduckdbData & databases62423 installsUpdated 4d ago
Repository

About motherduck-build-data-pipeline

A skill for designing and implementing data pipelines with MotherDuck. It structures work from raw ingestion through staging and analytics outputs, with validation before publishing downstream assets.

Key features

  1. 01Define raw, staging, and analytics layers
  2. 02Select ingestion methods
  3. 03Build transformation sequences
  4. 04Create serving tables or views
  5. 05Validate freshness, counts, and metrics

Use cases

  1. 01Plan a MotherDuck data pipeline
  2. 02Organize pipeline stages and transformations
  3. 03Validate outputs before publishing

MCP support

Uses an active remote or local MotherDuck MCP server to inspect source and target data context; recommends MCP for chat-only operation.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/motherduckdb/agent-skills --skill motherduck-build-data-pipeline

After installing, type/motherduck-build-data-pipelinein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

artifacts/
pipeline_stage_example.py
pipeline_stage_example.ts
references/
EXECUTION_REFERENCE.md
PIPELINE_IMPLEMENTATION_GUIDE.md
references/dlt-dbt-motherduck-project/
.env.example
.gitignore
.user.yml
dbt_project.yml
profiles.yml
pyproject.toml
README.md
uv.lock
references/dlt-dbt-motherduck-project/data/
customers.jsonl
orders.jsonl
references/dlt-dbt-motherduck-project/macros/
generate_schema_name.sql
references/dlt-dbt-motherduck-project/models/marts/
fct_customer_revenue.sql
marts.yml
references/dlt-dbt-motherduck-project/models/staging/
sources.yml
staging.yml
stg_customers.sql
stg_orders.sql
references/dlt-dbt-motherduck-project/pipeline/
__init__.py
bootstrap.py
cleanup.py
load_raw.py
run_all.py
settings.py
validate.py

Details

From the project README

Build a Data Pipeline with MotherDuck

Start Here: Is a MotherDuck Server Active?

Use an active remote MotherDuck MCP server or local MotherDuck server to inspect the in-scope database, schema, grain, keys, and relevant metrics. Reuse known context and narrow discovery to the requested work; do not scan the whole workspace by default. Let the actual data model shape the result.

Resolve the target from the request or active context. Ask only if ambiguity materially affects the result. Without a server, use supplied schema and explicit assumptions for planning; do not imply live validation.

Pipeline Defaults

  • batch over streaming
  • raw landing before curation
  • explicit raw -> staging -> analytics boundaries
  • bulk ingest paths over row-by-row writes
  • idempotent stage rebuilds or append contracts before scheduled automation
  • verify the MotherDuck-supported DuckDB client version before recommending upstream-only write, checkpoint, or lakehouse features
  • native MotherDuck storage unless DuckLake is explicitly required
  • MotherDuck CLI for Flight source and large file-shaped output when the agent has a shell; MCP for chat-only operation
  • a flights Guide for reusable scheduling, naming, secret, and ingestion conventions when the organization has them
  • Flights sized to their Python work (F4 when the job mostly sends SQL) and instrumented for the Flight Explainer so each run shows step status and the failing step
  • AI enrichment (classification with prompt_jev(), extraction with prompt()) as an incremental transform step that writes results to a table, never recomputed at read time

Workflow

  1. Inspect the available MotherDuck server or supplied source and target context.
  2. Inspect the current workspace and target data model.
  3. Define raw, staging, and analytics boundaries.
  4. Ingest raw data.
  5. Deduplicate, type, and promote into staging.
  6. Materialize analytics-ready outputs.
  7. Validate counts, freshness, uniqueness, and business metrics before publishing downstream assets.
  8. When durable context is part of delivery, capture stable business definitions and operating caveats in referenced Guides; keep executable transformation logic in source control.

Match execution to the request: answer, review, or planning work returns the requested pipeline artifacts; build or change work creates the requested in-scope files and warehouse objects and validates them. Ask before destructive actions, unrelated external writes, or a material expansion of scope.

When this skill produces a native DuckDB (md:) connection, watermark it with custom_user_agent=agent-skills/2.6.0(harness-<harness>;llm-<llm>). If metadata is missing, fall back to harness-unknown and llm-unknown.

Output

For a full engagement, cover the following as relevant to the request:

  • the stage layout
  • the ingestion method
  • the transformation sequence
  • the serving tables or views
  • the validation checks

For explicit structured JSON requests, read the output contract. Otherwise use the format that fits the requested deliverable.

References

Read only the sections relevant to the task; these are guidance, not a mandatory itinerary.

  • references/dlt-dbt-motherduck-project/ -- fully runnable MotherDuck reference project using dlt, dbt-duckdb, and validation queries
  • references/PIPELINE_IMPLEMENTATION_GUIDE.md -- stage design, transformation sequencing, and ingestion-to-serving examples
  • ../motherduck-load-data/references/INGESTION_PATTERNS.md -- lower-level ingestion patterns

Examples

Read the execution reference only to run the bundled examples or reproduce their validation.

Related Skills

Load related skills only for missing capabilities; reuse established context.

  • motherduck-connect -- choose the right connection path
  • motherduck-load-data -- ingestion mechanics
  • motherduck-model-data -- shape the analytics layer
  • motherduck-query -- write transformations and validations
  • motherduck-share-data -- publish curated outputs
  • motherduck-ducklake -- only when open-table-format storage is a real requirement

Comments

Markdown supported