Data Analysis
HezaoHezao/poirot
Analyze Excel/CSV files with DuckDB SQL via bash. An agent skill from HezaoHezao/poirot.
Analyzes uploaded Excel and CSV files with SQL through DuckDB, producing schema inspections, statistical summaries and exports to CSV, JSON or Markdown.
$ npx skills add bytedance/deer-flow --skill data-analysis -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install bytedance/deer-flow data-analysis --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/bytedance/deer-flow.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/public/data-analysis .claude/skills/data-analysis && 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 "data-analysis" agent skill from https://github.com/bytedance/deer-flow/tree/main/skills/public/data-analysis into .claude/skills/data-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "data-analysis", 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/bytedance/deer-flow/tree/main/skills/public/data-analysisType 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 bytedance/deer-flow --skill data-analysis -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install bytedance/deer-flow data-analysis --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bytedance/deer-flow.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/public/data-analysis .agents/skills/data-analysis && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "data-analysis" agent skill from https://github.com/bytedance/deer-flow/tree/main/skills/public/data-analysis into .agents/skills/data-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "data-analysis", 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 bytedance/deer-flow --skill data-analysis -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install bytedance/deer-flow data-analysis --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bytedance/deer-flow.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/public/data-analysis .cursor/skills/data-analysis && 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 "data-analysis" agent skill from https://github.com/bytedance/deer-flow/tree/main/skills/public/data-analysis into .cursor/skills/data-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "data-analysis", 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/bytedance/deer-flow.git --path skills/public/data-analysis--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 bytedance/deer-flow --skill data-analysis -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install bytedance/deer-flow data-analysis --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bytedance/deer-flow.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/public/data-analysis .gemini/skills/data-analysis && 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 "data-analysis" agent skill from https://github.com/bytedance/deer-flow/tree/main/skills/public/data-analysis into .gemini/skills/data-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "data-analysis", 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 bytedance/deer-flow data-analysisInstalls 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 bytedance/deer-flow --skill data-analysis -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/bytedance/deer-flow.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/public/data-analysis .github/skills/data-analysis && 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 "data-analysis" agent skill from https://github.com/bytedance/deer-flow/tree/main/skills/public/data-analysis into .github/skills/data-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "data-analysis", 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 bytedance/deer-flow --skill data-analysis -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install bytedance/deer-flow data-analysis --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/bytedance/deer-flow.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/public/data-analysis .opencode/skills/data-analysis && 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 "data-analysis" agent skill from https://github.com/bytedance/deer-flow/tree/main/skills/public/data-analysis into .opencode/skills/data-analysis/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "data-analysis", 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.
data-analysisAnalyzes uploaded Excel and CSV files with SQL through DuckDB, producing schema inspections, statistical summaries and exports to CSV, JSON or Markdown.
Everything runs through one Python script, `scripts/analyze.py`, which loads uploaded workbooks or CSV files into DuckDB, an in-process analytical SQL engine. Each sheet of a multi-sheet Excel workbook becomes its own table, so the agent can filter, aggregate and join across sheets with ordinary SQL.
The workflow has three actions. Inspect returns sheet names, column names and types, non-null counts, row counts and a first look at the data. Query runs SQL written from that schema. Summary reports count, mean, standard deviation, percentiles and null counts for numeric columns, and count, unique values, top value and frequency for text columns. Results can be saved as CSV, JSON or Markdown, chosen by the file extension. Uploaded files are expected under `/mnt/user-data/uploads/`.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 35cdcab. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
pythonFrom 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.
Excel and CSV Data Analysis loads about 2.2k tokens when it runs. Until then it costs about 85 tokens; SKILL.md has 649 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 found no risky patterns in SKILL.md.
Automated 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); the scripts in this folder are not scanned.
The full file from bytedance/deer-flow at commit 35cdcab, republished under its MIT licence (© bytedance). 649 words, ~2,212 tokens.
.claude/skills/data-analysis/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.This skill analyzes user-uploaded Excel/CSV files using DuckDB — an in-process analytical SQL engine. It supports schema inspection, SQL-based querying, statistical summaries, and result export, all through a single Python script.
When a user uploads data files and requests analysis, identify:
/mnt/user-data/uploads//mnt/user-dataFirst, inspect the uploaded file to understand its schema:
python /mnt/skills/public/data-analysis/scripts/analyze.py \
--files /mnt/user-data/uploads/data.xlsx \
--action inspectThis returns:
Based on the schema, construct SQL queries to answer the user's questions.
python /mnt/skills/public/data-analysis/scripts/analyze.py \
--files /mnt/user-data/uploads/data.xlsx \
--action query \
--sql "SELECT category, COUNT(*) as count, AVG(amount) as avg_amount FROM Sheet1 GROUP BY category ORDER BY count DESC"python /mnt/skills/public/data-analysis/scripts/analyze.py \
--files /mnt/user-data/uploads/data.xlsx \
--action summary \
--table Sheet1This returns for each numeric column: count, mean, std, min, 25%, 50%, 75%, max, null_count. For string columns: count, unique, top value, frequency, null_count.
python /mnt/skills/public/data-analysis/scripts/analyze.py \
--files /mnt/user-data/uploads/data.xlsx \
--action query \
--sql "SELECT * FROM Sheet1 WHERE amount > 1000" \
--output-file /mnt/user-data/outputs/filtered-results.csvSupported output formats (auto-detected from extension):
.csv — Comma-separated values.json — JSON array of records.md — Markdown table| Parameter | Required | Description |
|---|---|---|
--files | Yes | Space-separated paths to Excel/CSV files |
--action | Yes | One of: inspect, query, summary |
--sql | For query | SQL query to execute |
--table | For summary | Table/sheet name to summarize |
--output-file | No | Path to export results (CSV/JSON/MD) |
[!NOTE] Do NOT read the Python file, just call it with the parameters.
Sheet1, Sales, Revenue)data.csv → data)"2024_Sales"-- Row count
SELECT COUNT(*) FROM Sheet1
-- Distinct values in a column
SELECT DISTINCT category FROM Sheet1
-- Value distribution
SELECT category, COUNT(*) as cnt FROM Sheet1 GROUP BY category ORDER BY cnt DESC
-- Date range
SELECT MIN(date_col), MAX(date_col) FROM Sheet1-- Revenue by category and month
SELECT category, DATE_TRUNC('month', order_date) as month,
SUM(revenue) as total_revenue
FROM Sales
GROUP BY category, month
ORDER BY month, total_revenue DESC
-- Top 10 customers by spend
SELECT customer_name, SUM(amount) as total_spend
FROM Orders GROUP BY customer_name
ORDER BY total_spend DESC LIMIT 10-- Join sales with customer info from different files
SELECT s.order_id, s.amount, c.customer_name, c.region
FROM sales s
JOIN customers c ON s.customer_id = c.id
WHERE s.amount > 500-- Running total and rank
SELECT order_date, amount,
SUM(amount) OVER (ORDER BY order_date) as running_total,
RANK() OVER (ORDER BY amount DESC) as amount_rank
FROM Sales-- Pivot: monthly revenue by category
SELECT category,
SUM(CASE WHEN MONTH(date) = 1 THEN revenue END) as Jan,
SUM(CASE WHEN MONTH(date) = 2 THEN revenue END) as Feb,
SUM(CASE WHEN MONTH(date) = 3 THEN revenue END) as Mar
FROM Sales
GROUP BY categoryUser uploads sales_2024.xlsx (with sheets: Orders, Products, Customers) and asks: "Analyze my sales data — show top products by revenue and monthly trends."
python /mnt/skills/public/data-analysis/scripts/analyze.py \
--files /mnt/user-data/uploads/sales_2024.xlsx \
--action inspectpython /mnt/skills/public/data-analysis/scripts/analyze.py \
--files /mnt/user-data/uploads/sales_2024.xlsx \
--action query \
--sql "SELECT p.product_name, SUM(o.quantity * o.unit_price) as total_revenue, SUM(o.quantity) as total_units FROM Orders o JOIN Products p ON o.product_id = p.id GROUP BY p.product_name ORDER BY total_revenue DESC LIMIT 10"python /mnt/skills/public/data-analysis/scripts/analyze.py \
--files /mnt/user-data/uploads/sales_2024.xlsx \
--action query \
--sql "SELECT DATE_TRUNC('month', order_date) as month, SUM(quantity * unit_price) as revenue FROM Orders GROUP BY month ORDER BY month" \
--output-file /mnt/user-data/outputs/monthly-trends.csvpython /mnt/skills/public/data-analysis/scripts/analyze.py \
--files /mnt/user-data/uploads/sales_2024.xlsx \
--action summary \
--table OrdersPresent results to the user with clear explanations of findings, trends, and actionable insights.
User uploads orders.csv and customers.xlsx and asks: "Which region has the highest average order value?"
python /mnt/skills/public/data-analysis/scripts/analyze.py \
--files /mnt/user-data/uploads/orders.csv /mnt/user-data/uploads/customers.xlsx \
--action query \
--sql "SELECT c.region, AVG(o.amount) as avg_order_value, COUNT(*) as order_count FROM orders o JOIN Customers c ON o.customer_id = c.id GROUP BY c.region ORDER BY avg_order_value DESC"After analysis:
present_files toolThe script automatically caches loaded data to avoid re-parsing files on every call:
/mnt/user-data/workspace/.data-analysis-cache/This is especially useful when running multiple queries against the same data files (inspect → query → summary).
DATE_TRUNC, EXTRACT, etc.)"Column Name"© bytedance, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (scripts) in skills/public/data-analysis of bytedance/deer-flow.
Open the folder on GitHubat commit 35cdcab
We found 4 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 4 other GitHub owners. This page covers the copy in bytedance/deer-flow, which our catalogue first saw on October 7, 2026.
Excel and CSV Data Analysis 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 |
|---|---|---|---|---|---|---|
| Excel and CSV Data Analysis this skillbytedance/deer-flow | 83k | 4 repos | ~2.2k | Automated safety check: Pass | MIT | |
| Data AnalysisHezaoHezao/poirot | 250 | — | ~997 | Automated safety check: Pass | MIT | |
| Data Analysisspytensor/openmozi | 439 | — | ~535 | Automated safety check: Pass | MIT | |
| Raccoon DataanalysisSenseTime-Copilot/raccoon-dataanalysis-skill | 137 | — | ~1.9k | Automated safety check: Pass | None | |
| CSV Data Analysis5zjk5/prompt-engineering | 127 | — | ~2.6k | Automated safety check: Pass | None | |
| Rust SQL Testshencangsheng/easydb_app | 590 | — | ~1.2k | Automated safety check: Pass | MIT |
HezaoHezao/poirot
Analyze Excel/CSV files with DuckDB SQL via bash. An agent skill from HezaoHezao/poirot.
spytensor/openmozi
Data analysis workflow: ingest, validate quality, explore, analyze, report.
SenseTime-Copilot/raccoon-dataanalysis-skill
Raccoon (小浣熊) Data Analysis - Remote code interpreter and data visualization service powered by SenseTime.
5zjk5/prompt-engineering
This skill should be used when users need to analyze CSV or Excel files, understand data patterns, generate statistical summaries, or create data visualizations.
shencangsheng/easydb_app
Enforces unit test requirements for the Rust data-processing modules in src-tauri/src/sql/ (generator.rs, parse.rs) and src-tauri/src/reader/ (excel.rs and other readers).
GAIK-project/gaik-toolkit
GAIK toolkit overview and reference. An agent skill from GAIK-project/gaik-toolkit.
bytedance/deer-flow
Deploys a project to Vercel with one script and no login, then returns a live preview URL and a claim link for moving the deployment into your own Vercel account.
bytedance/deer-flow
Picks a suitable chart type from 26 options for your data, maps the data to that chart's parameters and generates a chart image through a JavaScript script.
bytedance/deer-flow
Researches a GitHub repository over four rounds using the GitHub API and web search, then writes a structured markdown report with timeline, metrics and Mermaid diagrams.
bytedance/deer-flow
Turns an image request into a structured JSON prompt and runs a bundled Python script to generate the picture, optionally guided by reference images.
bytedance/deer-flow
Walks through an end-to-end smoke test of a DeerFlow deployment: pull the latest code, deploy with Docker or locally, verify services, run health checks and write a report.
bytedance/deer-flow
Generates short videos from a structured JSON prompt, optionally guided by a reference image used as the first or last frame.
Works with
Categories
Analyzes uploaded Excel and CSV files with SQL through DuckDB, producing schema inspections, statistical summaries and exports to CSV, JSON or Markdown. py`, which loads uploaded workbooks or CSV files into DuckDB, an in-process analytical SQL engine. Each sheet of a multi-sheet Excel workbook becomes its own table, so the agent can filter, aggregate and join across sheets with ordinary SQL.
Excel and CSV Data Analysis fits situations like: exploring an uploaded spreadsheet to see its sheets, columns and types; answering a question about Excel data with a SQL aggregation; joining two sheets or files and exporting the result; getting descriptive statistics for every column in a CSV file.
Run `npx skills add bytedance/deer-flow --skill data-analysis -a claude-code`. Or copy the skill folder (skills/public/data-analysis in bytedance/deer-flow) into .claude/skills/data-analysis in your project. Claude Code loads it when a task matches its description.
Run `npx skills add bytedance/deer-flow --skill data-analysis -a codex`. Or copy the skill folder (skills/public/data-analysis in bytedance/deer-flow) into .agents/skills/data-analysis 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 bytedance/deer-flow --skill data-analysis -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/data-analysis, .gemini/skills/data-analysis, .github/skills/data-analysis and .opencode/skills/data-analysis in your project.
Going by SKILL.md and its folder, Excel and CSV Data Analysis needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python with DuckDB available to `scripts/analyze.py`; Excel or CSV files in the uploads folder.
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 no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Excel and CSV Data Analysis is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.2k tokens (SKILL.md is roughly 8.8k 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 Excel and CSV Data Analysis: Data Analysis (HezaoHezao/poirot, 250 stars), Data Analysis (spytensor/openmozi, 439 stars), Raccoon Dataanalysis (SenseTime-Copilot/raccoon-dataanalysis-skill, 137 stars) and CSV Data Analysis (5zjk5/prompt-engineering, 127 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
bytedance (a GitHub organization) maintains it in bytedance/deer-flow, which has 83,441 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on October 7, 2026.
Source: bytedance/deer-flow on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.