Exploring Data
oaustegard/claude-skills
Exploratory data analysis. An agent skill from oaustegard/claude-skills.
Read any data file (CSV, JSON, Parquet, Avro, Excel, spatial, SQLite) or remote URL (S3, HTTPS).
$ npx skills add duckdb/duckdb-skills --skill read-file -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install duckdb/duckdb-skills read-file --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/duckdb/duckdb-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/read-file .claude/skills/read-file && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "read-file" agent skill from https://github.com/duckdb/duckdb-skills/tree/main/skills/read-file into .claude/skills/read-file/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "read-file", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/duckdb/duckdb-skills/tree/main/skills/read-fileType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add duckdb/duckdb-skills --skill read-file -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install duckdb/duckdb-skills read-file --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/duckdb/duckdb-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/read-file .agents/skills/read-file && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "read-file" agent skill from https://github.com/duckdb/duckdb-skills/tree/main/skills/read-file into .agents/skills/read-file/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "read-file", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add duckdb/duckdb-skills --skill read-file -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install duckdb/duckdb-skills read-file --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/duckdb/duckdb-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/read-file .cursor/skills/read-file && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "read-file" agent skill from https://github.com/duckdb/duckdb-skills/tree/main/skills/read-file into .cursor/skills/read-file/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "read-file", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/duckdb/duckdb-skills.git --path skills/read-file--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add duckdb/duckdb-skills --skill read-file -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install duckdb/duckdb-skills read-file --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/duckdb/duckdb-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/read-file .gemini/skills/read-file && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "read-file" agent skill from https://github.com/duckdb/duckdb-skills/tree/main/skills/read-file into .gemini/skills/read-file/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "read-file", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install duckdb/duckdb-skills read-fileInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add duckdb/duckdb-skills --skill read-file -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/duckdb/duckdb-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/read-file .github/skills/read-file && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "read-file" agent skill from https://github.com/duckdb/duckdb-skills/tree/main/skills/read-file into .github/skills/read-file/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "read-file", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add duckdb/duckdb-skills --skill read-file -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install duckdb/duckdb-skills read-file --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/duckdb/duckdb-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/read-file .opencode/skills/read-file && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "read-file" agent skill from https://github.com/duckdb/duckdb-skills/tree/main/skills/read-file into .opencode/skills/read-file/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "read-file", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
read-fileRead any data file (CSV, JSON, Parquet, Avro, Excel, spatial, SQLite) or remote URL (S3, HTTPS).
Read File is an agent skill from duckdb/duckdb-skills, published by the product's own GitHub organization. Read any data file (CSV, JSON, Parquet, Avro, Excel, spatial, SQLite) or remote URL (S3, HTTPS). Use when user references a data file, asks "what's in this file", or wants to preview/profile a dataset. Not for source code.
Its SKILL.md is about 920 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Documents & Office, covering File uploads and storage, Excel spreadsheets and DataFrames. It works with SQLite, DuckDB, Microsoft Excel and Microsoft Azure. The licence is MIT.
2 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 7feda8e. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
duckdbFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Read File loads about 917 tokens when it runs. Until then it costs about 58 tokens; SKILL.md has 183 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: BashAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from duckdb/duckdb-skills at commit 7feda8e, republished under its MIT licence (© duckdb). 183 words, ~917 tokens.
.claude/skills/read-file/SKILL.md (or your agent's skills folder).You are helping the user read and analyze a data file using DuckDB.
Filename given: $0
Question: ${1:-describe the data}
RESOLVED_PATH is $0. If the user gave a bare filename (no /), resolve it to a full path with find first.
Run a single DuckDB command that defines the read_any macro inline and reads the file.
For remote files, prepend the necessary LOAD/SECRET before the macro:
| Protocol | Prepend |
|---|---|
https:// / http:// | LOAD httpfs; |
s3:// | LOAD httpfs; CREATE SECRET (TYPE S3, PROVIDER credential_chain); |
gs:// / gcs:// | LOAD httpfs; CREATE SECRET (TYPE GCS, PROVIDER credential_chain); |
az:// / azure:// / abfss:// | LOAD httpfs; LOAD azure; CREATE SECRET (TYPE AZURE, PROVIDER credential_chain); |
For local files, no prefix needed.
duckdb -csv -c "
CREATE OR REPLACE MACRO read_any(file_name) AS TABLE
WITH json_case AS (FROM read_json_auto(file_name))
, csv_case AS (FROM read_csv(file_name))
, parquet_case AS (FROM read_parquet(file_name))
, avro_case AS (FROM read_avro(file_name))
, blob_case AS (FROM read_blob(file_name))
, spatial_case AS (FROM st_read(file_name))
, excel_case AS (FROM read_xlsx(file_name))
, sqlite_case AS (FROM sqlite_scan(file_name, (SELECT name FROM sqlite_master(file_name) LIMIT 1)))
, ipynb_case AS (
WITH nb AS (FROM read_json_auto(file_name))
SELECT cell_idx, cell.cell_type,
array_to_string(cell.source, '') AS source,
cell.execution_count
FROM nb, UNNEST(cells) WITH ORDINALITY AS t(cell, cell_idx)
ORDER BY cell_idx
)
FROM query_table(
CASE
WHEN file_name ILIKE '%.json' OR file_name ILIKE '%.jsonl' OR file_name ILIKE '%.ndjson' OR file_name ILIKE '%.geojson' OR file_name ILIKE '%.geojsonl' OR file_name ILIKE '%.har' THEN 'json_case'
WHEN file_name ILIKE '%.csv' OR file_name ILIKE '%.tsv' OR file_name ILIKE '%.tab' OR file_name ILIKE '%.txt' THEN 'csv_case'
WHEN file_name ILIKE '%.parquet' OR file_name ILIKE '%.pq' THEN 'parquet_case'
WHEN file_name ILIKE '%.avro' THEN 'avro_case'
WHEN file_name ILIKE '%.xlsx' OR file_name ILIKE '%.xls' THEN 'excel_case'
WHEN file_name ILIKE '%.shp' OR file_name ILIKE '%.gpkg' OR file_name ILIKE '%.fgb' OR file_name ILIKE '%.kml' THEN 'spatial_case'
WHEN file_name ILIKE '%.ipynb' THEN 'ipynb_case'
WHEN file_name ILIKE '%.db' OR file_name ILIKE '%.sqlite' OR file_name ILIKE '%.sqlite3' THEN 'sqlite_case'
ELSE 'blob_case'
END
);
DESCRIBE FROM read_any('RESOLVED_PATH');
SELECT count(*) AS row_count FROM read_any('RESOLVED_PATH');
FROM read_any('RESOLVED_PATH') LIMIT 20;
"If this fails:
duckdb: command not found → invoke /duckdb-skills:install-duckdb and retry.INSTALL spatial; LOAD spatial; or INSTALL sqlite_scanner; LOAD sqlite_scanner; prepended before the macro.read_* function directly instead of read_any.Using the schema, row count, and sample rows, answer:
${1:-describe the data: summarize column types, row count, and any notable patterns.}
© duckdb, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/read-file of duckdb/duckdb-skills.
Open the folder on GitHubat commit 7feda8e
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in duckdb/duckdb-skills, which our catalogue first saw on October 7, 2026.
Read File next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Read File this skillduckdb/duckdb-skills | 600 | 1 repos | ~917 | Automated safety check: Notes | MIT | |
| Exploring Dataoaustegard/claude-skills | 150 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Data AnalysisHezaoHezao/poirot | 250 | — | ~997 | Automated safety check: Pass | MIT | |
| Excel ParserHarryoung/efka | 104 | — | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| Sn Da Image CaptionMichaelYang-lyx/AIDABench | 111 | 1 repos | ~2k | Automated safety check: Pass | None | |
| CSV and Excel MergerOneWave-AI/claude-skills | 323 | — | ~1.6k | Automated safety check: Pass | MIT |
oaustegard/claude-skills
Exploratory data analysis. An agent skill from oaustegard/claude-skills.
HezaoHezao/poirot
Analyze Excel/CSV files with DuckDB SQL via bash. An agent skill from HezaoHezao/poirot.
Harryoung/efka
Smart Excel/CSV file parsing with intelligent routing based on file complexity analysis.
MichaelYang-lyx/AIDABench
图片理解与数据提取 skill。当图片文件(.png/.jpg/.jpeg/.gif/.webp/.bmp)是主要输入且用户需要理解、提取数据或分析图片内容时使用。提供预配置的 caption 脚本(scripts/caption.py),通过 vision 模型将图片转为文本描述,无需额外配置 API Key。覆盖:(1) 通过 scripts/caption.py…
OneWave-AI/claude-skills
Combines CSV, TSV and Excel files into one verified table with pandas, by stacking or joining, mapping columns, normalizing keys and removing duplicates.
Aperivue/medsci-skills
A skill your agent uses when a tabular dataset (CSV, Excel, Parquet, Stata, SAS) needs a data dictionary.
duckdb/duckdb-skills
Answer questions about spatial data using DuckDB. An agent skill from duckdb/duckdb-skills.
duckdb/duckdb-skills
Convert any data file to another format: CSV, Parquet, JSON, Excel, GeoJSON, and more.
duckdb/duckdb-skills
Explore and query data on S3, Cloudflare R2, GCS, MinIO, or any S3-compatible storage.
duckdb/duckdb-skills
Attach a DuckDB database file for use with /duckdb-skills:query.
duckdb/duckdb-skills
Search DuckDB and DuckLake documentation and blog posts. An agent skill from duckdb/duckdb-skills.
duckdb/duckdb-skills
Run SQL queries against the attached DuckDB database or ad-hoc against files.
Categories
Read any data file (CSV, JSON, Parquet, Avro, Excel, spatial, SQLite) or remote URL (S3, HTTPS). Read File is an agent skill from duckdb/duckdb-skills, published by the product's own GitHub organization. Read any data file (CSV, JSON, Parquet, Avro, Excel, spatial, SQLite) or remote URL (S3, HTTPS).
Read File fits situations like: user references a data file; asks whats in this file; wants to preview/profile a dataset.
Run `npx skills add duckdb/duckdb-skills --skill read-file -a claude-code`. Or copy the skill folder (skills/read-file in duckdb/duckdb-skills) into .claude/skills/read-file in your project. Claude Code loads it when a task matches its description.
Run `npx skills add duckdb/duckdb-skills --skill read-file -a codex`. Or copy the skill folder (skills/read-file in duckdb/duckdb-skills) into .agents/skills/read-file in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add duckdb/duckdb-skills --skill read-file -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/read-file, .gemini/skills/read-file, .github/skills/read-file and .opencode/skills/read-file in your project.
Going by SKILL.md and its folder, Read File needs the command-line tools its instructions call (duckdb). Its frontmatter pre-approves these tools: Bash.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Read File is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 917 tokens (SKILL.md is roughly 3.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Read File: Exploring Data (oaustegard/claude-skills, 150 stars), Data Analysis (HezaoHezao/poirot, 250 stars), Excel Parser (Harryoung/efka, 104 stars) and Sn Da Image Caption (MichaelYang-lyx/AIDABench, 111 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
duckdb (a GitHub organization, an official publisher) maintains it in duckdb/duckdb-skills, which has 600 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on April 23, 2026.
Source: duckdb/duckdb-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.