Develop
Repository layout
| Path | Holds |
|---|---|
.claude-plugin/ |
plugin.json and marketplace.json |
hooks/ |
The three hooks and their shared lib.js |
rules/ |
Core, house and language rules injected each session |
skills/ |
The persona, rule-management skills, figure-style and the 21 pipeline skills |
templates/ |
plots.*, theme.*, palettes.*, skillkit.py and the air, ruff and lintr configs |
bench/ |
acumen benchmarks: with and without the skills |
docs/ |
The pipeline skill contract and the ClawBio determinism plan |
site/ |
This website |
Tests
Hooks, rules and templates:
npm test # node --test tests/*.test.jsEach pipeline skill has its own pytest suite. Run it with the exact uv run line in that skill’s references/maintainer.md, for example:
cd skills/group-tests
uv run --python 3.12 --with numpy,pandas,scipy,matplotlib,plotnine-extra,pytest \
python -m pytest -q -p no:cacheprovider testsVendored helpers
Each pipeline skill folder is self-contained, so it carries byte-identical copies of templates/plots.py, theme.py, palettes.py and skillkit.py. A test in each skill fails when a copy drifts. After editing a template, copy it into every skill:
for d in skills/*/scripts/plots.py; do cp templates/plots.py "$d"; doneAdding a pipeline skill
Follow the contract in docs/pipeline-skills.md. Copy the shape of skills/pseudobulk-de/: a SKILL.md contract, one script entry point, a seeded demo generator, demo data under 1 MB, and tests for the demo golden values, the output tree and every ERROR string.
Benchmarks
bench/ holds acumen projects that run the same tasks with and without a skill. docs/clawbio-determinism/BENCH.md records the results.
This site
The site is Quarto, in site/. The gallery images come from the template self-check:
uv run --with plotnine-extra,pandas,numpy python site/make_figures.py
quarto preview siteA push to main that touches site/ rebuilds the site and deploys it to GitHub Pages through .github/workflows/docs.yml.