1start-mathmodel
All-time installs
1,536
数学建模竞赛工作流入口。用于启动完整建模流程:询问用户偏好,生成 plan.md 和 todo.md,并按阶段调用赛题分析、建模、代码与图表、流程图、论文撰写、验证验收等 skills。
Other options
Summary
数学建模竞赛工作流入口。用于启动完整建模流程:询问用户偏好,生成 plan.md 和 todo.md,并按阶段调用赛题分析、建模、代码与图表、流程图、论文撰写、验证验收等 skills。
Raw SKILL.md
6,209 bytes---
name: 1start-mathmodel
description: "数学建模竞赛工作流入口。用于启动完整建模流程:询问用户偏好,生成 plan.md 和 todo.md,并按阶段调用赛题分析、建模、代码与图表、流程图、论文撰写、验证验收等 skills。"
allowed-tools: Bash(*), Read, Write, Edit, Grep, Glob, Agent, WebSearch, WebFetch
---
# 数学建模工作流
本 skill 是数学建模竞赛项目的总控入口。它不替代后续阶段 skill,而是负责启动流程、询问偏好、记录决策、生成计划,并按顺序调用各阶段 skill。
## 数学建模规范参考
如需领域判断,读取 `../_references/math_modeling_norms.md`。该文件只提供数学建模基本规范和防错知识,不改变本 skill 的阶段顺序和产出约定。
## 必须产出
在当前工作目录中创建或更新以下文件:
- `plan.md`:整体流程方案、建模方向、阶段顺序、预期产物和风险控制。
- `todo.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
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}`
- 不要让 `5writing` 编造数值结论。论文中的数值必须来自 `RESULTS_REPORT.md`、结果表或已生成图表的数据。
Security audits
SnykPASS
SocketPASS
Gen Agent Trust HubPASS

