motherduck-load-data

Select MotherDuck ingestion pathways and SQL patterns for data loading.

53|3|Updated Mar 30, 2026
One-click install
npx skills add https://github.com/motherduckdb/agent-skills --skill motherduck-load-data
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: motherduck-load-data
Source: https://github.com/motherduckdb/agent-skills/tree/main/plugins/motherduck-skills-claude/skills/motherduck-load-data
Command: npx skills add https://github.com/motherduckdb/agent-skills --skill motherduck-load-data

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This skill helps you load data into MotherDuck correctly and efficiently, avoiding common ingestion mistakes like row-by-row inserts, wrong client paths, and unsafe transformations.

Core Features & Use Cases

  • Ingestion-path selection: Choose between object storage/HTTPS remote-load patterns and native DuckDB client ingestion for local files, local DuckDB, and in-memory data.
  • Production-friendly loading posture: Prefer batch loading, Parquet-first movement, CTAS and INSERT...SELECT patterns, and minimal transformations at the raw landing layer.
  • Validation and promotion guidance: Recommend row counts/type checks after landing, then promote into staging/modeling only once the load is correct.
  • Workflow fit: Works across first loads, appends, and whole-database uploads while accounting for Postgres-endpoint thin-client versus DuckDB-client behaviors.

Quick Start

Use motherduck-load-data to plan and generate the correct CTAS/INSERT workflow for your source system and target tables, such as loading Parquet from object storage into a raw/staging table with the right remote-read settings.

Frequently Asked Questions about motherduck-load-data

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What's the best way to load Parquet files from object storage into MotherDuck?

Use CTAS or INSERT...SELECT statements with remote-read settings to load Parquet files from object storage into MotherDuck. This batch loading approach avoids inefficient row-by-row inserts and ensures safe data landing.

How do I ingest local files into MotherDuck using DuckDB SQL?

To ingest local files into MotherDuck, use native DuckDB client ingestion pathways. This method supports local files and local DuckDB databases, applying batch loading patterns rather than individual row inserts for optimal performance.

Can I use the Postgres endpoint to load data into MotherDuck?

You can use the Postgres endpoint, but only as a thin-client remote-read route rather than a native DuckDB ingestion surface. This means it is not used for direct bulk loading operations into MotherDuck tables.

When do I need to use CREATE SECRET for MotherDuck data ingestion?

You need to use CREATE SECRET when loading data from object storage or HTTPS remote sources that require authentication. It provides the necessary access credentials for your CTAS or INSERT...SELECT workflows.

Why should I avoid row-by-row inserts when loading data into MotherDuck?

Row-by-row inserts cause significant performance bottlenecks during MotherDuck data ingestion. Preferring batch loading, Parquet-first movement, and CTAS patterns ensures efficient data transfer and maintains a production-friendly loading posture.

How do I validate data after loading it into MotherDuck?

Validate data after loading into MotherDuck by running row counts and type checks on the raw landing tables. Once validated, promote the data into staging or modeling layers only after the load is confirmed correct.