A Claude Code plugin that adds DuckDB-powered skills for data exploration and session memory.
We are working on submitting this plugin to the official Anthropic marketplace. Once listed, it will appear in the Discover tab when you run /plugin inside Claude Code.
Add the repository as a plugin source and install:
/plugin marketplace add duckdb/duckdb-skills
/plugin install duckdb-skills@duckdb-skills
This registers the GitHub repo as a marketplace and installs the plugin. Skills will be available as /duckdb-skills:<skill-name> in all future sessions.
To pull the latest version, update the marketplace first and then the plugin:
/plugin marketplace update duckdb-skills
/plugin update duckdb-skills@duckdb-skills
Attach a DuckDB database file for interactive querying. Explores the schema (tables, columns, row counts) and writes a SQL state file so all other skills can restore the session automatically. You can choose to store state in the project directory (.duckdb-skills/state.sql) or in your home directory (~/.duckdb-skills/<project>/state.sql).
/duckdb-skills:attach-db my_analytics.duckdb
Supports multiple databases — running attach-db again can append to the existing state file.
Run SQL queries against attached databases or ad-hoc against files. Accepts raw SQL or natural language questions. Uses DuckDB's Friendly SQL dialect. Automatically picks up session state from attach-db.
/duckdb-skills:query FROM sales LIMIT 10
/duckdb-skills:query "what are the top 5 customers by revenue?"
/duckdb-skills:query FROM 'exports.csv' WHERE amount > 100
Read and explore any data file — CSV, JSON, Parquet, Avro, Excel, spatial, SQLite, Jupyter notebooks, and more — locally or from remote storage (S3, GCS, Azure, HTTPS). Auto-detects the format by file extension using a built-in read_any table macro. Suggests query for further exploration.
/duckdb-skills:read-file variants.parquet what columns does it have?
/duckdb-skills:read-file s3://my-bucket/data.parquet describe the schema
/duckdb-skills:read-file https://example.com/data.csv how many rows?
Search DuckDB and DuckLake documentation and blog posts using full-text search against the hosted search indexes. No local setup required — queries run over HTTPS by default, with an option to cache the index locally for faster offline searches.
/duckdb-skills:duckdb-docs window functions
/duckdb-skills:duckdb-docs "how do I read a CSV with custom delimiters?"
Search past Claude Code session logs to recover context from previous conversations — decisions made, patterns established, open TODOs. Offloads large result sets to a temporary DuckDB file for interactive drill-down.
/duckdb-skills:read-memories duckdb --here
Install or update DuckDB extensions. Supports name@repo syntax for community extensions and a --update flag that also checks whether your DuckDB CLI is on the latest stable version.
/duckdb-skills:install-duckdb spatial httpfs
/duckdb-skills:install-duckdb gcs@community
/duckdb-skills:install-duckdb --update
All skills share a single state.sql file per project — a plain SQL file containing ATTACH/USE/LOAD statements, secrets, and macros. When state is first needed, you'll be asked where to store it:
- In the project directory (
.duckdb-skills/state.sql) — colocated with the project, optionally gitignored - In your home directory (
~/.duckdb-skills/<project>/state.sql) — keeps the repo clean
The file is append-only and idempotent. Any skill restores the session via duckdb -init state.sql.
To test skills locally from a clone of this repo:
# 1. Clone the repo
git clone https://github.com/duckdb/duckdb-skills.git
cd duckdb-skills
# 2. Launch Claude Code with the local plugin directory
claude --plugin-dir .This loads the plugin from disk instead of the marketplace, so any edits to skills/*/SKILL.md take effect immediately — just start a new conversation (or re-run the slash command) to pick up changes.
You can test individual skills directly:
/duckdb-skills:read-file some_local_file.parquet
/duckdb-skills:duckdb-docs pivot unpivot
/duckdb-skills:query SELECT 42
Prerequisites: DuckDB CLI must be installed. If it isn't, the skills will offer to install it via /duckdb-skills:install-duckdb.
Skills reference each other where it makes sense:
read-filesuggestsqueryfor follow-up exploration andattach-dbfor persisting large filesquery,read-file, andread-memoriesall useduckdb-docsto troubleshoot DuckDB errors automatically- All skills share the same
state.sql— secrets and macros set up byread-fileare reused byquery, and databases attached byattach-dbare available everywhere
These skills have been tested on macOS and Linux. Windows is not yet fully supported — some shell commands and path handling may not work as expected. We plan to improve Windows compatibility in a future release.
Found a bug or have an idea for improvement? Open an issue at:
https://github.com/duckdb/duckdb-skills/issues
For DuckDB-specific bugs (extension loading, SQL errors), please include the DuckDB version (duckdb --version) and the full error message.