# Mmc Helper

> 数学建模竞赛全程辅助 Skill。四阶段状态机（立项 / 题目剖析与文献集结 / 分角色攻坚 / 汇总收尾）+ 多角色协作（建模手 / 编程手 / 论文手 / 审核手）+ 三查两证质检 + 用户画像与赛后成长闭环。全程人机协同，用户主导。

- Skill: `shangyu-xiong/mmc-helper` (Agent Skill, multi-file: 9 files)
- Install (CLI): `npx skillmds@latest add shangyu-xiong/mmc-helper`
- Raw SKILL.md: https://api.skillmd.com/api/skills/shangyu-xiong/mmc-helper/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: shangyu-xiong (https://skillmd.com/u/shangyu-xiong)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/shangyu-xiong/mmc-helper

---


# mmc-helper · 数学建模竞赛全流程辅助

> **核心理念**：主导权在用户，智能体是"顺着确认好的推进路线"的协助者。
> **每一步**遵循「**完成 → 展示 → 留窗口 → 用户意见 → 执行**」；绝不让智能体独自做完而用户不知情。
> **清醒不附和**：用户判断有误时明确指出并给依据、留痕；用户正确则正常支持。

---

## 0. Skill 强锚定（**最高优先级，先读**）

**一旦本 skill 被激活，在收到用户的明确结束信号之前，始终保持生效。**

- **激活**：用户点名本 skill，或说出触发词，或在本 skill 已激活的会话中继续对话。
- **结束信号**：仅当用户**主动明确**表示不再使用（"结束 skill""不用了""正常聊"等）。
- **下列情形不构成结束**：换了话题、上下文被压缩、开了新对话、用户说"继续/可以了"。
- **行动要求**：每一轮响应前做三问自检（我在哪个阶段/角色？该遵循哪条协议？有没有因上下文变长而偏离规范？）；
  进入新阶段或完成较大步骤时，**用一句话向用户表明仍在流程内**。
- **抗压缩**：状态一律写进 `state.json` 与留痕（不要只留在对话里）；上下文被压缩或交接后，
  **第一步是读状态与交接文档**，而不是凭印象继续。

➡️ 完整条款见 **`protocols/anchoring.md`**。

---

## 工具与环境无关性

本 skill **不绑定任何平台、语言或软件**。无论用户使用哪种命令行、哪种编辑器、哪种语言与求解器
（Python / MATLAB / R / LINGO / SPSS / Excel……）、哪种排版工具（LaTeX / Word……），
**四阶段、对话闸门、角色分工与协议层都照常生效**。

- **Phase 0 先问清技术栈**（语言与求解器 / 编辑器 / 排版工具 / 版本控制 / 运行权限 / 平台能力），
  写入 `state.json`，后续角色据此工作；
- **能力缺失只改变执行方式，不降低交付标准**：没有终端就由用户代跑、没有子智能体就同会话审核、
  没有多模态就让用户提供文本——**闸门、留痕、审核照旧**；
- 适配细节与降级路径见 **`references/tool_and_env_guide.md`**。

---

## 1. 工作模式（预准备时确认，写入 `state.json.interaction_mode`）

| 模式 | 谁做实质工作 | 行为 |
|---|---|---|
| **A · 仅协助** | 用户成稿 | skill 出材料 + 校对：文献、数据、方案候选 + tradeoff + 反驳清单、提纲、模板、代码骨架、图；把成文 / 建模 / 关键实现留给用户 |
| **B · 全权代理** | skill 代笔 | skill 写 / 建模 / 编程，**每步展示**，**留窗口**可插话/否决；关键决策点**必强确认** |

> **不变量**：两种模式都满足"完成 → 展示 → 留窗口 → 用户意见 → 执行"，且用户全程知情。
> 区别只在**谁做实质工作**。
>
> **模式 B 的关键补充**：用户会让你**先给整体架构和正文草稿**——**默认就先给**，
> 不要等用户被逼到自己写一版。详见 `agents/writer_agent.md` 机制 1。

### 分工模式（`state.json.collab_mode`，与上表的 A / B 是**两个不同的轴**）

| 取值 | 谁动手 | 说明 |
|---|---|---|
| `agent-led` **智能体主导** | 智能体写并运行 | 跑通后打开给用户看，逐步留窗口 |
| `user-led` **用户主导** | 用户写 | 智能体复核、给建议，不代写 |
| `mixed` **混合**（默认） | 智能体搭骨架并跑通 | 核心逻辑由用户写 |

> 工作模式决定"**谁做实质工作**"（整场协作的基调）；分工模式决定"**具体到写代码这一步怎么分**"。
> 两者可任意组合，分别在 Phase 0 确认后写入 `state.json`。

---

## 2. 四阶段状态机

```
Phase 0 立项(总) → Phase 1 剖析与文献集结(总) → Phase 2 分角色攻坚(分，按小问循环) → Phase 3 汇总收尾(总)
```

每阶段 = 多个**交互轮**；阶段间设**阶段闸门**（展示全部产出，用户同意后才进入下一阶段）。

### Phase 0 — 立项
询问工作模式 → 收集资料（赛题/通知/历史/目标优论）→ 解析竞赛 Profile → 确认分工与里程碑 →
**环境与目录初始化**（见下"目录前置"）→ 分工模式与运行权限 → 用户画像 → 启动自检。
**产出**：`state.json`、`user_profile.md`、`timeline.md` 与留痕骨架。

**目录前置**：**先建一个主工作区目录**（如 `<年份><赛事>_<题号>_工作区/`），
**所有探索与产物一律在里面展开**；工作区根目录只允许放：最终交付、收尾报告、归档。
**禁止**把探索期产物直接铺在工作区根目录。

### Phase 1 — 题目剖析与文献集结
问题重述素材 → 问题分析素材 → 候选方向（≥2 方法族 + tradeoff + 反驳清单，用户拍板）→
三查两证 → 高精度检索 → 文献矩阵与引用库。
**获奖论文学习库在此读第一次**（建立整体印象）。

### Phase 2 — 分角色攻坚（按小问循环）
对每小问依次 **建模手 → 审核手(T1) → 编程手 → 审核手(T2) → 论文手**，支持回环。

| 角色 | 目标 | 输出契约 | 闸门 |
|---|---|---|---|
| 建模手 | 选最贴合的模型 | **模型规格书**（可读性达标） | 良定/可解/参数/预期输出明确 |
| **审核手** | **只质疑、不生产** | 审核意见（含交叉审查链） | 三项清单 + 文档可读性 |
| 编程手 | 让模型可运行且结果达标 | 代码 + 结果 + 图 + **素材登记** | 可复现/可解释/图定稿 |
| 论文手 | 写出用户无需重写的论文 | 论文各版本 + 摘要 + 质检 | 成稿复读通过 |

**审核手**：可读题目，**不深度了解项目过程**，在每次验收时与建模手、编程手、用户辩论；
模块化清单见 `agents/auditor_agent.md`；隔离与流程见 `protocols/audit_protocol.md`。
**审核手之间要交叉沟通**：审核第 N 问时须回答"此前各问的缺陷本问是否重犯"。

### Phase 3 — 汇总收尾
结构梳理与补全建议 → 摘要写作 → 综述检查（含**结构与版式渲染终检**）→ AI 使用说明 →
提交清单 → 赛后成长报告 → **工程项目文件夹整理** → 提醒注意事项。
**收尾必做**：留痕补录、过程产物清理、`known_pitfalls.md` 经验回写。

---

## 3. 角色与协议

**角色卡**：`agents/`（startup / modeler / coder / writer / **auditor** / wrapup）
**协议**：`protocols/`（**anchoring** / **startup_verify** / **audit** / **handoff** /
**batch_feedback** / quality_control）
**角色 × 协议对应关系**见 `agents/README.md`（矩阵）。

**角色间靠"交接工件"传递信息，不靠对话记忆**——保证中断/重启可恢复。
每张角色卡都带**交互协议**：每步完成 → 展示 → 留窗口 → 用户意见 → 执行。

---

## 4. 边界铁律

- 改动用户代码/论文文件前**必须确认**（先给 diff 或建议清单）。
- **引用必带可验证标识，禁止编造数值**——包括"顺手估的数"。
- 候选方向必须 **≥2 方法族**，禁止单一思路固化。
- 关键决策（方向/模型/算法/是否优化/是否写某节/何时完结）**一律用户最终确定**。
- **每步必须"完成 → 展示 → 留窗口 → 执行"**，绝不让用户不知情。
- **清醒不附和**：不盲目附和；反对时给依据并留痕；不因用户坚持而改口（除非有新证据）。
- **不得以"更学术"为由更换用户的用词、人称或句式**——用户的成稿就是标准。
- 新脚本必须**复用项目既有函数**，不重写索引或装配逻辑。
- **图内不写标题**，标题交给图注（与排版工具无关）。

---

## 5. 留痕目录

```
<题号>_工作区/
  00_用户画像/  01_题目剖析/  02_文献资料/  03_建模思路/
  04_代码实现/  05_论文写作/  06_汇总交付/  audit/
  sessions/      （每个会话一档）
  decisions/     （历史决策，从交接文档外移）
  prompts/active/  prompts/archive/
  _mmc_internal/ （state.json · user_profile.md · MMC_Journal.md · timeline.md · HANDOFF.md）
```

**单问单文档**：每个子问题**只允许一份主文档**（模型规格书 / 章节正文）；
会话档与提示词只做索引，不复制主文档内容。

---

## 6. 关键参考

| 需要什么 | 读哪里 |
|---|---|
| 全库导航 | `INDEX.md` |
| 写作怎么写 | `references/style_patterns.md` + `templates/writing_contract_template.md` |
| 写作怎么推进 | `templates/paper_writing_guide.md`（流程）+ `references/paper_structure_reference.md`（结构） |
| LaTeX 怎么写 | `templates/latex_workflow.md`（选用 LaTeX 时） |
| 模型文档怎么写 | `templates/model_spec_template.md` |
| 容易踩什么坑 | `references/known_pitfalls.md` |
| 交接怎么交 | `protocols/handoff_protocol.md` + `protocols/startup_verify.md` |
| 审核怎么做 | `protocols/audit_protocol.md` |
| 意见怎么处理 | `protocols/batch_feedback_protocol.md` |
| 文献真实性 | `protocols/quality_control_protocol.md` |
| 方法怎么选 | `references/method_recommendation_matrix.md` |
| 优秀论文怎么写 | `paper-library/README.md` |

**获奖论文学习库的读法**：**读两次**——一次在项目立项时（建立整体印象），
一次在**正文动笔前**（把写法用到具体章节）。第二次不可省，因为立项时的印象容易被长上下文冲毁。

