agentleFS
probabl-aiprobabl-ai/skore-skills/skills/triage-ml-task/SKILL.md

triage-ml-task

Skill144 starsChanged 17 days agoBSD-3-ClauseView on GitHub

Session owner: list installed entry skills and ask which to run. Load a skill without asking only when the request is certain to be that skill. Trigger on an ambiguous request, a finished stage, a workspace-open session, or "what should we do next".

  • Reads credentials

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

Show its rules and text

We split this skill into the rules it gives an agent

17 rules. About 0 are common, 5 are distinctive, and 12 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 12

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Run python -m skore_skills … yourself.

    line 23
  2. Very specific:

    Every question here carries its own context: 2–4 lines on what the answer authorizes, the workspace facts it rests on — echoed inline from …

    line 25
  3. Very specific:

    Run python -m skore_skills status.

    line 33
  4. Very specific:

    Setup gate for a lifecycle skill: Before loading explore-ml-data, frame-ml-problem, model-ml-pipeline, build-ml-pipeline, …

    line 44
  5. Distinctive:

    Do not ask the user to choose explore, build, review, or export.

    line 97
  6. Very specific:

    Modeling while status.data_analysis is missing: if the certain skill is model-ml-pipeline (or the user asked to build the first …

    line 109
  7. Distinctive:

    If none of those ids are true, say so in one line.

    line 135
  8. Very specific:

    Do not put evaluate or audit on this board (certain requests still load evaluate-ml-pipeline / audit-ml-pipeline).

    line 138
  9. Very specific:

    If status.data_analysis is missing and status.skills.explore-ml-data is true, recommend exploring the data first.

    line 144
  10. Very specific:

    Do not put internals on this board (build-ml-pipeline, smoke-test-ml-pipeline except as a certain debug load, frame-ml-problem, …

    line 151
  11. Very specific:

    Do not design experiments, write pipelines, or run exploratory data analysis yourself.

    line 158
  12. Distinctive:

    Do not load every skill.

    line 162
  13. Distinctive:

    Do not invent workspace facts when status is unavailable.

    line 163
  14. Very specific:

    Do not treat a missing .skore as an empty project when src/ or journal/ exist.

    line 164
  15. Distinctive:

    Do not invent a missing skill's steps from memory.

    line 166
  16. Very specific:

    Do not put evaluate-ml-pipeline or audit-ml-pipeline on the uncertain entry board (certain requests still load them).

    line 167
  17. Very specific:

    Do not put frame-ml-problem on the uncertain entry board (a certain metric, split, baseline, or changed-constraint request still loads it).

    line 173

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Triage ML Task

This is the session owner. Stage skills do the work; you only route and ask. Do not execute another skill's methodology.

Human-facing prose

Details: setup-workspace references/human_facing_prose.md. Questions and replies describe the work (explore the data, build a model) — not skill ids, G-* names, or the wrapper CLI. Run python -m skore_skills … yourself; do not quote it.

Every question here carries its own context: 2–4 lines on what the answer authorizes, the workspace facts it rests on — echoed inline from status (scaffold, data_analysis, loop_stage) — and what each option leads to. A file link is an addition, never the context.

Procedure

  1. Run python -m skore_skills status. Read skills, data_analysis, loop_stage, setup.pending, and the filesystem snapshot. If .skore is missing, that is expected. Do not treat a missing file as an empty project when src/ or journal/ exist.
  2. Certain request — load that skill, after the setup gate below. Tell the user the work you are starting, not the catalog id. Do not list the catalog. status.skills is a per-id dict. Load the mapped skill only if status.skills.<id> is true; else one-line skip and do not invent that skill's steps:

    Setup gate for a lifecycle skill. Before loading explore-ml-data, frame-ml-problem, model-ml-pipeline, build-ml-pipeline, evaluate-ml-pipeline, smoke-test-ml-pipeline, or audit-ml-pipeline, read status.setup.pending. If it is non-empty and status.skills.setup-ml-project is true, load setup-ml-project and stop. Tell the user the requested work waits on those pieces. Do not show the entry menu. After setup returns, load the certain lifecycle skill. Do not load setup again on this turn. If setup.env or setup.workspace is declined, stop in one line. A declined git or editable does not block. If setup-ml-project is not installed, name the pending pieces in one line and stop. Do not invent git init, scaffold, or env init. Uncertain sessions skip this gate.

    User intentSkill
    env / pixi / uv / python environmentsetup-python-env
    scaffold / layout / package folderssetup-workspace
    git init / first commit / ignoresetup-git
    add or install a named packageadd-python-package
    exploratory data analysis / explore the dataexplore-ml-data
    evaluate / metrics / CV / run skore.evaluateevaluate-ml-pipeline (child gate may STOP)
    audit / open / narrate an existing reportaudit-ml-pipeline (child gate may STOP)
    build / model a pipelinemodel-ml-pipeline
    smoke / pytest row-count / why is smoke failingsmoke-test-ml-pipeline (debug; does not start evaluate)
    backlog / history / record the run / what nextmanage-ml-backlog
    review this stem / review the last experimentreview-ml-experiment
    I want to try X / here is an idea / what if we / a pasted URL or issueshape-user-idea
    papers / literature / what do people do for (no design note in progress)search-ml-literature
    notebook / ipynbexport-ml-notebook
    notebook viewer on the site / executed reportexport-ml-notebook (--html)
    website / mkdocs / documentation siteexport-ml-site
    export (generic)export-ml-project
    sync / migrate reports / switch skore mode / upload reports to hub or mlflowsync-ml-reports
    set up / bootstrap this project (generic)setup-ml-project
    “is this leakage” on the tableexplore-ml-data (even if data_analysis is present). Do not load research-ml-practice.
    research / literature on a modeling design (design note exists or modeling in progress)model-ml-pipeline. Do not load research-ml-practice.
    which comparison metric / how new rows should be split / which baseline / a problem constraint changedframe-ml-problem. Not a request to run evaluation.
    what did we decide / show stored choices / change a stored project choicereview-ml-choices

    An explicit sync, generic export, or changed modeling constraint still uses those rows. Do not send them through review-ml-choices.

    A git init, first commit, or ignore request loads setup-git and stops. Do not write git init, a .gitignore, or a commit plan. With no shell, the whole answer is that setup-git is loaded. Do not describe the commands that skill will run.

    "What should we try next?" while loop_stage is backlog and manage-ml-backlog is installed loads that skill and stops. Do not ask the user to choose explore, build, review, or export.

    Certain EDA: run python -m skore_skills status. If status.setup.pending is non-empty, load setup-ml-project (setup gate above) and stop. Otherwise load explore-ml-data and stop. Do not inventory data/, list missingness or distributions, or start EDA methodology.

    Certain generic export: run python -m skore_skills status, then load export-ml-project. Do not list notebook / --html / site as sibling options.

    Modeling while status.data_analysis is missing: if the certain skill is model-ml-pipeline (or the user asked to build the first experiment) and status.skills.explore-ml-data is true, do not load modeling yet. AskUserQuestion two options: run exploratory data analysis first (default) vs proceed to modeling with user-supplied facts. Do not invent dataset facts here. If data_analysis is present or skipped, load model-ml-pipeline with no extra gate (still only if that id is true).

  3. Uncertain (open session, “what can you do”, finished stage, mixed intent) — AskUserQuestion with the installed entry work only. One pick, then load the mapped skill.

    Offer a label only if status.skills.<id> is true. User-visible labels (no ids):

    • Set up the project → setup-ml-project
    • Explore the data → explore-ml-data
    • Build a model → model-ml-pipeline
    • Review the last experiment → review-ml-experiment
    • Record / decide what next → manage-ml-backlog
    • Export → export-ml-project
    • Sync reports → sync-ml-reports
    • Review choices → review-ml-choices

    If none of those ids are true, say so in one line; do not invent a menu.

    Do not put evaluate or audit on this board (certain requests still load evaluate-ml-pipeline / audit-ml-pipeline). Do not put shaping an idea or literature search on this board (certain requests and manage-ml-backlog still load shape-user-idea / search-ml-literature).

    If status.data_analysis is missing and status.skills.explore-ml-data is true, recommend exploring the data first. Do not auto-load it. When data_analysis is present or skipped and loop_stage is backlog, recommend recording the run / deciding what next when manage-ml-backlog is true. Do not auto-load it.

    Do not put internals on this board (build-ml-pipeline, smoke-test-ml-pipeline except as a certain debug load, frame-ml-problem, choose-python-library, research-ml-practice, plot-ml-figure, stack refs).

Stop conditions

  • Do not design experiments, write pipelines, or run exploratory data analysis yourself. Certain EDA with setup.pending empty loads explore-ml-data only — no data inventory and no EDA checklist. Pending setup loads setup-ml-project first.
  • Do not load every skill.
  • Do not invent workspace facts when status is unavailable.
  • Do not treat a missing .skore as an empty project when src/ or journal/ exist.
  • Do not invent a missing skill's steps from memory.
  • Do not put evaluate-ml-pipeline or audit-ml-pipeline on the uncertain entry board (certain requests still load them).
  • A missing review, backlog, user-idea, or literature skill is a one-line skip. Do not invent that skill's procedure.
  • Do not put shape-user-idea or search-ml-literature on the uncertain entry board.
  • Do not put frame-ml-problem on the uncertain entry board (a certain metric, split, baseline, or changed-constraint request still loads it).
  • Certain generic export: run python -m skore_skills status, load export-ml-project only — no sibling-skill menu.

End of every other skill's turn returns here when this skill is installed.

Download now (ZIP)

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
What did you use it for? e.g. Reviewing pull requests in a Rails app

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.