数学建模工作流
本 skill 是数学建模竞赛项目的总控入口。它不替代后续阶段 skill,而是负责启动流程、询问偏好、记录决策、生成计划,并按顺序调用各阶段 skill。
数学建模规范参考
如需领域判断,读取 ../_references/math_modeling_norms.md。该文件只提供数学建模基本规范和防错知识,不改变本 skill 的阶段顺序和产出约定。
必须产出
在当前工作目录中创建或更新以下文件:
plan.md:整体流程方案、建模方向、阶段顺序、预期产物和风险控制。todo.md:具体待办事项列表,记录每个阶段的任务和状态。
工作流
1. 询问用户偏好 AskUserQuestions
在规划前,只询问会实质影响流程的问题。问题要少而关键。
优先询问(按重要性排序):
- 排版引擎:Typst 还是 LaTeX?— 决定 5writing 使用哪套模板和编译命令。两套引擎均覆盖全部模板(14 中 + 3 英)。Typst 使用
typst命令编译;LaTeX 使用xelatex命令编译(需跑两遍解决交叉引用)。 - 竞赛类型:国赛/华为杯/华中杯/MCM/...— 决定模板选择,见 5writing 的模板族清单。
- 论文语言:中文/英文 — MCM/ICM/COMAP 强制英文,其他默认中文。
- 子问题数量是否已知:影响章节文件生成数量。若未知,由 2analysis-modeling 阶段根据题面确定。
将用户的选择记录到 plan.md 的"方案"小节中。
2. 制定方案
按以下结构编写 plan.md:
markdown# 方案 要依次调用这些 skill,按照里面要求完成任务。 用户偏好: - 排版引擎:<Typst / LaTeX> - 竞赛类型:<国赛 / 华为杯 / MCM / ...> - 论文语言:<中文 / 英文> - 子问题数量:<已知 N 个 / 待分析确定> workflow: step skills 1. 赛题分析与建模设计 - `2analysis-modeling` 2. 编程实现和图表生成 - `3coding-visual` 3. 流程与架构图绘制 - `4drawio` 4. 竞赛论文撰写 - `5writing` 5. 验证和验收 - `6verity`
项目目录结构
各阶段按此骨架创建和填充文件:
text. ├── plan.md # 1: 本文件 ├── todo.md # 1: 待办事项 ├── reports/ # 各阶段文档报告 │ ├── ANALYSIS_MODELING_REPORT.md # 1: 赛题分析-建模报告(2analysis-modeling) │ ├── RESULTS_REPORT.md # 2: 结果报告(3coding-visual) │ ├── DRAWIO_REPORT.md # 3: 非数据图说明(4drawio) │ ├── VERIFY_REPORT.md # 5: 验收报告(6verity) ├── code/ # 2: 代码(3coding-visual) │ ├── problem1.py │ ├── problem2.py │ ├── problem3.py # 问题的数量应该更具题目动态调整 │ ├── ... │ └── utils.py ├── results/ # 2: 结果记录(3coding-visual) ├── figures/ # 2+3: 所有图表(3coding-visual + 4drawio) │ ├── *.pdf # 数据图 + 非数据图 PDF │ ├── *.drawio # 非数据图源文件 ├── paper/ # 4: 论文(5writing) │ ├── main.typ / main.tex # 论文主文件(按用户选择的引擎) │ └── sections/ # 各节文件(.typ 或 .tex)
方案必须明确每个阶段由哪个下游 skill 负责,以及该阶段应产出什么文件。
3. 生成待办
将 todo.md 写成阶段性 checklist,格式如下:
markdown# 待办事项 - [ ] 1. 赛题分析与建模设计 - `2analysis-modeling` - [ ] 2. 编程实现和图表生成 - `3coding-visual` - [ ] 3. 流程与架构图绘制 - `4drawio` - [ ] 4. 竞赛论文撰写 - `5writing` - [ ] 5. 验证和验收 - `6verity`
每完成一个阶段,都要更新 todo.md 中对应任务的状态。
4. 依次执行阶段
按以下顺序调用下游 skills:
| 阶段 | Skill | 作用 | 主要产物 |
|---|---|---|---|
| 赛题分析与建模设计 | 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}
- Typst:
- 不要让
5writing编造数值结论。论文中的数值必须来自RESULTS_REPORT.md、结果表或已生成图表的数据。

