用途:作为 ML / 数据科学会话的“前门”。单一职责是在开场回合读取工作区状态,选定应首先调度的同级技能并交接;交接后由该技能自身的 TRIGGER / SKIP / HOW TO USE 规则接管,同级技能之间会自行路由。
主要能力:每回合首先执行浅层工作区探测——对项目根目录执行一次 ls,并在存在时 Read 读取 pyproject.toml 与 journal/JOURNAL.md;不递归遍历 src/、experiments/ 或 data/。将 Pre-flight 清单作为可见文本输出并逐项标记。随后按调度表选入口技能:优先匹配用户信号(表 B),否则按工作区状态(表 A,自上而下首行命中即止)。常见映射包括:签名/返回/子模块归属问题→python-api;安装缺失/ImportError/依赖管理→python-env-manager;选库(pandas 还是 polars 等)→data-science-python-stack;拟合评分/交叉验证/指标→evaluate-ml-pipeline;搭建流水线/预处理器→build-ml-pipeline;项目脚手架/文件归属→organize-ml-workspace;继续迭代/记录结果→iterate-ml-experiment;lint/格式化/ruff→python-code-style;冒烟测试→test-ml-pipeline。两条规则冲突时(如“建流水线并告诉我正确的 CV”),选循环中更靠前的入口(build 先于 evaluate,evaluate 先于 iterate)。
使用方式:探测工作区后分类用户信号,命中表 B 即调度;否则按表 A 状态路由(空目录→python-env-manager 默认引导 pixi,再 data-science-python-stack,再 organize-ml-workspace;无 journal 但有 src→organize-ml-workspace;存在 journal/JOURNAL.md→iterate-ml-experiment)。若两条路由同样合理,用 AskUserQuestion(2–4 个选项)询问后再调度。最终通过 Skill(<entry-skill>) 交接并停止。
限制:不实现任何内容——不写文件、不运行命令、不装包、不搭目录、不写设计说明或流水线代码;除一次浅层 ls 外不使用 Bash/Write/Edit。仅一次性触发于开场回合,不重复进入、不在同级技能间改道。不做基于记忆的调度:即使用户直接问某符号签名,也应调度到 python-api 而非自行回答。不决定 iterate-ml-experiment 内部的策略选择。具体同级技能的功能细节、命令与配置以各技能自身资料为准,本文未提供的部分暂未提供。