$npx -y skills add WILLOSCAR/research-units-pipeline-skills --skill module-plannerUse when a tutorial concept DAG exists and the run needs an ordered teaching plan with objectives and outputs. Trigger: module plan, tutorial modules, course outline, 模块规划, module_plan.yml. Use when: tutorial 的 C2,已有 outline/concept_graph.yml,需要把 concept DAG 收敛成模块顺序。 **
| 1 | # Module Planner |
| 2 | |
| 3 | Turns the concept graph into the teachable module sequence used by later tutorial stages. |
| 4 | |
| 5 | ## Input |
| 6 | |
| 7 | - `outline/concept_graph.yml` |
| 8 | |
| 9 | ## Output |
| 10 | |
| 11 | - `outline/module_plan.yml` |
| 12 | |
| 13 | ## Contract |
| 14 | |
| 15 | The module plan must define: |
| 16 | - ordered `modules` |
| 17 | - `id`, `title` |
| 18 | - `objectives` |
| 19 | - `concepts` |
| 20 | - `outputs` |
| 21 | - `running_example_steps` |
| 22 | |
| 23 | ## Script boundary |
| 24 | |
| 25 | `scripts/run.py` should: |
| 26 | - topologically order concepts |
| 27 | - cluster them into coherent modules |
| 28 | - attach measurable objectives and concrete outputs |
| 29 | |
| 30 | Keep graph traversal and clustering heuristics in shared tutorial tooling, not in the wrapper script. |
| 31 | |
| 32 | ## Acceptance |
| 33 | |
| 34 | - `outline/module_plan.yml` exists |
| 35 | - every concept node is covered by at least one module |
| 36 | - every module has objectives and outputs |
| 37 | |
| 38 | ## Non-goals |
| 39 | |
| 40 | - source grounding audit |
| 41 | - exercise writing |
| 42 | - tutorial drafting |