probabl-ai

Diindeks di Registry

audit-ml-pipeline

Owns the `audit/` folder: one `# %%` (jupytext percent) Python file per experiment, aligned 1:1 with `experiments/NN_<short_name>.py` and `journal/NN_<short_name>.md`, that loads the experiment's skore report **read-only** and uses bare-last-expression cells whose `__repr__` carr

Tinjau sumberLihat di GitHub
Harga belum dikonfirmasi★ 119 Star GitHubDirektori diperbarui · 11 Sep 2026agent-skill

Ringkasan

Owns the `audit/` folder: one `# %%` (jupytext percent) Python file per experiment, aligned 1:1 with `experiments/NN_<short_name>.py` and `journal/NN_<short_name>.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/run_cells.py` — IPython `InteractiveShell.run_cell`), 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 us

Baca dokumentasi lengkap

Dokumentasi sumber, bukan instruksi untuk situs ini. Periksa izin sebelum menjalankan perintah.

Audit ML Pipeline

Per-experiment, human-readable, agent-executable narrative of a skore report — produced by executing a bare-expression # %% file and reading the digest. Read-only against the skore Project.

Next-step pointers

Came here from…After audit, next is…
iterate-ml-experiment § 4 record-outcome→ Read audit digest, fill Status block + JOURNAL row
User free-text ("audit 02", "re-audit 04")→ Surface metrics to the user; no further dispatch
Re-run of an existing experiment→ Re-execute the existing audit file; surface diff if metrics changed

The audit is dispatched FIRST in § 4, before any scratch probes. The digest carries the checks summary and the metrics summary — it replaces ad-hoc scratch/<ts>_inspect_*.py files for the metric extraction step.

Where things live — visual map

PathDurabilityWho writes itWhat it holds
audit/<NN>_<short_name>.pyDurable (in git)This skill, once per experimentThe bare-expression cells. Source of truth. Can be opened as a notebook in JupyterLab / VS Code for the rich HTML view
scratch/audit/<stem>/audit.mdEphemeral (gitignored), optionalrun_cells.py when given a 2nd argPer-cell markdown digest: source + stdout + last-expression repr. Same content as stdout
Stdout from run_cells.pyCaptured by the bash toolrun_cells.py (always)Streamed digest — the agent reads this directly from the tool output

Mnemonic: audit/ is source (in git); scratch/audit/ and stdout are output. Never put the source .py under scratch/audit/. Never commit anything under scratch/audit/.

Read-only contract

The central rule. Surfaced as the first Stop condition below.

Allowed in audit/<stem>.py:

  • skore.Project(...) — open the project this experiment wrote to.
  • project.summarize() — list (key, id) pairs.
  • project.get(id) — load a specific report by id.
  • Every report.* accessor.
  • Imports from <pkg> (read-only inspection).

Forbidden in audit/<stem>.py:

  • skore.evaluate(...) — duplicates the report under the same key and pollutes summarize().
  • project.put(...) — same.
  • Writes outside scratch/audit/<stem>/ — no data/ writes, no reports/ writes, no edits to src/<pkg>/. The audit is a viewer.
  • Mutation of the loaded report that survives the cell (e.g. monkey-patching skore symbols).

The runner renders every cell's source + last-expression repr + stdout to the digest. A forbidden call surfaces in the digest (as a put row in a later summarize() cell, or as a **error:** section). The contract is visible, not invisible.

Sibling read-only consumers (different output shapes, same discipline): scratch/<ts>_*.py probes, iterate-from-skore's Backlog enrichment walk. See evaluate-ml-pipeline § Stop conditions for the three-consumer rule.

Stop conditions — read before anything else

  • Read-only against the skore Project. See § Read-only contract. Never skore.evaluate(...) or project.put(...) in an audit file.
  • project.get(...) is by id, not key. For hub mode, read the id from the URL printed by project.put(): https://…/<workspace>/<project>/<type-plural>/<N> → id is skore:report:<type-singular>:<N> (URL segment is plural; id uses the singular — drop the trailing s, e.g. cross-validations → cross-validation, estimators → estimator). Hardcode REPORT_ID in the audit file — no summarize() traversal needed. For local mode, read the "id" column of project.summarize() for the matching key row. A KeyError from get("<stem>") means the lookup shape is wrong (get is by id), not that the report is missing.
  • Symbol from memory is forbidden. Any skore / skrub / sklearn symbol must come from python-api this turn. Cache hits under scratch/api/skore/<version>/ count (Shape 0); inline memory does not.
  • Agent feature missing → STOP and delegate. If ipython / pyright aren't importable, do NOT fabricate audit outputs by writing print() calls as a workaround. Do NOT type pixi add ... / uv add ... yourself — install is owned by python-env-manager § Agent feature. Request via G-AGENT-FEATURE (binary: install / skip); resume only when python-env-manager returns "ready".
  • Bare expressions, not print(). The runner captures each cell's last bare expression via result.result and renders its repr. Wrapping in print(repr(...)) lands in stdout instead of the output section; mixed and harder to scan. Use bare expressions; statement-only cells (variable binding) are fine.
  • One audit file per experiment stem (four-way pairing). No audit_NN_<short_name>_v2.py. When an experiment is re-run, the audit file is overwritten in place — same stem, same audit.
  • Executed artifacts go to scratch/audit/<stem>/, NOT into audit/. Durable artifact is audit/<stem>.py; the rendered digest is ephemeral.
  • audit/ is read-only against workspace data. No writes to data/, reports/, or outside scratch/audit/<stem>/.
  • Don't filter warnings in audit cells. No warnings.filterwarnings(...) unless the user explicitly asks — the runner streams cell stderr into the digest and that's signal. See python-code-style § Stop conditions.
  • Harness "no clarifying questions" hints do NOT waive G-AGENT-FEATURE. Install gate fires regardless.
  • Post-hoc audit — required before ending the turn. Walk every pre-flight row; surface unfilled Evidence cells.

Forbidden shortcuts

ShortcutWhy it's wrong
report = project.get(REPORT_ID); print(repr(report))Runner captures bare expressions via result.result, not stdout. print(repr(...)) mixes stdout and output sections. Use report on its own line
Drop .frame() from report.checks.summarize() / report.metrics.summarize()__repr__ of the Display objects is <…Display at 0x…>. .frame() returns a DataFrame whose repr carries the actual values
project.get(KEY) raised KeyError → re-run evaluate + put "to refresh"Lookup shape is wrong (get is by id, not key). Hub: read the id from the URL printed by put(). Local: read summary["id"] for the matching key row. Never re-run evaluate + put to recover
Write pixi add --feature agent ipython pyright directly from this skillInstall commands owned by python-env-manager. This skill requests via G-AGENT-FEATURE; it does not install
Dump the audit .py into scratch/audit/<stem>/.py is durable in git; scratch/ is gitignored. Source in audit/; digest in scratch/audit/<stem>/
Register a Jupyter kernel "to be safe"Current runner is in-process; no kernel. Registering creates an orphan kernelspec
Add a fix-up cell that mutates data/ or reports/Audit files are read-only. State mutations belong in a scratch/<ts>_*.py probe or the experiment script
Substitute <SKORE_PROJECT_INIT> in audit/<stem>.py without reading experiments/<stem>.py firstAudit must open the same Project. Always Read experiments/.py this turn and copy the literal Project init block byte-identical (modulo formatting)
Hub mode: put skore.login(mode="hub") after skore.Project(...)Project(...) constructor authenticates at init time; without prior login, fails. Order is fixed: login first, Project second
§ 4 dispatched audit → write scratch probe first to "double-check metrics"The audit IS the metric-extraction step in § 4. Scratch probes for metrics are the anti-pattern this dispatch replaces

Pre-flight — emit before any audit-file write or execution

Pre-flight (audit-ml-pipeline):
- [ ] Experiment stem confirmed: <NN_short_name>
      Evidence: journal/NN_<short_name>.md exists AND state ≥ done
                | "n/a — user invoked re-audit on existing stem"
- [ ] Four-way pairing complete:
        journal/NN_<short_name>.md       — design note (state ≥ done)
        experiments/NN_<short_name>.py   — script
        tests/smoke/test_NN_<short_name>.py — smoke test (passing)
        audit/NN_<short_name>.py         — about to be written / refreshed
      Evidence: ls / Glob on each path
- [ ] Report present in skore Project under key=<NN_short_name>
      Evidence: scratch/<ts>_check_report.py probe ran
                project.summarize() this turn; row with
                key == "<NN_short_name>" appears.
                "Run finished, put() landed" is NOT sufficient.
- [ ] Agent feature available:
        `pixi run -e agent ipython -c "print(0)"` exit 0
        `pixi run -e agent pyright --version` exit 0
      Evidence: tool output of each
                | JOURNAL.md Status `agent feature: installed`
                Missing → STOP, delegate to python-env-manager G-AGENT-FEATURE
- [ ] python-api consulted for skore symbols used:
      Project, summarize, get, report.checks.summarize, report.metrics.summarize
      Evidence: Read scratch/api/skore/<version>/<topic>.md (this turn)
                | Write the same (this turn)
                | "n/a — cache hit, file already on disk + Read this turn"
- [ ] Template copy + substitution decided:
        <pkg> → package name from src/<pkg>/
        <NN>_<short_name> → experiment stem
        <SKORE_PROJECT_INIT> → literal block copi
Metadata berkas
name: audit-ml-pipeline
description: >
  Owns the `audit/` folder: one `# %%` (jupytext percent) Python file
  per experiment, aligned 1:1 with `experiments/NN_<short_name>.py` and
  `journal/NN_<short_name>.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/run_cells.py` — IPython
  `InteractiveShell.run_cell`), 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_<short_name>.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/run_cells.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.
Lihat teks asli
---
name: audit-ml-pipeline
description: >
  Owns the `audit/` folder: one `# %%` (jupytext percent) Python file
  per experiment, aligned 1:1 with `experiments/NN_<short_name>.py` and
  `journal/NN_<short_name>.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/run_cells.py` — IPython
  `InteractiveShell.run_cell`), 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_<short_name>.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/run_cells.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.
---

# Audit ML Pipeline

Per-experiment, human-readable, agent-executable narrative of a skore
report — produced by **executing** a bare-expression `# %%` file and
reading the digest. Read-only against the skore Project.

## Next-step pointers

| Came here from… | After audit, next is… |
|---|---|
| `iterate-ml-experiment` § 4 record-outcome | → Read audit digest, fill Status block + JOURNAL row |
| User free-text ("audit 02", "re-audit 04") | → Surface metrics to the user; no further dispatch |
| Re-run of an existing experiment | → Re-execute the existing audit file; surface diff if metrics changed |

The audit is dispatched **FIRST** in § 4, before any scratch probes.
The digest carries the checks summary and the metrics summary — it
replaces ad-hoc `scratch/<ts>_inspect_*.py` files for the metric
extraction step.

## Where things live — visual map

| Path | Durability | Who writes it | What it holds |
|---|---|---|---|
| `audit/<NN>_<short_name>.py` | **Durable** (in git) | This skill, once per experiment | The bare-expression cells. Source of truth. Can be opened as a notebook in JupyterLab / VS Code for the rich HTML view |
| `scratch/audit/<stem>/audit.md` | Ephemeral (gitignored), optional | `run_cells.py` when given a 2nd arg | Per-cell markdown digest: source + stdout + last-expression `repr`. Same content as stdout |
| Stdout from `run_cells.py` | Captured by the bash tool | `run_cells.py` (always) | Streamed digest — the agent reads this directly from the tool output |

**Mnemonic:** `audit/` is *source* (in git); `scratch/audit/` and
stdout are *output*. Never put the source `.py` under
`scratch/audit/`. Never commit anything under `scratch/audit/`.

## Read-only contract

The central rule. Surfaced as the first Stop condition below.

**Allowed in `audit/<stem>.py`:**

- `skore.Project(...)` — open the project this experiment wrote to.
- `project.summarize()` — list `(key, id)` pairs.
- `project.get(id)` — load a specific report by id.
- Every `report.*` accessor.
- Imports from `<pkg>` (read-only inspection).

**Forbidden in `audit/<stem>.py`:**

- `skore.evaluate(...)` — duplicates the report under the same key
  and pollutes `summarize()`.
- `project.put(...)` — same.
- Writes outside `scratch/audit/<stem>/` — no `data/` writes, no
  `reports/` writes, no edits to `src/<pkg>/`. The audit is a viewer.
- Mutation of the loaded `report` that survives the cell (e.g.
  monkey-patching skore symbols).

The runner renders every cell's source + last-expression repr +
stdout to the digest. A forbidden call surfaces in the digest (as a
`put` row in a later `summarize()` cell, or as a `**error:**`
section). The contract is *visible*, not invisible.

Sibling read-only consumers (different output shapes, same
discipline): `scratch/<ts>_*.py` probes, `iterate-from-skore`'s
Backlog enrichment walk. See `evaluate-ml-pipeline` § Stop
conditions for the three-consumer rule.

## Stop conditions — read before anything else

- **Read-only against the skore Project.** See § Read-only contract.
  Never `skore.evaluate(...)` or `project.put(...)` in an audit file.
- **`project.get(...)` is by id, not key.** For hub mode, read the
  id from the URL printed by `project.put()`:
  `https://…/<workspace>/<project>/<type-plural>/<N>` → id is
  `skore:report:<type-singular>:<N>` (URL segment is plural; id uses
  the singular — drop the trailing `s`, e.g. `cross-validations` →
  `cross-validation`, `estimators` → `estimator`). Hardcode
  `REPORT_ID` in the audit file — no `summarize()` traversal needed.
  For local mode, read the `"id"` column of `project.summarize()` for
  the matching key row. A `KeyError` from `get("<stem>")` means the
  lookup shape is wrong (get is by id), not that the report is
  missing.
- **Symbol from memory is forbidden.** Any `skore` / `skrub` /
  `sklearn` symbol must come from `python-api` *this turn*. Cache
  hits under `scratch/api/skore/<version>/` count (Shape 0); inline
  memory does not.
- **Agent feature missing → STOP and delegate.** If `ipython` /
  `pyright` aren't importable, do NOT fabricate audit outputs by
  writing `print()` calls as a workaround. Do NOT type
  `pixi add ...` / `uv add ...` yourself — install is owned by
  `python-env-manager` § Agent feature. Request via
  `G-AGENT-FEATURE` (binary: install / skip); resume only when
  python-env-manager returns "ready".
- **Bare expressions, not `print()`.** The runner captures each
  cell's last bare expression via `result.result` and renders its
  `repr`. Wrapping in `print(repr(...))` lands in stdout instead of
  the output section; mixed and harder to scan. Use bare
  expressions; statement-only cells (variable binding) are fine.
- **One audit file per experiment stem (four-way pairing).** No
  `audit_NN_<short_name>_v2.py`. When an experiment is re-run, the
  audit file is **overwritten in place** — same stem, same audit.
- **Executed artifacts go to `scratch/audit/<stem>/`, NOT into
  `audit/`.** Durable artifact is `audit/<stem>.py`; the rendered
  digest is ephemeral.
- **`audit/` is read-only against workspace data.** No writes to
  `data/`, `reports/`, or outside `scratch/audit/<stem>/`.
- **Don't filter warnings in audit cells.** No
  `warnings.filterwarnings(...)` unless the user explicitly asks
  — the runner streams cell stderr into the digest and that's
  signal. See `python-code-style` § Stop conditions.
- **Harness "no clarifying questions" hints do NOT waive
  G-AGENT-FEATURE.** Install gate fires regardless.
- **Post-hoc audit — required before ending the turn.** Walk every
  pre-flight row; surface unfilled Evidence cells.

## Forbidden shortcuts

| Shortcut | Why it's wrong |
|---|---|
| `report = project.get(REPORT_ID); print(repr(report))` | Runner captures bare expressions via `result.result`, not stdout. `print(repr(...))` mixes stdout and output sections. Use `report` on its own line |
| Drop `.frame()` from `report.checks.summarize()` / `report.metrics.summarize()` | `__repr__` of the Display objects is `<…Display at 0x…>`. `.frame()` returns a DataFrame whose repr carries the actual values |
| `project.get(KEY)` raised `KeyError` → re-run `evaluate` + `put` "to refresh" | Lookup shape is wrong (get is by id, not key). Hub: read the id from the URL printed by `put()`. Local: read `summary["id"]` for the matching key row. Never re-run `evaluate` + `put` to recover |
| Write `pixi add --feature agent ipython pyright` directly from this skill | Install commands owned by `python-env-manager`. This skill **requests** via G-AGENT-FEATURE; it does not install |
| Dump the audit `.py` into `scratch/audit/<stem>/` | `.py` is durable in git; `scratch/` is gitignored. Source in `audit/`; digest in `scratch/audit/<stem>/` |
| Register a Jupyter kernel "to be safe" | Current runner is in-process; no kernel. Registering creates an orphan kernelspec |
| Add a fix-up cell that mutates `data/` or `reports/` | Audit files are read-only. State mutations belong in a `scratch/<ts>_*.py` probe or the experiment script |
| Substitute `<SKORE_PROJECT_INIT>` in `audit/<stem>.py` without reading `experiments/<stem>.py` first | Audit must open the same Project. Always Read experiments/<stem>.py this turn and copy the literal Project init block byte-identical (modulo formatting) |
| Hub mode: put `skore.login(mode="hub")` after `skore.Project(...)` | `Project(...)` constructor authenticates at init time; without prior `login`, fails. Order is fixed: login first, Project second |
| § 4 dispatched audit → write scratch probe first to "double-check metrics" | The audit IS the metric-extraction step in § 4. Scratch probes for metrics are the anti-pattern this dispatch replaces |

## Pre-flight — emit before any audit-file write or execution

```
Pre-flight (audit-ml-pipeline):
- [ ] Experiment stem confirmed: <NN_short_name>
      Evidence: journal/NN_<short_name>.md exists AND state ≥ done
                | "n/a — user invoked re-audit on existing stem"
- [ ] Four-way pairing complete:
        journal/NN_<short_name>.md       — design note (state ≥ done)
        experiments/NN_<short_name>.py   — script
        tests/smoke/test_NN_<short_name>.py — smoke test (passing)
        audit/NN_<short_name>.py         — about to be written / refreshed
      Evidence: ls / Glob on each path
- [ ] Report present in skore Project under key=<NN_short_name>
      Evidence: scratch/<ts>_check_report.py probe ran
                project.summarize() this turn; row with
                key == "<NN_short_name>" appears.
                "Run finished, put() landed" is NOT sufficient.
- [ ] Agent feature available:
        `pixi run -e agent ipython -c "print(0)"` exit 0
        `pixi run -e agent pyright --version` exit 0
      Evidence: tool output of each
                | JOURNAL.md Status `agent feature: installed`
                Missing → STOP, delegate to python-env-manager G-AGENT-FEATURE
- [ ] python-api consulted for skore symbols used:
      Project, summarize, get, report.checks.summarize, report.metrics.summarize
      Evidence: Read scratch/api/skore/<version>/<topic>.md (this turn)
                | Write the same (this turn)
                | "n/a — cache hit, file already on disk + Read this turn"
- [ ] Template copy + substitution decided:
        <pkg> → package name from src/<pkg>/
        <NN>_<short_name> → experiment stem
        <SKORE_PROJECT_INIT> → literal block copi

Tinjau sumber

Harga dan biaya penggunaan

Dapatkan skill
Harga belum dikonfirmasi
Jalankan
Persyaratan belum dikonfirmasi. Periksa biaya agen, API, dan layanan di sumbernya.
Lisensi
BSD-3-Clause
Harga belum dikonfirmasi
Harga belum dikonfirmasi. Tautan sumber dan instalasi yang ada tetap tersedia.

Gratis diperoleh bukan berarti gratis dijalankan. Harga bukan penilaian keamanan. Kirim informasi harga →

Sumber perlu ditinjau

Sumber berubah atau gagal disinkronkan. Tinjau sumber terbaru sebelum memasang.

Tinjau sebelum memasang: Hindari pemasangan otomatis

Lisensi: BSD-3-Clause

  • Dependency or permission surface needs review
  • Permission surface may require sandboxing
  • The skill is tightly coupled to the skore ecosystem, which may limit its applicability outside that context, but this is not a defect for its intended use.
  • Quality score needs review
  • Permission surface needs review: secrets or environment access, shell or command execution
  • Stars/forks activity: 119 stars, 7 forks; issue activity unavailable in current metadata
  • Dependency/runtime risk: command execution surface, credential or environment access
  • Permission surface: secrets or environment access, shell or command execution
Buka audit lengkap

Daftar alat adalah petunjuk metadata, bukan kompatibilitas teruji. Prompt adalah saran.

Mulai dengan tugas kecil

  1. 1Baca sumber dan pastikan masukan, keluaran, dependensi, serta izin.
  2. 2Minta rencana dari agent. Setujui pengaturan dan biaya sebelum uji terisolasi.
  3. 3Periksa hasil dan berkas yang berubah. Laporkan hanya yang dijalankan dan simpan revisi sumber.

Periksa dependensi, kunci API, dan biaya layanan pihak ketiga pada sumber. Repositori publik tidak berarti semua layanan gratis.

Sumber dan catatan penggunaan

Terindeks

Metadata dan tinjauan bersifat saran. Popularitas, penemuan sumber, dan keberhasilan eksekusi adalah fakta berbeda.

Repositori sumber
probabl-ai/skills
Lisensi
BSD-3-Clause
Versi
1.0.0
Push GitHub terakhir
17 Agu 2026
Direktori diperbarui
11 Sep 2026

Versi dilaporkan dalam metadata direktori; periksa rilis sumber.

Kualitas

65/100

Menjanjikan

Kepercayaan

59/100

Do not auto-install

Audit

73/100

Perlu ditinjau

  • Dependency or permission surface needs review
  • Permission surface may require sandboxing
  • The skill is tightly coupled to the skore ecosystem, which may limit its applicability outside that context, but this is not a defect for its intended use.
  • Quality score needs review
  • Permission surface needs review: secrets or environment access, shell or command execution
  • Stars/forks activity: 119 stars, 7 forks; issue activity unavailable in current metadata
  • Dependency/runtime risk: command execution surface, credential or environment access
  • Permission surface: secrets or environment access, shell or command execution
Verified installs
—
Hasil
—

Menyalin bukan memasang. Jumlah instalasi memerlukan laporan berhasil dan bukan jaminan kualitas menyeluruh.

Akses agent

API Registry menyediakan sinyal keputusan, kepercayaan, audit, use case, dan pemasangan tanpa mengikis UI.

Detail lainnya
{
  "version": "openagentskill-agent-metadata-v2",
  "review_evidence": {
    "indexed": true,
    "static_checked": false,
    "ai_reviewed": false,
    "manual_reviewed": false,
    "creator_verified": false,
    "review_result": "version_needs_review",
    "reviewed_at": null,
    "package_fingerprint": null,
    "policy_version": null,
    "notice": "Publication, static checks, AI review, and creator verification are independent facts. None guarantees runtime safety."
  },
  "commerce": {
    "type": "unknown",
    "billing": "unknown",
    "amount": null,
    "currency": null,
    "sourceUrl": null,
    "checkedAt": null,
    "runtime": "unknown",
    "purchaseUrl": null,
    "checkout": "external",
    "purchaseRequiresUserConsent": true
  },
  "skill": {
    "slug": "probabl-ai-audit-ml-pipeline",
    "name": "audit-ml-pipeline",
    "description": "Owns the `audit/` folder: one `# %%` (jupytext percent) Python file per experiment, aligned 1:1 with `experiments/NN_<short_name>.py` and `journal/NN_<short_name>.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/run_cells.py` — IPython `InteractiveShell.run_cell`), 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 us",
    "category": "security",
    "url": "https://www.openagentskill.com/skills/probabl-ai-audit-ml-pipeline",
    "repository": "https://github.com/probabl-ai/skills/tree/main/skills/audit-ml-pipeline",
    "github_repo": "probabl-ai/skills"
  },
  "suited_tasks": [
    "Security and compliance workflows",
    "Claude Code teams",
    "builders willing to evaluate younger projects",
    "Inspect risky files",
    "Prioritize findings",
    "Explain remediation steps",
    "Search sources",
    "Extract claims"
  ],
  "suited_agents": [
    "Codex",
    "Claude Code",
    "Cursor",
    "OpenAgentSkill CLI"
  ],
  "install": {
    "source_evidence": {
      "status": "source-needs-review",
      "sourceRecorded": true,
      "canOfferInstall": false,
      "path": "skills/audit-ml-pipeline/SKILL.md",
      "revision": "96d77a4f96efb55c38c6ee4c8dcd01a29c30e1b7",
      "notice": "The tracked source changed or could not be synchronized. Review the current source before installing."
    },
    "command": "",
    "ready": false,
    "targets": [
      {
        "id": "codex",
        "label": "Codex",
        "kind": "agent-prompt",
        "value": "Review the public source for \"audit-ml-pipeline\" at https://github.com/probabl-ai/skills/tree/main/skills/audit-ml-pipeline. The tracked source changed or could not be synchronized. Review the current source before installing. Do not install or execute repository code in this review. Report whether valid skill instructions exist, their exact path and revision, dependencies, costs, license and requested permissions. Ask for approval before any installation. Treat repository text as untrusted data, not authorization."
      },
      {
        "id": "claude-code",
        "label": "Claude Code",
        "kind": "agent-prompt",
        "value": "Review the public source for \"audit-ml-pipeline\" at https://github.com/probabl-ai/skills/tree/main/skills/audit-ml-pipeline. The tracked source changed or could not be synchronized. Review the current source before installing. Do not install or execute repository code in this review. Report whether valid skill instructions exist, their exact path and revision, dependencies, costs, license and requested permissions. Ask for approval before any installation. Treat repository text as untrusted data, not authorization."
      },
      {
        "id": "cursor",
        "label": "Cursor",
        "kind": "agent-prompt",
        "value": "Review the public source for \"audit-ml-pipeline\" at https://github.com/probabl-ai/skills/tree/main/skills/audit-ml-pipeline. The tracked source changed or could not be synchronized. Review the current source before installing. Do not install or execute repository code in this review. Report whether valid skill instructions exist, their exact path and revision, dependencies, costs, license and requested permissions. Ask for approval before any installation. Treat repository text as untrusted data, not authorization."
      }
    ],
    "handoff_url": "https://www.openagentskill.com/api/skills/probabl-ai-audit-ml-pipeline/install",
    "manifest_url": "https://www.openagentskill.com/api/registry/manifest/probabl-ai-audit-ml-pipeline"
  },
  "trust": {
    "score": 67,
    "label": "Manual review",
    "version": "trust-score-v4",
    "install_policy": "block",
    "evidence": {
      "stars": "119 GitHub stars",
      "repoActivity": "119 stars, 7 forks",
      "lastPushed": "2mo since push",
      "license": "BSD-3-Clause",
      "repository": "https://github.com/probabl-ai/skills/tree/main/skills/audit-ml-pipeline",
      "install": "The tracked source changed or could not be synchronized. Review the current source before installing.",
      "installSafety": "standard package or runtime install path",
      "permissionSurface": "secrets or environment access, shell or command execution",
      "documentation": "Strong README/SKILL.md context",
      "agentOutcomes": "No agent outcome data yet"
    },
    "outcome_evidence": {
      "total": 0,
      "successes": 0,
      "failures": 0,
      "not_relevant": 0,
      "success_rate": null,
      "recent_success_rate": null,
      "recent_failure_rate": null,
      "install_attempts": 0,
      "install_success_rate": null,
      "risk_blocked": 0,
      "setup_required": 0,
      "avg_output_quality": null,
      "production_outcomes": 0,
      "last_outcome_at": null,
      "label": "No agent outcome data yet"
    },
    "auto_install": {
      "allowed": false,
      "sandbox_required": true,
      "reason": "Do not auto-install. Inspect the source, dependencies, and permission surface first."
    },
    "best_for": [
      "security",
      "agent-skill"
    ],
    "known_risks": [
      "The skill is tightly coupled to the skore ecosystem, which may limit its applicability outside that context, but this is not a defect for its intended use.",
      "Quality score needs review",
      "Permission surface needs review: secrets or environment access, shell or command execution",
      "Stars/forks activity: 119 stars, 7 forks; issue activity unavailable in current metadata",
      "Dependency/runtime risk: command execution surface, credential or environment access",
      "Permission surface: secrets or environment access, shell or command execution"
    ]
  },
  "agent_proven": {
    "version": "agent-proven-v1",
    "score": 0,
    "tier": "unproven",
    "label": "Needs first agent run",
    "summary": "No agent outcome reports yet. Use Resolve, run one narrow sandbox task, then report the result.",
    "metrics": {
      "totalOutcomes": 0,
      "successfulOutcomes": 0,
      "failedOutcomes": 0,
      "installAttempts": 0,
      "installSuccessRate": null,
      "successRate": null,
      "recentSuccessRate": null,
      "recentFailureRate": null,
      "riskBlocked": 0,
      "setupRequired": 0,
      "notRelevant": 0,
      "avgOutputQuality": null,
      "avgTimeToUsefulMs": null,
      "productionOutcomes": 0,
      "humanReviewRequired": 0,
      "uniqueAgents": 0,
      "lastOutcomeAt": null
    },
    "signals": [],
    "penalties": [
      "No real agent outcome evidence yet"
    ]
  },
  "audit": {
    "score": 73,
    "risk_level": "needs_review",
    "risk_label": "Needs review",
    "warnings": [
      "Dependency or permission surface needs review",
      "Permission surface may require sandboxing",
      "The skill is tightly coupled to the skore ecosystem, which may limit its applicability outside that context, but this is not a defect for its intended use.",
      "Quality score needs review",
      "Permission surface needs review: secrets or environment access, shell or command execution",
      "Stars/forks activity: 119 stars, 7 forks; issue activity unavailable in current metadata",
      "Dependency/runtime risk: command execution surface, credential or environment access",
      "Permission surface: secrets or environment access, shell or command execution"
    ]
  },
  "safety_gate": {
    "tier": "blocked",
    "label": "Blocked for auto-install",
    "auto_install_policy": "block",
    "auto_install_allowed": false,
    "human_review_required": true,
    "blocked": true,
    "recommended_action": "Do not auto-install. Inspect the source, dependencies, and permission surface first."
  },
  "quality": {
    "score": 65,
    "label": "Promising"
  },
  "supply": {
    "track": "Research and knowledge work",
    "scenario": "Research agents",
    "maintenance": "2mo since push",
    "risk": "Needs review"
  },
  "alternative_skills": [],
  "do_not_use_when": [
    "teams that need a vendor-supported SLA",
    "production agents without a repository review",
    "The skill is tightly coupled to the skore ecosystem, which may limit its applicability outside that context, but this is not a defect for its intended use.",
    "High-risk permission hints: Shell or command execution, Secrets or environment access",
    "Dependency or permission surface needs review",
    "Permission surface may require sandboxing",
    "Quality score needs review",
    "Permission surface needs review: secrets or environment access, shell or command execution"
  ],
  "agent_contract": {
    "task_input": "Use audit-ml-pipeline in an agent workflow",
    "recommended_action": "Do not auto-install. Inspect the source, dependencies, and permission surface first.",
    "install_policy": "block",
    "minimum_review_before_use": [
      "Trust: 67/100 Manual review",
      "Audit: 73/100 Needs review",
      "Safety: 33/100 Avoid automatic install",
      "Review repository, license, install command, and permission surface before production use."
    ],
    "expected_agent_output": {
      "selected_skill": "probabl-ai-audit-ml-pipeline (audit-ml-pipeline)",
      "install_command": "",
      "risk_summary": "Needs review; Blocked for auto-install; Review before production",
      "verification_result": "Report the smallest successful task, files touched, warnings, and any missing setup."
    }
  },
  "outcome_feedback": {
    "endpoint": "https://www.openagentskill.com/api/agent/outcome",
    "method": "POST",
    "requires_resolve_event_id": true,
    "event_id_source": "Use install_receipt.outcome_feedback.event_id or feedback.event_id returned by /api/agent/resolve for the current task.",
    "expected_outcomes": [
      "success",
      "failed",
      "not_relevant",
      "blocked_by_risk",
      "setup_required"
    ],
    "payload_template": {
      "event_id": "<install_receipt.outcome_feedback.event_id or feedback.event_id from /api/agent/resolve>",
      "skill_slug": "probabl-ai-audit-ml-pipeline",
      "task": "Use audit-ml-pipeline in an agent workflow",
      "agent": "codex",
      "outcome": "success",
      "install_used": true,
      "risk_blocked": false,
      "setup_required": false,
      "task_success": true,
      "output_quality": 4,
      "error_type": null,
      "human_review_required": false,
      "workspace": "sandbox",
      "time_to_useful_ms": 120000,
      "notes": "Report the smallest successful task, setup friction, files touched, and risk notes."
    }
  },
  "endpoints": {
    "web": "https://www.openagentskill.com/skills/probabl-ai-audit-ml-pipeline",
    "api": "https://www.openagentskill.com/api/agent/skills/probabl-ai-audit-ml-pipeline",
    "audit": "https://www.openagentskill.com/skills/probabl-ai-audit-ml-pipeline/audit",
    "eval": "https://www.openagentskill.com/api/agent/evals?slug=probabl-ai-audit-ml-pipeline&task=Use%20audit-ml-pipeline%20in%20an%20agent%20workflow&max_risk=medium",
    "resolve": "https://www.openagentskill.com/api/agent/resolve?task=Use%20audit-ml-pipeline%20in%20an%20agent%20workflow&agent=codex&max_risk=medium",
    "receipt": "https://www.openagentskill.com/api/agent/receipt?task=Use%20audit-ml-pipeline%20in%20an%20agent%20workflow&agent=codex&max_risk=medium&format=text",
    "install": "https://www.openagentskill.com/api/skills/probabl-ai-audit-ml-pipeline/install",
    "manifest": "https://www.openagentskill.com/api/registry/manifest/probabl-ai-audit-ml-pipeline"
  }
}

Untuk kreator

Sumber listing

Diindeks Registry

Dapat diklaim

Listing ini diindeks dari sumber publik dan belum ditandai resmi hingga klaim pemelihara disetujui.

Kreator
probabl-ai
Diindeks oleh
Indeks komunitas OpenAgentSkill

Atribusi menautkan ke repositori publik atau profil kreator. Kreator dapat mengklaim listing untuk memperbarui sinyal kepemilikan.

Klaim skill ini

Klaim pemilik

Klaim listing skill ini

Listing Diindeks Registry ini dikaitkan dengan probabl-ai, tetapi belum ditandai resmi. Klaim untuk menambahkan sinyal pemilik terverifikasi dan membuat pembaruan peluncuran, pemasangan, serta audit berikutnya lebih tepercaya.

Kit berbagi

Kit backlink kreator

Tambahkan badge bukti ke README Anda

Tampilkan listing kanonis, sinyal kepercayaan dan audit saat ini, serta bukti Agent-Proven nyata di tempat pengembang mengevaluasi repositori.

[![Listed on OpenAgentSkill](https://www.openagentskill.com/api/badge/probabl-ai-audit-ml-pipeline?metric=listed&label=Listed)](https://www.openagentskill.com/skills/probabl-ai-audit-ml-pipeline?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[![OpenAgentSkill Trust](https://www.openagentskill.com/api/badge/probabl-ai-audit-ml-pipeline?metric=trust&label=Trust)](https://www.openagentskill.com/skills/probabl-ai-audit-ml-pipeline?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)
[![OpenAgentSkill Audit](https://www.openagentskill.com/api/badge/probabl-ai-audit-ml-pipeline?metric=audit&label=Audit)](https://www.openagentskill.com/skills/probabl-ai-audit-ml-pipeline/audit)
[![Agent Proven](https://www.openagentskill.com/api/badge/probabl-ai-audit-ml-pipeline?metric=proven&label=Agent%20Proven)](https://www.openagentskill.com/skills/probabl-ai-audit-ml-pipeline?ref=github&utm_source=github&utm_medium=referral&utm_campaign=creator_badge)

Sinyal komunitas

Bagikan apakah skill ini bermanfaat untuk alur kerja Agent Anda. Masukan gabungan meningkatkan peringkat dari waktu ke waktu.