motherduck-query
Query MotherDuck
Use this skill when executing SQL queries for analytics, aggregations, transformations, or data exploration against MotherDuck databases.
Prerequisites
- MotherDuck connection established via
motherduck-connect - Target database and tables identified via
motherduck-explore
Default Posture
- Write DuckDB SQL, not PostgreSQL SQL, even when using the PG endpoint.
- Always use fully qualified
"database"."schema"."table"names. - Preserve the intended grain of every result set; state the grain before optimizing or materializing a query.
- Filter early, aggregate early, and prefer serving tables or summaries for repeated reads.
- Keep SQL obvious, multi-line, and explicit about grain, filters, and output shape.
- Treat DDL, DML,
ATTACH,DETACH, recovery commands such asCREATE SNAPSHOT,ALTER DATABASE ... SET SNAPSHOT,UNDROP DATABASE, and lifecycle commands such asSHUTDOWNas writes. Use MCPquery_rwonly when the user explicitly asks for the change and confirms it. - Tag long-lived integrations with
custom_user_agentwhen the connection path supports it.
Workflow
- Confirm the actual tables, columns, and grain before writing SQL.
- Write the query in SQL first, then wrap it in Python or TypeScript only if needed.
- Use CTEs and DuckDB-native patterns such as
GROUP BY ALL,QUALIFY, andarg_max. - Check the plan, row count, and shape for pushdown, unnecessary sorts, or repeated raw rescans.
- Materialize expensive repeated queries into serving tables or light views when warranted.
Open Next
references/QUERY_PLAYBOOK.mdfor DuckDB query patterns, exploration SQL, performance rules, common analytical shapes, and common mistakes
Related Skills
motherduck-connectfor session setupmotherduck-duckdb-sqlfor syntax and function referencemotherduck-explorefor understanding the source schema before writing queries
More from motherduckdb/agent-skills
motherduck-security-governance
Explain MotherDuck security, governance, and access-control patterns. Use when a security_compliance_owner, technical_owner, or application_builder is asking about residency, access boundaries, service accounts, isolation, sharing, or governance posture.
48motherduck-build-data-pipeline
Design an end-to-end MotherDuck pipeline. Use when choosing raw, staging, and analytics boundaries, bulk ingestion paths, transformation sequencing, publication targets, or whether DuckLake is actually required.
44motherduck-pricing-roi
Explain MotherDuck pricing and ROI tradeoffs. Use when an economic_buyer, technical_owner, or analytics_lead is asking about spend, budget guardrails, workload cost drivers, plan fit, or whether MotherDuck is worth adopting.
44motherduck-ducklake
Decide when DuckLake is the right MotherDuck storage pattern. Use when evaluating fully managed DuckLake, BYOB, own-compute DuckLake access, data inlining, object-storage layout, or file-aware maintenance instead of native MotherDuck storage.
44motherduck-create-dive
Create, edit, manage, share, or embed MotherDuck Dives. Use when the work involves Dive authoring, live React + SQL components, MCP get_dive_guide, useSQLQuery, local preview, version history, Dives-as-code, required resources, team sharing, or embedded Dive sessions.
44motherduck-share-data
Create and manage MotherDuck data shares for zero-copy data distribution. Use when sharing databases with team members, other organizations, or making data publicly available.
44