experiment-graph
Skill1 starsChanged 13 days agoMITView on GitHub
Render a read-only interactive graph of an experiment pipeline doc: dependencies, status and critical path at a glance. Use when the user wants to see the experiment steps as a graph, or says 'experiment graph', 'graph the experiments', 'visualize the pipeline', 'experiment status', 'experiment dependencies' or 'picture of the stages'.
In this repository15 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- llms.txtllms.txt
- critic-reviewSkill
- developing-data-science-notebooksSkill
- expectation-driven-scienceSkill
- experiment-pipelineSkill
- exp-reviewSkill
- hypothesysSkill
- let-it-ripSkill
- literature-researchSkill
- mad-science-setupSkill
- notify-gchat-human-waitSkill
- to-articleSkill
- to-docSkill
- what-i-doSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 1 is distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 20
After updating a pipeline doc, to review the resulting graph.
- Very specific: line 23
Do NOT use to modify the pipeline doc or experiment statuses — that is experiment-pipeline's job.
- Very specific: line 47
Default doc: the newest docs/experiments-pipeline/*.md, or the one the user points to.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Experiment Graph
Overview
Derive (read-only) an interactive graph of the experiments from a pipeline doc. The doc docs/experiments-pipeline/<name>.md is the single source of truth. The graph reflects exactly what is written in the doc — never what you think should be written.
This skill only renders a view. It never edits the doc or the experiments.
When to Use
- The user wants a visual overview of the experiments (status, dependencies, critical path).
- After updating a pipeline doc, to review the resulting graph.
- To see at a glance: what is done, what is running, what is runnable now, what is blocked.
Do NOT use to modify the pipeline doc or experiment statuses — that is experiment-pipeline's job.
Source of Truth Contract
- Parse only from
docs/experiments-pipeline/<name>.md. - Status values are literal:
not-implemented,waiting-to-run,running,completed. - NEVER "fix" an outdated status (e.g. a doc that still says
not-implementedfor an experiment that clearly ran). Reflect it and flag it (seereferences/layout.md). - An unrecognized status value → treat as
not-implementedand flag it. - The doc's own summary table and stated critical path are claims to check, not facts to trust. When they disagree with the edges, say so in the output.
How to Run
<skill-dir> is the directory containing this SKILL.md (it differs per agent and install method).
python3 <skill-dir>/scripts/render.py docs/experiments-pipeline/<name>.mdThat writes <name>.html (interactive, standalone) and <name>.mmd (Mermaid) next to the doc, and prints a summary line:
nodes=22 edges=26 layers=9 critPaths=6 runnable=9 anomalies=2Default doc: the newest docs/experiments-pipeline/*.md, or the one the user points to. Use --html / --mmd to redirect output.
Then show the user the HTML (open <name>.html on macOS, xdg-open on Linux) and paste the Mermaid block in chat for pasting into an MR/issue/Backstage.
Architecture — do not rewrite the HTML
scripts/
docparse.py doc -> experiments, stages, stated claims (pure, total)
derive.py edges -> layers, critical path, runnable, blocked, anomalies
ancestry.py reachability chains behind the selection highlight
model.py compose the above, cross-check the doc's claims, serialise
render.py fill the template, write both artifacts
graph-template.html static presentation: HTML + CSS + JS, %%GRAPH_DATA%% placeholder
test_model.py regression tests for the derivation
references/
extraction.md doc -> model (what each field means)
layout.md layers, critical path, runnable/blocked, anomalies
interaction.md the interaction contract + verification checklistDivision of responsibility. derive.py owns every derived fact; model.py
composes and serialises; the template owns pixels only and re-derives nothing. Never
regenerate the HTML by hand-writing a new file — that is what made the previous
version drift and become unreadable. To change the visuals, edit
graph-template.html; to change what is derived, edit derive.py; to change what is
read from the doc, edit docparse.py. Then re-run render.py.
The modules import each other by bare name; the entry points (render.py,
test_model.py) put scripts/ on sys.path. pyrightconfig.json mirrors that
for the editor.
Determinism. The same doc always yields a byte-identical HTML (the template is static; only the payload varies). Verify with two runs + diff.
Verification
python3 <skill-dir>/scripts/test_model.pyCovers the real doc (node/edge/layer/critical-path counts, literal statuses, human work, reflected anomalies) plus a synthetic doc for the contract (unknown status, explicit **Human**, transitive blocking, longest-path layering). Run it after any change to model.py.
The full manual checklist is in references/interaction.md.
Common Mistakes
- Trusting the summary table's layers instead of deriving from the edges (it contains errors).
- "Correcting" an outdated status instead of reflecting it and flagging it.
- Building a CDN-dependent HTML that fails offline or behind the proxy — the artifact must open from
file://. - Reporting a single critical path when several maximal paths exist.
- Hand-writing the HTML instead of editing the template and re-running
render.py. - Detecting human work from the Result prose (it false-positives on words like "pool anotado"); the title is the signal.
- Editing the pipeline doc while rendering the graph.
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.

