--- name: export-ml-project description: > Coordinate executed notebooks and an offline MkDocs documentation site. Trigger on a generic "export" request, or to flip the notebooks/site gates after setup. metadata: modelTier: small --- # Export ML Project Ordering only. Children own convert and site commands. ## Human-facing prose Details: `setup-workspace` `references/human_facing_prose.md`. The multi-select uses **Executed notebooks** and **Documentation site**. Do not put skill ids, convert flags, or the wrapper CLI in the question. ## Sequence 1. `python -m skore_skills status`. Read `policy.notebooks`, `policy.site`, and `skills`. 2. **AskUserQuestion** with `allow_multiple`. Say first, in 2–4 lines, what each box authorizes (toolchain installs, convert re-execution, a built site), the recorded flags (`policy.notebooks` and `policy.site`: `true`, `false`, or not recorded), and that both answers persist as policy. A file link is an addition, never the context. The question's last line is exactly: Select each one you want. Write nothing after that line. - Executed notebooks - Documentation site 3. After the answer, and not in the question, persist each box this turn: selected → `python -m skore_skills policy set notebooks true` (or `site`); a box the user does not select → `false`. Do not leave them `null`. Do not write notebooks or site into JOURNAL; policy is the record. 4. Load each selected child only if `status.skills.` is true; else one-line skip. Do not invent that skill's steps: - notebooks → `export-ml-notebook` (installs toolchain if this is the first yes, then convert; `--html` only if the user wants the notebook viewer on the site) - site → `export-ml-site` (installs `mkdocs-material` if first yes, init if needed, then build; never convert) 5. Load `triage-ml-task` only if `status.skills.triage-ml-task` is true; else stop. ## Stop conditions - Do not `git end-turn` or `git commit`. - Do not invent convert or `mkdocs` steps when the child skill is missing. - Do not `pixi add` / `uv add` from this coordinator.