Analyze
Run computational analysis using the repository's registered datasets, conventions, and validation requirements. Use for clustering, PCA/UMAP, differential expression, survival or time-series models, statistical tests, sensitivity analysis, continuing prior analyses, or debugging unexpected analytical results. Do not use for merely previewing data, ingesting files, writing reports, brainstorming, repository setup, or unrelated code fixes.From its SKILL.md
npx -y skills add arjunrajlaboratory/mycelium --skill analyzeAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
5.3 KB, as published. Nobody here has run it
Mycelium — Analyze
Resolve bundled skills/ and network/ paths relative to the Mycelium plugin
root—the ancestor containing .codex-plugin/ and .claude-plugin/. Resolve
analysis and .living/ paths relative to the user's repository.
Start a new analysis or continue an existing one, routing to the appropriate convention packs installed in this repository.
Steps
-
Read manifests to understand the project:
analysis/ANALYSIS_MANIFEST.md— existing analysesdata/DATA_MANIFEST.md— available dataalgorithms/ALGORITHM_MANIFEST.md— available algorithms
-
Continuing existing: Navigate to
analysis/[name]/and read its documentation file (UPPER_SNAKE_CASE of folder name, e.g.,SNP_ANALYSIS.md). -
New analysis: Create
analysis/[name]/with documentation file (UPPER_SNAKE_CASE.md),scripts/,outputs/,reports/. If building on a parent analysis, record the lineage in the manifest entry. -
Route to installed conventions:
- Read
.living/conventions/ACTIVE_CONVENTIONS.yamlto see what's installed. - Always consult the core references:
skills/core/references/analysis-conventions.md(structure) andskills/core/references/statistical-conventions.md(methodology). These are the baseline. - If
robust-analysisis installed (check.living/conventions/robust-analysis/): Follow its conventions as the primary execution guide. Read.living/conventions/robust-analysis/analysis-conventions.mdas the entry point — it links to detail files for strict execution, validation checks, sensitivity sweeps, null hypothesis testing, and adversarial probing. These conventions are non-negotiable when installed. - If a domain convention is installed (e.g.,
bioinformatics,image-analysis): Consult itsanalysis-conventions.mdfor domain-specific methodology. Domain conventions layer on top of robust-analysis. - If multiple conventions apply, follow the cascade: repo-local (
.living/conventions.md) > domain > core.
- Read
-
Execution standards:
- Use marimo for exploratory work, plain Python scripts for reproducible pipelines.
- Every analysis must have a
run.shorrun.pythat reproduces final outputs. - Register reportable values with
register_valueat the site that computes them. Any number or short phrase the analysis would expect a future report to quote (sample counts, thresholds, contrast phrases, headline metrics) goes throughskills/core/scripts/register_value.py. The call writesanalysis/<name>/outputs/numbers.json; the report's Phase-1 merge picks up the fragment automatically, andscitexlintrthen catches drift between the manifest value and any quoted snapshot in the.texsource. Full guide:skills/core/references/report-values-guide.md. Skip this only for values the report will never cite.
-
Lint with
scilintrafter writing or modifying analysis code (non-negotiable). This is a fast static analyzer that flags silent scientific commitments — things that look like ordinary software (broadexcept, positional indexing, unchecked joins, unannotated filters, label leakage, magic thresholds, unseeded RNGs, etc.). The core principle is: scientifically meaningful choices must not be anonymous. Readskills/core/references/scilintr-guide.mdbefore invoking it the first time in a session — it explains the philosophy, the rule catalogue, and (critically) theANALYSIS_OK[category]: explanationwaiver mechanism. Workflow:- Install if missing. Python (on PyPI):
pip install scilintr. R (on CRAN):install.packages("scilintr"). - After every code write or edit, run
scilintr <file_or_dir>on the touched files. The CLI is fast (sub-second on most files), so there is no reason to defer. - Drive findings to zero, either by fixing the pattern (preferred — most findings have a cleaner code path) or by adding a structured waiver (
# ANALYSIS_OK[category]: explanation; where the check/assertion lives). A waiver must answer what / why scientifically valid / where it is recorded. Vacuous waivers (# ANALYSIS_OK: fine) are not acceptable. - Before declaring the analysis complete, run
scilintron the full analysis directory (e.g.,scilintr analysis/<name>/) to catch cross-file rules (duplicate-parameter-source, shadow-overwrite, definition drift). - This is complementary to
/mycelium:review, not a substitute. Lint catches structural patterns cheaply; review catches semantic and statistical issues.
- Install if missing. Python (on PyPI):
-
Run the post-action hook protocol after significant steps (see
/mycelium:corefor the full protocol):- Update
analysis/ANALYSIS_MANIFEST.md - Update the analysis documentation file
- Log decisions to
.living/decisions.md - Log learnings to
.living/learnings.md - Run
skills/core/scripts/validate_structure.py
- Update