# Audit Ml Pipeline

> Owns the audit/ folder: one %% (jupytext percent) Python file per experiment, aligned 1:1 with experiments/NN<shortname.py and journal/NN<shortname.md, that loads the experiment's skore report read-only and uses bare-last-expression cells whose repr carries the audit's signal. The agent executes the audit file via the bundled in-process runner (audit-ml-pipeline/scripts/runcells.py — IPython InteractiveShell.runcell), which streams a markdown digest of each cell's stdout + last-expression repr to stdout (optionally also to a file). The digest fuels narrative work (the JOURNAL.md Status + History update, follow-up questions about a past experiment, cross-experiment comparison). Stops at "audit/NN.py is placed, executed, and the digest is available." Never calls skore.evaluate(...) or project.put(...). TRIGGER — any of: - iterate-ml-experiment § 4 record-outcome — audit is dispatched FIRST (replaces scratch probes for metric extraction). - The user asks "audit experiment 02", "show me what 03 looks like", "re-audit 04 against the new report". - An experiment was re-run (same put() key overwritten) and the matching audit file needs re-execution. - The user wants a human-readable narrative of a past experiment without firing the full iterate-from-skore flow. SKIP when: the design note isn't approved yet (route to iterate-ml-experiment); the experiment hasn't been run (no report on disk); the agent feature isn't installed (delegate to python-env-manager § "Agent feature"); the user is mining the report to source the next experiment (iterate-from-skore); the user wants to explore the raw dataset rather than a finished run's skore report (explore-ml-data — audit reads a report, not the data). HOW TO USE: confirm the four-way stem pairing exists (journal/NN.md approved + experiments/NN.py exists + smoke test passed + report under that key in the Project), then place audit/NN<shortname.py from templates/audit.py, substituting the package name + the literal Project init block copied from experiments/<stem.py. Execute via the bundled runner: pixi run -e agent python .agents/skills/audit-ml-pipeline/scripts/runcells.py audit/<stem.py. Read the Stop conditions and emit the Pre-flight checklist before any write or shell command. Always invoke python-api for skore symbol signatures — never write them from memory.

## Facts
- Page: https://tashan.sh/capability/skill-probabl-ai-audit-ml-pipeline
- tashan id: skill:probabl-ai/audit-ml-pipeline
- Source: https://github.com/probabl-ai/skills
- Type: skill
- Category: devtools
- tashan score: not scored (catalogued only — too little public evidence)
- Adoption: 9.0
- Upkeep: 97.0
- Freshness: 94.0
- Evidence coverage: 84% of the inputs this score can use
- Health: active
- Instruction depth: not yet graded
- License: BSD-3-Clause
- Official: no

## Install

```sh
cp -r audit-ml-pipeline ~/.claude/skills/
```

## Security audit
Not scanned. We audit npm-published capabilities; this one has no npm package we can resolve, or has not reached the queue. This is not a clean bill of health.

---
Measured 2026-08-14 by tashan (https://tashan.sh) from public evidence. Scorer s5.
