Reproducible, stage-gated data analysis for AI coding agents: requirements interrogation, Bash orchestration, user-approved statistical engines, independent cross-engine validation, and LaTeX reporting.
Part of a four-skill research suite: beaver-data (analysis), weaver-text (editing support for author-written text), honeybee-lit (general literature reviews), and wasp-lit (post-GWAS candidate gene-phenotype literature analysis).
A beaver builds dams in disciplined layers, listens for leaks, and patches weak points before they fail. beaver-data treats an analysis the same way: every stage is checked before the next is built on it.
- Recorded decisions. Every request, including reanalyses and follow-ups, starts with a requirements interview ("grilling"). Estimands, exclusions, and cleaning rules are confirmed and saved in
plans/before any code runs. - Immutable inputs. Raw data are never modified; cleaned data are regenerated by tracked scripts.
- Pinned toolchains. Each tool's version or container digest, seed, thread count, locale, and numerical options are recorded. R environments use
renv; other engines use lockfiles. - Traceable runs. Each run has a sortable
YYYYMMDD_HHMMSSrun ID. Git tracks scripts, andlogs/analysis-index.csvlinks runs to outputs. - Typed plain-text data. CSV/TSV files with explicit column types prevent
NAand date auto-conversion errors. - Independent validation. A firewalled brief lets a second engine reproduce key results without reusing the primary code, outputs, or libraries.
- One project layout and report format. Every project uses the same flat directories. Reports follow a fixed LaTeX format with machine-readable file-tracking comments.
- Stress-tests the analysis plan across decision trees before touching data.
- Runs a 30-item forensic EDA checklist and reports findings before any cleaning or modeling.
- Uses R by default, or any user-approved language, Linux tool, container, or domain pipeline.
- Tracks exploratory branches and retractions without losing provenance.
- Produces diagnostics and figures in accessible palettes, plus standalone LaTeX reports.
beaver-data/
├── SKILL.md # Agent instructions
├── README.md
├── LICENSE
├── assets/beaver-data.jpg
└── references/
├── 01_foundations_git_and_bash.md # Layout, Git, environments, run index, Bash
├── 02_grilling_and_intake.md # Decision tree, intake records, variable dictionary
├── 03_forensics_and_cleaning.md # EDA checklist, findings report, cleaning, TSV types
├── 04_inference_and_displays.md # Tool selection, analysis and display plans
└── 05_validation_and_reports.md # Cross-engine validation, LaTeX report
project/
├── data/ # Immutable raw data and generated clean CSV/TSV
├── scripts/ # Tracked analysis scripts
├── plans/ # Grilling summaries, intake records, dictionaries, analysis plans
├── logs/ # Run logs, checkpoints, analysis-index.csv
├── issues/ # Edge cases and resolution records
├── figures/ # Diagnostic and report figures
├── results/ # Plotted data, model summaries, LaTeX table fragments
├── reports/ # EDA summaries and compiled reports (.tex, .pdf)
├── validation/ # Cross-engine briefs, independent implementations, reviews
└── renv/ # R environment, when R is used
| Skill | Role |
|---|---|
beaver-data |
Approved statistical analysis, including quantitative evidence synthesis. |
weaver-text |
AI editing, review, and submission help for author-written manuscripts and grant proposals. |
honeybee-lit |
General literature reviews, from citation checks to narrative, scoping, and systematic reviews. |
wasp-lit |
Post-GWAS literature analysis of candidate gene-phenotype relationships. |
Clone the repository, unchanged, into a skills location your agent scans:
# Pi
git clone https://github.com/chen42/beaver-data.git ~/.pi/agent/skills/beaver-data
# Claude Code (user or project scope)
git clone https://github.com/chen42/beaver-data.git ~/.claude/skills/beaver-dataIn Pi, run /reload after cloning, or list the path under "skills" in ~/.pi/agent/settings.json.
Requirements: Bash, Git, LaTeX, and the analysis engines approved for each project (R by default).
