data-analysis
Skill8 starsChanged 4 months agoMITView on GitHub
End-to-end data analysis in R or Python — exploration through regression to publication-ready tables and figures. Use when running empirical analysis, writing analysis code, or producing output from data.
76 other projects use a version of this, 3 of them edited.
Adopted by
Most recently taken up by
- zakirkun/slayerclawtheir own version, first seen Nov 8, 2026
- pedrohcgs/claude-code-my-workflowedited, first seen Nov 7, 2026
- notegpt-official/notegpt-skillstheir own version, first seen Nov 6, 2026
- CatCatUncle/openworkbuddytheir own version, first seen Nov 5, 2026
- flonat/flonat-researchtheir own version, first seen Nov 3, 2026
- AgnesAI-Labs/agnet-skills-cntheir own version, first seen Nov 1, 2026
Used with
Projects with it also use algorithm-design, deepl and 9 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
lingzhi227Skillalgorithm-design
Design algorithms with LaTeX pseudocode and UML diagrams. Generate algorithmic environments, Mermaid class/sequence diagrams, and ensure consistency between pseudocode and implementation. Use when formalizing methods for a paper.
Also in 5 projects that use this
zephyrwang6Skilldeepl
Übersetzt Texte, Dokumente und XLIFF-Dateien via DeepL API. Verwende für Übersetzungen mit /deepl translate, /deepl file oder /deepl xliff.
Also in 4 projects that use this
zephyrwang6Skillimagemagick-conversion
Convert and manipulate images with ImageMagick. Covers format conversion, resizing, batch processing, quality adjustment, and image transformations. Use when user mentions image conversion, resizing images, ImageMagick, magick command, batch image processing, or thumbnail generation.
Also in 4 projects that use this
lingzhi227Skilllatex-formatting
Handle LaTeX formatting, templates, and styling for academic papers. Set up conference templates (ICML, ICLR, NeurIPS, AAAI, ACL), fix formatting issues, manage packages, and ensure venue-specific compliance. Use when the user needs to set up a paper template, fix LaTeX formatting, or prepare for submission.
Also in 4 projects that use this
stophobiaSkillsurprise-me
Create a delightful, unexpected "wow" experience for the user by dynamically discovering and creatively combining other enabled skills. Triggers when the user says "surprise me" or any request expressing a desire for an unexpected creative showcase. Also triggers when the user is bored, wants inspiration, or asks for "something interesting".
Also in 4 projects that use this
HK-hubSkillconsulting-analysis
Use this skill when the user requests to generate, create, or write professional research reports including but not limited to market analysis, consumer insights, brand analysis, financial analysis, industry research, competitive intelligence, investment due diligence, or any consulting-grade analytical report. This skill operates in two phases — (1) generating a structured analysis framework with chapter skeleton, data query requirements, and analysis logic, and (2) after data collection by other skills, producing the final consulting-grade report with structured narratives, embedded charts, and strategic insights.
Also in 5 projects that use this
- +3 more from zephyrwang6
- +2 more from lingzhi227
Other versions76 projects use a version of this.
Word for word · 0
None found.
Edited · 3
- pedrohcgs/claude-code-my-workflow★ 1.7k16% same
- maxwell2732/paper-replicate-agent-demo★ 13435% same
- luischanci/claude-code-research-starter★ 119% same
Wrote their own version · 73
- bytedance/deer-flow★ 85ksame name
- fastclaw-ai/fastclaw★ 1.4ksame name
- stophobia/deerflow2.0-enhanced★ 821same name
- EvovexAI/EvoFlow★ 612same name
- claude-office-skills/skills★ 433same name
- CatCatUncle/openworkbuddy★ 398same name
- lingzhi227/agent-research-skills★ 350same name
- zephyrwang6/myskill★ 339same name
- duyet/clickhouse-monitoring★ 303same name
- liangdabiao/claude-data-analysis-ultra-main★ 282same name
63 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository12 other files it gives its agents.
- data-finderSkill
- lit-reviewSkill
- new-projectSkill
- proofreadSkill
- quality-gateSkill
- research-setupSkill
- review-paperSkill
- review-rSkill
- revise-paperSkill
- session-logSkill
- validate-bibSkill
- write-paperSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
17 rules. 0 are common, 7 are distinctive, and 10 are very specific to this project.
0
Common
Most of the 53 edited versions we read keep these.
7
Distinctive
This author's own choices. Worth a look.
10
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 11
Run an end-to-end data analysis in R or Python: load, explore, analyze, and produce publication-ready output.
- Very specific: line 15
Before making analysis changes, read ${CLAUDE_PLUGIN_ROOT}/rules/orchestrator-protocol.md, …
- Very specific: line 25
If $ARGUMENTS points to a PDF, HTML page, government portal URL, or other non-tabular source, Read …
- Very specific: line 31
Follow ${CLAUDE_PLUGIN_ROOT}/rules/r-code-conventions.md for all standards
- Very specific: line 34
Use saveRDS() for every computed object
- Very specific: line 35
Run r-reviewer on the generated script before presenting results
- Very specific: line 38
Create R script with proper header (title, author, purpose, inputs, outputs) — Read …
- Very specific: line 41
Create output directories: dir.create("output/analysis", recursive = TRUE, showWarnings = FALSE)
- Very specific: line 81
Use joblib.dump() for model objects.
- Very specific: line 82
Use pathlib.Path for all file paths — never hardcode absolute paths
- Very specific: line 86
Create Python script with header — Read ${CLAUDE_PLUGIN_ROOT}/skills/data-analysis/assets/analysis-script.py and adapt
- Distinctive: line 87
Import all packages at the top of the file
- Distinctive: line 103
Document SE choice with a comment
- Distinctive: line 133
Reproduce, don't guess: If the user specifies a regression, run exactly that.
- Distinctive: line 135
Check for issues: Look for multicollinearity, outliers, perfect prediction, missing data.
- Distinctive: line 136
Use relative paths: All paths relative to repository root.
- Distinctive: line 137
No hardcoded values: Use variables for sample restrictions, date ranges, thresholds.
“Common” is measured: kept by at least 6 in 10 of the 53 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Data Analysis Workflow
Run an end-to-end data analysis in R or Python: load, explore, analyze, and produce publication-ready output.
Input: $ARGUMENTS — a dataset path (e.g., data/county_panel.csv) or a description of the analysis goal (e.g., "regress wages on education with state fixed effects using CPS data").
Before making analysis changes, read ${CLAUDE_PLUGIN_ROOT}/rules/orchestrator-protocol.md, ${CLAUDE_PLUGIN_ROOT}/rules/analysis-verification.md, and ${CLAUDE_PLUGIN_ROOT}/rules/quality-gates.md; for replication or extension requests, also read ${CLAUDE_PLUGIN_ROOT}/rules/replication-protocol.md.
Phase 0: Choose Language
R is the default. If ambiguous, use AskUserQuestion to pick R (Recommended — tidyverse/fixest/ggplot2, full plugin support including r-reviewer) or Python (pandas/statsmodels). Pick R when the project has existing .R code; Python when it has existing .py or .ipynb.
Phase 0.5: Ingest Non-Tabular Inputs
If $ARGUMENTS points to a PDF, HTML page, government portal URL, or other non-tabular source, Read ${CLAUDE_PLUGIN_ROOT}/skills/data-analysis/references/ingest-recipes.md and follow it before Phase 1. Skip this phase for flat files (.csv, .parquet, .dta, .rds, .feather, .json).
R Track
Constraints
- Follow
${CLAUDE_PLUGIN_ROOT}/rules/r-code-conventions.mdfor all standards - Save scripts to
scripts/R/with descriptive names - Save all outputs (figures, tables, RDS) to
output/ - Use
saveRDS()for every computed object - Run
r-revieweron the generated script before presenting results
Phase 1: Setup and Data Loading
- Create R script with proper header (title, author, purpose, inputs, outputs) — Read
${CLAUDE_PLUGIN_ROOT}/skills/data-analysis/assets/analysis-script.Rand adapt - Load required packages at top (
library(), neverrequire()) - Set seed once at top:
set.seed(42) - Create output directories:
dir.create("output/analysis", recursive = TRUE, showWarnings = FALSE) - Load and inspect the dataset
Phase 2: Exploratory Data Analysis
summary(), missingness rates, variable types- Histograms for key continuous variables
- Scatter plots, correlation matrices
- Panel trends, pre-treatment comparisons if applicable
- Save all diagnostic figures to
output/diagnostics/
Phase 3: Main Analysis
- Panel data: use
fixest; cross-section: uselm/glm - Cluster SEs at the appropriate level (document why)
- Multiple specifications: start simple, progressively add controls
- Report standardized effects alongside raw coefficients
Phase 3.5: Identification Diagnostics
Mandatory for any analysis with a causal interpretation. Detect the design from the analysis goal and the model call (feols(... | id + t) with treatment-timing → DiD; rdrobust → RDD; feols(y ~ ... | 0 | endog ~ instr) → IV; tidysynth → synthetic control; random assignment → RCT; MatchIt/cobalt → matching). Read ${CLAUDE_PLUGIN_ROOT}/skills/data-analysis/references/identification-r.md and run the block matching the detected design. Ask once with AskUserQuestion only if the design is genuinely ambiguous. Skip this phase for purely descriptive analyses.
Phase 4: Publication-Ready Output
Tables: modelsummary (preferred) or stargazer — export .tex and .html
Figures: ggplot2 with project theme; explicit ggsave(width = X, height = Y); save as .pdf and .png; add bg = "transparent" only if output is for Beamer slides
Phase 5: Save and Review
saveRDS()for all key objects- Dispatch the
r-revieweragent via Task:Task prompt: "Review the R script at scripts/R/[script_name].R against ${CLAUDE_PLUGIN_ROOT}/rules/r-code-conventions.md. Save your report to quality_reports/[script_name]_r_review.md. Follow the r-reviewer agent instructions." - Address Critical and High issues before presenting results
Python Track
Constraints
- Save scripts to
scripts/python/with descriptive names - Save all outputs (figures, tables, pickles) to
output/ - Use
joblib.dump()for model objects;.to_parquet()for DataFrames - Use
pathlib.Pathfor all file paths — never hardcode absolute paths - Set random seeds at the top of the script
Phase 1: Setup and Data Loading
- Create Python script with header — Read
${CLAUDE_PLUGIN_ROOT}/skills/data-analysis/assets/analysis-script.pyand adapt - Import all packages at the top of the file
- Set seeds:
np.random.seed(42)andrandom.seed(42) - Create output directories:
Path("output/analysis").mkdir(parents=True, exist_ok=True) - Load and inspect the dataset with
pandas
Phase 2: Exploratory Data Analysis
df.describe(),df.isnull().sum(),df.dtypes- Histograms and distributions with
matplotlib/seaborn - Scatter plots and correlation matrices
- Save diagnostic figures to
output/diagnostics/ - Save summary stats:
df.describe().to_csv("output/diagnostics/summary_stats.csv")
Phase 3: Main Analysis
- Cross-section OLS:
smf.ols("y ~ x", data=df).fit(cov_type="HC3") - Panel data:
PanelOLSfromlinearmodelswith cluster-robust SEs - Multiple specifications: build incrementally
- Document SE choice with a comment
Phase 3.5: Identification Diagnostics
Mandatory for any analysis with a causal interpretation. Detect the design from the analysis goal and the model call (PanelOLS(..., entity_effects=True, time_effects=True) with treatment timing → DiD; rdrobust port → RDD; IV2SLS → IV; pysyncon → synthetic control; experiment → RCT; causalinference → matching). Read ${CLAUDE_PLUGIN_ROOT}/skills/data-analysis/references/identification-py.md and run the block matching the detected design. Skip this phase for purely descriptive analyses.
Phase 4: Publication-Ready Output
Tables: Format with pandas and export via .to_latex() or stargazer (Python port)
Figures: matplotlib/seaborn; explicit fig.savefig(path, dpi=300, bbox_inches="tight"); save as .pdf and .png
Phase 5: Save and Review
joblib.dump(model, "output/model.pkl")for fitted modelsdf_results.to_parquet("output/results.parquet")for DataFrames- Review manually against the checklist below before presenting
Python Quality Checklist
[ ] All imports at top
[ ] Random seeds set (numpy + stdlib)
[ ] All paths use pathlib.Path — no hardcoded strings
[ ] Output directories created with mkdir(exist_ok=True)
[ ] Figures saved with explicit dpi=300, bbox_inches="tight"
[ ] Model objects saved with joblib.dump()
[ ] DataFrames saved as parquet
[ ] Comments explain WHY, not WHATShared Principles
- Reproduce, don't guess. If the user specifies a regression, run exactly that.
- Show your work. Compute summary statistics before jumping to regression.
- Check for issues. Look for multicollinearity, outliers, perfect prediction, missing data.
- Use relative paths. All paths relative to repository root.
- No hardcoded values. Use variables for sample restrictions, date ranges, thresholds.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

