Query MotherDuck
Use this skill when executing SQL queries for analytics, aggregations, transformations, or data exploration against MotherDuck databases.
Prerequisites
- MotherDuck connection established via
connect - Target database and tables identified via
explore
Default Posture
- Write DuckDB SQL, not PostgreSQL SQL, even when using the PG endpoint.
- Always use fully qualified
"database"."schema"."table"names. - 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.
- 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 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
connectfor session setupduckdb-sqlfor syntax and function referenceexplorefor understanding the source schema before writing queries