| name | 1start-mathmodel |
| description | 数学建模竞赛工作流入口。用于启动完整建模流程:询问用户偏好,生成 plan.md 和 todo.md,并按阶段调用赛题分析、建模、代码与图表、流程图、论文撰写、验证验收等 skills。 |
| allowed-tools | Bash(*), Read, Write, Edit, Grep, Glob, Agent, WebSearch, WebFetch |
数学建模工作流
文件关系全貌请见 [[FILE_RELATIONSHIP_MAP]] · 上游: 无(V1 入口点) · 下游调度: [[skills/0problem-triage/SKILL|Phase 0 预审]] → [[skills/2analysis-modeling/SKILL|Phase 1 建模]] → [[skills/3coding-visual/SKILL|Phase 2 代码]] → [[skills/4drawio/SKILL|Phase 3 流程图]] → [[skills/5writing/SKILL|Phase 4 论文]] → [[skills/6verity/SKILL|Phase 5 验收]] · 共享规范: [[skills/_references/SKILL|_references]] · V2 替代入口: [[skills/mm-start-contest-v2/SKILL|V2 总控]]
本 skill 是数学建模竞赛项目的总控入口。它不替代后续阶段 skill,而是负责启动流程、询问偏好、记录决策、生成计划,并按顺序调用各阶段 skill。
数学建模规范参考
如需领域判断,读取 ../_references/math_modeling_norms.md。该文件只提供数学建模基本规范和防错知识,不改变本 skill 的阶段顺序和产出约定。
如需长上下文交接、断点恢复或外部 AI 协同,必须读取 ../_references/workflow_state_contract.md。如果本流程由 Claude Code、Codex 或其他 AI 长时间自动推进,额外读取 ../_references/claude_code_monitoring.md,并在 plan.md 中写明监控方式。
必须产出
在当前工作目录中创建或更新以下文件:
plan.md:整体流程方案、建模方向、阶段顺序、预期产物和风险控制。
todo.md:具体待办事项列表,记录每个阶段的任务和状态。
WORKFLOW_STATE.md:当前阶段、已完成产物、关键决策、风险和下一步。
工作流
1. 询问用户偏好 AskUserQuestions
在规划前,只询问会实质影响流程的问题。问题要少而关键。
优先询问(按重要性排序):
- 排版引擎:Typst 还是 LaTeX?— 决定 5writing 使用哪套模板和编译命令。两套引擎均覆盖全部模板(14 中 + 3 英)。Typst 使用
typst 命令编译;LaTeX 使用 xelatex 命令编译(需跑两遍解决交叉引用)。
- 竞赛类型:国赛/华为杯/华中杯/MCM/...— 决定模板选择,见 5writing 的模板族清单。
- 论文语言:中文/英文 — MCM/ICM/COMAP 强制英文,其他默认中文。
- 子问题数量是否已知:影响章节文件生成数量。若未知,由 2analysis-modeling 阶段根据题面确定。
将用户的选择记录到 plan.md 的"方案"小节中。
2. 制定方案
按以下结构编写 plan.md:
# 方案
要依次调用这些 skill,按照里面要求完成任务。
用户偏好:
- 排版引擎:<Typst / LaTeX>
- 竞赛类型:<国赛 / 华为杯 / MCM / ...>
- 论文语言:<中文 / 英文>
- 子问题数量:<已知 N 个 / 待分析确定>
workflow:
step skills
0. 赛题预审与上下文建档 - `0problem-triage`
1. 赛题分析与建模设计 - `2analysis-modeling`
2. 编程实现和图表生成 - `3coding-visual`
3. 流程与架构图绘制 - `4drawio`
4. 竞赛论文撰写 - `5writing`
5. 验证和验收 - `6verity`
context_contract:
- 所有阶段必须读取并更新 `WORKFLOW_STATE.md`。
- 题面和数据理解沉淀到 `PROBLEM_BRIEF.md` 与 `DATA_AUDIT.md`。
- 论文可引用数值统一来自 `results/RESULTS_MANIFEST.json`。
- 核心论文结论必须进入 `reports/CLAIM_TRACE.md`。
项目目录结构
各阶段按此骨架创建和填充文件:
.
├── plan.md # 1: 本文件
├── todo.md # 1: 待办事项
├── WORKFLOW_STATE.md # 全阶段: 当前状态、风险、关键决策、下一步
├── PROBLEM_BRIEF.md # 0+1: 题面重述、子问题、输入输出、约束
├── DATA_AUDIT.md # 0+1+2: 附件字段、单位、缺失、异常、风险
├── reports/ # 各阶段文档报告
│ ├── TRIAGE_REPORT.md # 0: 赛题预审与可行性
│ ├── ANALYSIS_MODELING_REPORT.md # 1: 赛题分析-建模报告(2analysis-modeling)
│ ├── MODELING_DECISIONS.md # 1: 候选模型与关键假设取舍
│ ├── ANALYSIS_GATE.md # 1: 建模门禁
│ ├── EXPERIMENT_LOG.md # 2: 实验日志
│ ├── RESULTS_REPORT.md # 2: 结果报告(3coding-visual)
│ ├── FIGURE_PLAN.md # 2+3+4: 图表来源、用途、论文位置
│ ├── DRAWIO_REPORT.md # 3: 非数据图说明(4drawio)
│ ├── CLAIM_TRACE.md # 4: 论文结论证据追踪
│ ├── VERIFY_REPORT.md # 5: 验收报告(6verity)
├── code/ # 2: 代码(3coding-visual)
│ ├── problem1.py
│ ├── problem2.py
│ ├── problem3.py # 问题的数量应该更具题目动态调整
│ ├── ...
│ └── utils.py
├── results/ # 2: 结果记录(3coding-visual)
│ └── RESULTS_MANIFEST.json # 2: 论文关键数值和图表唯一来源
├── figures/ # 2+3: 所有图表(3coding-visual + 4drawio)
│ ├── *.pdf # 数据图 + 非数据图 PDF
│ ├── *.drawio # 非数据图源文件
├── paper/ # 4: 论文(5writing)
│ ├── main.typ / main.tex # 论文主文件(按用户选择的引擎)
│ └── sections/ # 各节文件(.typ 或 .tex)
方案必须明确每个阶段由哪个下游 skill 负责,以及该阶段应产出什么文件。
3. 生成待办
将 todo.md 写成阶段性 checklist,格式如下:
# 待办事项
- [ ] 0. 赛题预审与上下文建档 - `0problem-triage`
- [ ] 1. 赛题分析与建模设计 - `2analysis-modeling`
- [ ] 2. 编程实现和图表生成 - `3coding-visual`
- [ ] 3. 流程与架构图绘制 - `4drawio`
- [ ] 4. 竞赛论文撰写 - `5writing`
- [ ] 5. 验证和验收 - `6verity`
每完成一个阶段,都要更新 todo.md 中对应任务的状态。
4. 依次执行阶段
按以下顺序调用下游 skills:
| 阶段 | Skill | 作用 | 主要产物 |
|---|
| 赛题预审与上下文建档 | 0problem-triage | 清点题面附件、识别数据风险、建立可恢复上下文。 | PROBLEM_BRIEF.md, DATA_AUDIT.md, WORKFLOW_STATE.md, TRIAGE_REPORT.md |
| 赛题分析与建模设计 | 2analysis-modeling | 解析题意、识别变量/约束/数据/评价指标,并建立数学模型、目标函数、约束条件和求解策略。 | ANALYSIS_MODELING_REPORT.md |
| 编程实现和图表生成 | 3coding-visual | 实现可复现代码,运行实验,生成结果表和多种多样的图表。 | code/, results/ , RESULTS_REPORT.md, figures/图表 |
| 流程与架构图绘制 | 4drawio | 在论文确实需要时,绘制方法流程图、架构图和非数据型概念图。 | figures/*.drawio, figures/*.pdf, DRAWIO_REPORT.md |
| 竞赛论文撰写 | 5writing | 基于分析、建模、代码结果和图表撰写最终竞赛论文,并按章节直接插入图表。 | paper/ |
| 验证和验收 | 6verity | 检查可复现性、一致性、产物完整性、格式规范和提交就绪状态。 | VERIFY_REPORT.md |
阶段边界
3coding-visual 负责生成所有依赖计算结果或实验输出的数据图表。
4drawio 只负责概念图、算法流程图、架构图、路线图等非数据型图示。
- 不要让
4drawio 重复绘制 3coding-visual 已经生成的统计图或数据图。
5writing 负责决定图表在论文中的位置,并按所选引擎写入图表代码:
- Typst:
#figure(image("../../figures/xxx.pdf", width: 85%), caption: [...])
- LaTeX:
\begin{figure}[H]\centering\includegraphics[width=0.85\textwidth]{../../figures/xxx.pdf}\caption{...}\label{fig:xxx}\end{figure}
- 不要让
5writing 编造数值结论。论文中的数值必须来自 RESULTS_REPORT.md、结果表或已生成图表的数据。
- 外部 AI 自动推进时,入口阶段必须记录监控方式;若
_monitor/risk_register.md 中存在 CRITICAL 或 HIGH 风险,先处理风险再进入下一阶段。