<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/duckdb-skills-for-claude-code-p0jrypxv5" -->

---
title: DuckDB Skills for Claude Code | daily.dev
description: DuckDB released a plugin called duckdb-skills that gives Claude Code a set of skills for working with data through the DuckDB CLI instead of ad-hoc Python...
canonical: https://daily.dev/posts/duckdb-skills-for-claude-code-p0jrypxv5
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: DuckDB Skills for Claude Code | daily.dev
og:description: DuckDB released a plugin called duckdb-skills that gives Claude Code a set of skills for working with data through the DuckDB CLI instead of ad-hoc Python...
og:url: https://daily.dev/posts/duckdb-skills-for-claude-code-p0jrypxv5
og:image: https://api.daily.dev/og/posts/P0JRypXV5.png
og:image:alt: DuckDB Skills for Claude Code
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# DuckDB Skills for Claude Code

**[DuckDB](https://daily.dev/sources/duckdb)** · 5 min read · 17 upvotes · 1 comments

## Summary

DuckDB released a plugin called duckdb-skills that gives Claude Code a set of skills for working with data through the DuckDB CLI instead of ad-hoc Python scripts. Skills cover attaching databases, running SQL or plain-English queries, reading and profiling files (CSV, JSON, Parquet, Avro, Excel, spatial, SQLite, Jupyter) locally or in S3/GCS/Azure, converting between formats, exploring S3-compatible object storage without downloading, answering spatial questions using Overture Maps data, searching DuckDB and DuckLake documentation, recalling past Claude Code session context, and installing or updating extensions. Installation is via Claude Code's plugin marketplace, and session state is shared across skills through a state.sql file that can restore a session with duckdb -init state.sql.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://duckdb.org/2026/09/16/duckdb-skills.html>

## Questions this post answers

### How do I let Claude Code use DuckDB instead of writing Python scripts to read data files?

Install the duckdb-skills plugin by adding the repository as a plugin marketplace in Claude Code and running the install command: /plugin marketplace add duckdb/duckdb-skills followed by /plugin install duckdb-skills@duckdb-skills. This requires the DuckDB CLI installed locally, and the plugin's skills then let Claude query files, databases, and object storage directly via DuckDB SQL rather than writing ad-hoc Python scripts.

_daily.dev surfaces plugin releases like this for developers wiring AI agents into their data workflows._

### What data formats and storage backends can the DuckDB skills plugin for Claude Code work with?

The read-file skill reads and profiles CSV, JSON, Parquet, Avro, Excel, spatial, SQLite, and Jupyter files, whether stored on local disk or in S3, GCS, Azure, or over HTTPS. Separate skills handle format conversion, S3-compatible object storage exploration without downloading, and spatial queries including free Overture Maps data.

_developers evaluating AI-agent data tooling can track plugin capabilities like these on daily.dev._

### How does session state get shared between different DuckDB Claude Code skills?

All skills share a single per-project state.sql file containing plain SQL ATTACH, USE, and LOAD statements along with secrets and macros, so a session can be restored later by running duckdb -init state.sql. This lets separate skills like attach-db and query operate on the same attached databases within a project.

_engineers building repeatable AI-assisted data sessions can follow tooling updates like this on daily.dev._

## Community discussion

Top comments from developers on daily.dev.

**@harishav** · 0 upvotes

> Can we use them with other tools, like Cursor or Codex ?

## Similar posts on daily.dev

- [Getting Started with Claude Skills](https://daily.dev/posts/getting-started-with-claude-skills-td6e8jk7m) · Neon · 9 upvotes · 0 comments
- [Claude Code Plugin Marketplace & Skills Guide \(2026\)](https://daily.dev/posts/claude-code-plugin-marketplace-skills-guide-2026--n1mlq6ku6) · Alex CloudStar · 0 upvotes · 1 comments

---

Tags: [#ai-agents](https://daily.dev/tags/ai-agents), [#sql](https://daily.dev/tags/sql), [#data-engineering](https://daily.dev/tags/data-engineering), [#claude-code](https://daily.dev/tags/claude-code), [#duckdb](https://daily.dev/tags/duckdb)

[View this post on daily.dev](https://daily.dev/posts/duckdb-skills-for-claude-code-p0jrypxv5)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"DuckDB Skills for Claude Code","url":"https://daily.dev/posts/duckdb-skills-for-claude-code-p0jrypxv5","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/duckdb-skills-for-claude-code-p0jrypxv5"},"datePublished":"2026-09-16T14:45:12.875Z","dateModified":"2026-09-16T15:07:22.441Z","description":"DuckDB released a plugin called duckdb-skills that gives Claude Code a set of skills for working with data through the DuckDB CLI instead of ad-hoc Python...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/9ef3d3dc110533c02d4fe341e616415d?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/9ef3d3dc110533c02d4fe341e616415d?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"DuckDB","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"DuckDB","logo":"https://media.daily.dev/image/upload/s--3luD3Wei--/f_auto/v1714800008/logos/duckdb","url":"https://daily.dev/sources/duckdb"},"commentCount":1,"discussionUrl":"https://daily.dev/posts/duckdb-skills-for-claude-code-p0jrypxv5","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":17},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":1}],"keywords":"ai-agents,sql,data-engineering,claude-code,duckdb","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"DuckDB","item":"https://daily.dev/sources/duckdb"},{"@type":"ListItem","position":3,"name":"DuckDB Skills for Claude Code"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/duckdb-skills-for-claude-code-p0jrypxv5","comment":[{"@type":"Comment","text":"Can we use them with other tools, like Cursor or Codex ?","datePublished":"2026-09-20T05:30:46.205Z","url":"https://daily.dev/posts/P0JRypXV5#c-KRzyW1SV5","author":{"@type":"Person","name":"harishav","url":"https://daily.dev/harishav","image":"https://avatars1.githubusercontent.com/u/23623627?v=4"}}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/duckdb-skills-for-claude-code-p0jrypxv5#faq","mainEntity":[{"@type":"Question","name":"How do I let Claude Code use DuckDB instead of writing Python scripts to read data files?","acceptedAnswer":{"@type":"Answer","text":"Install the duckdb-skills plugin by adding the repository as a plugin marketplace in Claude Code and running the install command: /plugin marketplace add duckdb/duckdb-skills followed by /plugin install duckdb-skills@duckdb-skills. This requires the DuckDB CLI installed locally, and the plugin's skills then let Claude query files, databases, and object storage directly via DuckDB SQL rather than writing ad-hoc Python scripts. daily.dev surfaces plugin releases like this for developers wiring AI agents into their data workflows."}},{"@type":"Question","name":"What data formats and storage backends can the DuckDB skills plugin for Claude Code work with?","acceptedAnswer":{"@type":"Answer","text":"The read-file skill reads and profiles CSV, JSON, Parquet, Avro, Excel, spatial, SQLite, and Jupyter files, whether stored on local disk or in S3, GCS, Azure, or over HTTPS. Separate skills handle format conversion, S3-compatible object storage exploration without downloading, and spatial queries including free Overture Maps data. developers evaluating AI-agent data tooling can track plugin capabilities like these on daily.dev."}},{"@type":"Question","name":"How does session state get shared between different DuckDB Claude Code skills?","acceptedAnswer":{"@type":"Answer","text":"All skills share a single per-project state.sql file containing plain SQL ATTACH, USE, and LOAD statements along with secrets and macros, so a session can be restored later by running duckdb -init state.sql. This lets separate skills like attach-db and query operate on the same attached databases within a project. engineers building repeatable AI-assisted data sessions can follow tooling updates like this on daily.dev."}}]}
```

