# 1start Mathmodel

> 数学建模竞赛工作流入口。用于启动完整建模流程：询问用户偏好，生成 plan.md 和 todo.md，并按阶段调用赛题分析、建模、代码与图表、流程图、论文撰写、验证验收等 skills。

- Skill: `zklzzklzkl/1start-mathmodel` (Agent Skill)
- Install (CLI): `npx skillmds@latest add zklzzklzkl/1start-mathmodel`
- Raw SKILL.md: https://api.skillmd.com/api/skills/zklzzklzkl/1start-mathmodel/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: zklzzklzkl (https://skillmd.com/u/zklzzklzkl)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/zklzzklzkl/1start-mathmodel

---


# 数学建模工作流

> 文件关系全貌请见 [[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

在规划前，只询问会实质影响流程的问题。问题要少而关键。

优先询问（按重要性排序）：

1. **排版引擎**：Typst 还是 LaTeX？— 决定 5writing 使用哪套模板和编译命令。两套引擎均覆盖全部模板（14 中 + 3 英）。Typst 使用 `typst` 命令编译；LaTeX 使用 `xelatex` 命令编译（需跑两遍解决交叉引用）。
2. **竞赛类型**：国赛/华为杯/华中杯/MCM/...— 决定模板选择，见 5writing 的模板族清单。
3. **论文语言**：中文/英文 — MCM/ICM/COMAP 强制英文，其他默认中文。
4. **子问题数量是否已知**：影响章节文件生成数量。若未知，由 2analysis-modeling 阶段根据题面确定。

将用户的选择记录到 `plan.md` 的"方案"小节中。


### 2. 制定方案

按以下结构编写 `plan.md`：

```markdown
# 方案

要依次调用这些 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`。
```

## 项目目录结构

各阶段按此骨架创建和填充文件：

```text
.
├── 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，格式如下：

```markdown
# 待办事项

- [ ] 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` 风险，先处理风险再进入下一阶段。

