Comes after review, beside the backlog. Source is a query, not an
artifact the user already named. Show a few directions, then write
one journal/ideas/<slug>.md and one Ideas row for the direction
they confirm. manage-ml-backlog triages that file later.
Human-facing prose
Details: setup-workspace references/human_facing_prose.md.
Directions and the pick question are scientific options for this
project — not skill ids or the wrapper CLI.
Procedure
- Run
python -m skore_skills status. Readjournal/JOURNAL.mdStatus, the last History headline, and the EDA summary whendata_analysis/data_analysis.mdexists. If the query is too vague to search, ask once. - Rewrite the query as a problem class before any search. Drop
dataset names, loader names (
sklearn.datasets,fetch_*), and Kaggle slugs. JOURNAL and EDA are context for that rewrite, not search strings. - Search scientific and technical sources. Fetch the primary pages. When sources disagree, say so. Do not fill a gap from memory after a search has run. If search cannot run, say so and stop. Do not invent papers, URLs, or claims.
- Write
scratch/research/direction-<slug>.mdwhen that write can run. Do not paste it into chat. - Show two to four directions. Each one: a one-line idea, why it might transfer here, what it would change, and the URL plus the claim. Do not rank a winner.
- AskUserQuestion: pick one, narrow the query, or stop. Narrow restarts at step 2. Stop writes no idea file.
- If this turn is not already an explicit yes, restate the picked direction in one short paragraph, then one single-choice AskUserQuestion: Yes / No. Do not also ask for a typed yes. Until Yes, that paragraph and the question are the whole message. "Maybe" is not Yes. No or Stop writes nothing.
- On Yes — the tool answer, or an explicit yes already given
on this or a later turn — write
journal/ideas/<slug>.mdand upsert its Ideas row. Do not create a design note. Do not edit History, Backlog, or Status. Writejournal/ideas/<slug>.md:
# <slug>
- Experiment: <last History stem, or n/a>
- Source: literature: <url>
- Triage: open
- Question:
- Why now:
- What changes:
- Open gaps:
Open gaps hold transfer risks, disagreements, and domain
claims this dataset does not establish. A library named only
by a source stays in Open gaps until the user asks to add it.
Then upsert one ## Ideas row: Question as plain text, Status
open, Experiment <last History stem, or n/a>, Source
literature: <url>. If that table is missing, insert it
between History and Backlog. Do not rewrite the other
sections. Return the path to the caller.
Stop conditions
- Do not load
research-ml-practice. - Do not write History, Backlog, Status, or a design note.
The Ideas table is the only
JOURNAL.mdedit. - Do not append a
B<N>row. - Do not search a dataset proper name, a loader, or a Kaggle slug.
- Do not add a package or run
env add/pixi add. - Do not treat one blog as ground truth.