wuxinbo-bo/math-model-skills/problem-intelligence

Claude Code and agent skill by wuxinbo-bo/math-model-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Meta-model-agent 将竞赛题面转换为子问题、变量、约束、证据和后续工作契约。适用于问题情境解构与建模前置分析。

Install

npx vskill@latest install wuxinbo-bo/math-model-skills/problem-intelligence

SKILL.md

问题情境智能解构

条件数据准备入口

在 问题分析.md 明确写出 数据模式: supplied/collected/none。有附件或采集数据时,递归登记真实数据文件、来源、字段、单位、缺失、异常、编码和潜在泄漏风险,并规划“审计—预处理—质量复核—冻结输入”;无数据时写明 预处理: skipped 及原因,不得虚构数据清洗过程。

稳定执行契约

  • 执行目标:把原始赛题转化为可执行、可追溯的问题契约,为后续建模提供唯一问题口径。
  • 调用参数:[competition-problem-text]。
  • 权威输入:赛题原文、附件与用户补充要求;已有的用户数据和参考资料。
  • 允许交付:问题分析.md,以及当前工作与必要的状态记录。
  • 禁止写入:不得越权修改已冻结的上游事实、用户原始文件或本协议未授权的目录。
  • 可用工具边界:Bash(*), Read, Write, Edit, Grep, Glob, WebSearch, WebFetch, Agent。
  • 最小交付:完整子问题拆解、变量与约束表、数据需求、证据需求、歧义与风险清单。
  • 恢复入口:优先读取当前工作、状态记录和已有产物,从最近一次通过门禁的位置继续。
  • 失败回退:题面或附件不完整时明确缺口并采用保守假设;发现关键歧义时停止向下游传播未经确认的结论。
  • 收口顺序:先核对输入,再完成产物,再运行本环节门禁,最后登记状态;门禁未通过不得宣告完成。

对以下赛题开展深度分析:$ARGUMENTS

常量

  • COMPETITION / PROBLEM_ID / LANGUAGE — 从 Additional Parameters 查阅
  • TOOLS — 默认 python
  • CUSTOM_REQUIREMENTS — 用户自定义要求

输入

  1. 赛题文本($ARGUMENTS 或 用户数据/ 中的 PDF/Word 文件)
  1. 附件数据(用户数据/*.csv 等)

⛔⛔⛔ 完成铁律(最高优先级,违反则当前环节失败)

当前环节务必产出 `问题分析.md`(≥ 1.5KB,完整的问题情境解构)。

⛔ 结束前必跑产出校验:

bash
[ -f 问题分析.md ] && SZ=$(wc -c < 问题分析.md) || SZ=0
[ "$SZ" -ge 1500 ] && echo "✅ 问题分析.md ($SZ bytes)" \
|| echo "❌ 问题分析.md 缺失或过小 ($SZ bytes) — 必须补全后重新跑验证, 不要结束本步骤"

工作过程

工作节点 0:查阅赛题原文 + 上游规划

⛔ 赛题查阅优先级(严格按此次序,避免跳过):

bash
# 第一步:检查是否有 Vision OCR 提取的文本(公式最准确)
echo "=== 检查赛题文本 ==="
for f in 用户数据/*_extracted.txt; do
[ -f "$f" ] || continue
echo "找到提取文本: $f"
head -3 "$f" # 查看是否有 "Vision OCR" 标记
done
  1. `用户数据/*_extracted.txt`(最高优先级) — 系统已用 Vision AI 识别 PDF 产出,公式为 LaTeX 格式(如 $k = 2 \times 10^7$),直接 Read 查阅
  1. 用户数据/*.pdf — ⛔ 禁止直接用 Read 工具读 PDF! PDF 的数学公式会变成乱码(如 7210 真实是 $7 \times 10^2$)。若未 _extracted.txt,用下面的脚本提取
  1. $ARGUMENTS 文本 — 用户在建立工作流时输入的文字

⛔ 绝对避免直接 Read PDF 文件。 PDF 中的上标、下标、数学符号无法无误提取,会导致参数值错误(如 $10^7$ 变成 "107")。务必读 _extracted.txt。

若 选题规划.md 出现(统计建模选题规划),优先查阅它,保证分析方向与选题规划保持一致:

bash
[ -f 选题规划.md ] && echo "=== 选题规划.md exists ===" && cat 选题规划.md || echo "No 选题规划.md (normal for math modeling competitions)"

只有在没有 _extracted.txt 时才尝试提取:PDF 用 pdftotext 或 PyPDF2,Word 用 python-docx。

工作节点 1:赛题全文解读

提取:背景信息、关键问题、已知条件、评价标准。

⛔ 子问题数量识别准则(务必严格遵守):

  • 只有赛题中清晰标明编号的顶层问题才算子问题。常见格式:
  • "问题一"、"问题二"、"问题三"(中文编号)
  • "问题1"、"问题2"、"问题3"(阿拉伯数字)
  • "Problem 1"、"Problem 2"(英文)
  • "(一)"、"(二)"、"(三)"(带括号中文编号)
  • 避免把子问题内部的小问 (1)(2)(3) 或 a/b/c 当成独立子问题——它们是同一个子问题的不同部分
  • 避免把背景描述、数据阐明、提交要求当成子问题
  • 若赛题只有 2 个问题,就是 2 个,避免凑成 3-4 个
  • 识别完后在报告开头清晰标明写出:"本赛题共 X 个子问题"
工作节点 1.5:假设敏感性预检(⛔ 必做,防止全盘方向错误)

关键原则:拿到题后先花时间做"假设预检",避免急着建模。一个关键假设选错,后续全部结果都会偏离题目设计意图。

1. 识别模糊表述,列出多种解释:

逐句读题目,找出全部可能有歧义的表述。对各个模糊点,列出不少于两种合理解释:

模糊表述清单:
1. "[原文引用]"
- 解释A: ...
- 解释B: ...
- 初步倾向: A/B,理由: ...
2. "[原文引用]"
- 解释A: ...
- 解释B: ...

常见歧义类别:

  • 数量歧义:"各类设备完成工程量"→ 每类 1 台 vs 每类多台并行?
  • 界限歧义:"优化方案"→ 只优化次序 vs 与此同时优化数量和次序?
  • 约束歧义:"不超过预算"→ 总预算 vs 每期预算?
  • 时间歧义:"完成时间最短"→ 最后一个完成的时间 vs 全部工作项总时间?

2. 对关键歧义做快速验算(两种解释都算一遍问题一):

对影响最大的 1-2 个歧义点,用最简单的方法(手算/Excel/10 行 Python)把两种解释都在问题一上算一遍:

假设预检结果:
- 解释A: 问题一结果 = XXX
- 解释B: 问题一结果 = YYY
- 选择: B,理由: [结果更合理 / 更符合后续问题递进设计 / ...]

3. 核验问题递进性(最关键的校验手段):

竞赛题的问题一般层层递进。在你选定的假设下,预判各个问题的结果应如何变化:

问题递进性预判:
- 问题一(基础场景)→ 结果: 基准值
- 问题二(增加约束/扩大规模)→ 结果应该: 比问题一差/好,因为...
- 问题三(进一步变化)→ 结果应该: 比问题二有明显变化,因为...
- 问题四(花钱/加资源)→ 结果应该: 比问题三明显改善,因为...

⛔ 递进性退化检测: 若在你的假设下,某个后续问题的结果和前一个问题几乎相同(新增的变量/资源对目标函数没有边际效益),阐明你的假设大概率有问题。立刻回头核验基础假设,避免继续往下做。

4. 在 问题分析.md 中明示登记假设预检结果:

markdown
## 假设敏感性预检
### 模糊表述及解释
[列出每个歧义点和选择的解释]
### 快速验算对比
[两种解释在问题一上的结果对比]
### 问题递进性预判
[每个问题的预期结果变化方向]
### 最终假设选择及理由
[选择了哪种解释,为什么]
工作节点 2:子问题拆解

各个子问题清晰标明:

  • 输入/交付
  • 难度(简单/中等/困难)
  • 推荐方法
  • 与其他子问题的关系(依赖/独立/递进)
工作节点 3:数据探索

核验 用户数据/ 中是否有附件数据。

有数据:分析数据规模、字段含义、数据质量、数据特征。

无数据(纯建模题):标注"本题无附件数据",在建模思路中阐明需自行构造参数/初始条件(如优化问题的约束参数、微分方程的初始值、蒙特卡洛的分布假设等)。

⛔ 数据探索的边界: 当前环节只做描述性统计和初步特征识别(数据规模、缺失率、分布形态、有关性矩阵、异常值检测),避免做数学机制构造。以下行为属于越界:

  • 拟合模型(线性回归、周期函数拟合、移动平均预测等)→ 留给 model-formulation
  • 写独立的 .py 文件留存到 程序/ 目录 → 留给 computational-realization
  • 优化求解(遗传算法、线性规划等)→ 留给 computational-realization
  • 若需用 Python 做简单的描述性统计(如 df.describe()、df.isnull().sum()),可用 Bash 内联一次性脚本,但避免建立独立文件
工作节点 4:变量定义与符号表
工作节点 5:建模思路规划

各个子问题 1-2 种候选方法,标注推荐方案。

常用模型类别:优化类、预测类、评价类、分类/聚类、图论/网络、随机/统计、微分方程。

工作节点 5.5:范例感知 + 图形与表格预规划

在交付分析报告前,优先查阅参考资料了解可用的图形与表格类别:

bash
# 1. 读范例和套餐:了解各方法类型推荐的图表组合
cat 工具/figure_exemplars.md 2>/dev/null || cat skills/shared-scripts/figure_exemplars.md
# 2. 读选择指南:了解每种图表的适用场景、数据特征匹配、配色规则
cat 工具/figure_style_guide.md 2>/dev/null || cat skills/shared-scripts/figure_style_guide.md

图形与表格规划方法(按分析环节推导,避免套模板):

先读 figure_exemplars.md 中的"按研究方法的图形与表格套餐":

  • 匹配套餐(A-F)→ 以必选项为基础,依据具体选题增减
  • 不匹配 → 用下面的"数据形态推导法"

再读 figure_style_guide.md 的 "By data shape" 决策表,对各个分析环节做推导:

⛔ 每张图务必写明配方编号和选取理由,格式:

fig_xxx — 发散柱状图 (advanced #20) — 效应分解有正有负,发散柱状图能直观展示方向 — 章节: 实证结果

⛔ 配方编号是必填项! 格式为 (类别 #编号),如 (advanced #1)、(basic #3)、(empirical #1)、(competition #7)。系统会依据配方编号自动化注入相应的代码模板到 Meta-model-agent 的 prompt 中。若不写配方编号,Meta-model-agent 将无法获得配方代码,仅可从零写图形与表格脚本,质量无法保证。若图形与表格类别不在配方库中,写 (custom) 标注。

配方库是"菜单"不是"菜谱"——知道有哪些图形与表格可用,但依据你的数据和选题自主决定。若你认为某种不在配方库里的图形与表格更适合,也可用。

硬准则(只有这几条务必遵守):

  • 同一读者任务优先复用同一种清晰图形;禁止为了图表多样性强行更换图形类别
  • 每张图务必指定具体类别(不可写"对比图",要写"分组柱状图"或"发散柱状图"或"雷达图")
  • 不少于 1 张 DrawIO 技术路线图(放问题重述章节末尾 1_restatement.tex)
  • 若涉及空间数据,务必有空间分布可视化(地图热力图/LISA图)
  • 若涉及模型对比(≥3个模型),不少于用 2 种不同的对比图形与表格类别
  • 若涉及前后/分组对比,考虑发散柱状图、Back-to-Back Bar、配对点图等方向性图形与表格

在 问题分析.md 中交付图形与表格预规划清单:

markdown
## 图表预规划
### 数据图表清单
对每张图写明:文件名 — 具体图表类型 (配方编号) — 展示什么数据/传达什么信息 — 放在哪个章节
示例(根据实际选题自由发挥,每张图必须带配方编号):
-fig_xxx — 棒棒糖图 (advanced #1) — 方法排名对比 — 章节: 模型对比
-fig_yyy — 森林图 (empirical #1) — 回归系数及置信区间 — 章节: 实证结果
-fig_zzz — 可行域图 (competition #28) — 约束条件与最优解 — 章节: 模型求解
-TABLE_xxx — [表格描述] — [章节位置]
### DrawIO 架构图清单
对每张 DrawIO 图写明:编号 — 图类型 — 展示什么内容 — 放在哪个章节。
**⛔ 语言规则:DrawIO 图中的所有文字(节点标签、箭头标注、分组框标题)必须与论文语言一致。**
-中文赛题(国赛/数维杯中文/MathorCup/长三角/五一/华为杯等)→ 图中文字用中文
-英文赛题(MCM/ICM/APMCM/数维杯英文/认证杯英文等)→ 图中文字用英文
必须规划(所有赛题):
-DrawIO-1: 技术路线图 — 整体求解思路 → 问题重述章节末尾 (1_restatement.tex)
竞赛多问题赛题额外规划(每个子问题都需要求解流程图):
-DrawIO-2: 问题一求解流程图 → 问题流程图_1.drawio → 问题一章节开头
-DrawIO-3: 问题二求解流程图 → 问题流程图_2.drawio → 问题二章节开头
-DrawIO-4: 问题三求解流程图 → 问题流程图_3.drawio → 问题三章节开头
-...(有几个子问题就规划几张,一一对应)
按需规划(根据赛题特征判断,写明理由):
-DrawIO-N: [模型架构图/变量关系图/算法流程图/Pipeline图/概念框架图] — [展示什么] → [章节位置] — 理由: [为什么需要这张图]
### 图表多样性检查
[列出每种图表类型的使用次数,确认无重复超过 3 次]
总计: ~X 数据图 + ~Y 表 + Z DrawIO + P TikZ + W AI Image
AI Image / DrawIO 图预规划

AI Image 只用于场景示意图(物理/工程类赛题的问题背景图)。技术路线图、求解过程图、架构图等结构化图形与表格采用 DrawIO。

AI Image 场景示意图(按需,仅物理/工程类赛题):

  • 仅当赛题有具体的物理/工程空间场景时才规划(光学、无人机、传感器网络、交通流、热传导、管道网络等)
  • 纯数据/统计类赛题(蔬菜定价、人口预测等)不需
  • 最多 1-2 张,放在问题重述章节(1_restatement.tex)的问题背景描述此后

DrawIO / TikZ / AI Image 图类别与适用场景(按赛题特征选取):

速查:需公式→TikZ,需精确连线→TikZ,需写实渲染→AI Image,其余→DrawIO

⛔ TikZ vs AI Image 判定(几何示意图务必过这条准则):

  • 图中有圆柱体、球体、锥体、曲面等 3D 立体 → AI Image(TikZ 画 3D 透视会变形、标注重叠)
  • 图中有反射/折射光线在 3D 空间中传播 → AI Image
  • 图中只有 2D 平面元素(圆、三角形、直线、角度标注、坐标轴)→ TikZ
  • 不确定时 → AI Image(比 TikZ 画 3D 安全得多)

⛔ 按赛题特征自动化判定(规划时务必逐条过一遍,符合条件的务必规划):

一、全部赛题务必:

  • 技术路线图(1张)— 展示整体求解思路

二、按赛题类别触发(逐条核验,符合就加):

  • 赛题有多个子问题 → 各个子问题都务必有一张求解过程图,放在相应章节开头。简单问题的过程图可简化(3-4 个节点),但不可省略
  • 赛题涉及评价/排名/打分(AHP/熵权法/TOPSIS/模糊综合评价/灰色关联) → 加指标体系层次图(目标层→准则层→指标层)
  • 赛题涉及深度学习/集成学习/多模型融合 → 加模型架构图(TikZ)
  • 赛题涉及因果推断/路线分析/中介效应/SEM → 加变量关系图(TikZ)
  • 赛题涉及自定义迭代算法(遗传算法/模拟退火/强化学习/粒子群/蚁群) → 加算法过程图(TikZ,带公式)
  • 赛题涉及复杂多阶段数据预处理(爬虫→清洗→特征工程→建模) → 加 Pipeline 图
  • 赛题需构建理论框架(经管/社科类,有假设推导) → 加概念框架图
  • 赛题涉及图论/网络优化/物流配送/社交网络 → 加网络拓扑图或路线图
  • 赛题涉及排程/调度/资源分配/生产计划 → 加甘特图
  • 赛题涉及物理/工程空间场景(光学/无人机/传感器/交通/热传导) → 加场景示意图(AI Image)或几何示意图(TikZ)
  • 赛题有 ≥3 种候选模型需对比选取 → 加模型选取决策树(展示选模型的逻辑)
  • 赛题涉及空间数据/地理分布 → 加空间分布示意图(可用 matplotlib 地图热力图代替)

⛔ 每张 DrawIO 图务必在清单中写明文件名,格式为 fig_xxx.drawio,系统逻辑制图 环节会按此清单逐条产出并校验。

在 问题分析.md 中交付:

### AI Image / DrawIO / TikZ 图清单
**语言: [中文/English]**(与论文语言一致,图中所有文字使用此语言)
DrawIO 图(技术路线图/流程图/Pipeline/指标体系/决策树/甘特图/网络图):
- DrawIO-1: 技术路线图 → 技术路线图.drawio → 问题重述章节末尾 (1_restatement.tex) [必须]
- DrawIO-2: 问题一求解流程图 → 问题流程图_1.drawio → 问题一章节开头 [按需]
- DrawIO-3: 指标体系层次图 → fig_index_hierarchy.drawio → 模型构建章节 [评价类必须]
- DrawIO-4: 数据处理Pipeline → fig_pipeline.drawio → 数据预处理章节 [按需]
- DrawIO-5: 模型选择决策树 → fig_model_decision.drawio → 模型构建章节 [按需]
- DrawIO-6: 甘特图/调度方案 → fig_gantt.drawio → 求解结果章节 [调度类必须]
- DrawIO-7: 网络拓扑/路径图 → fig_network.drawio → 问题描述或结果章节 [图论类必须]
- DrawIO-8: 概念框架图 → fig_framework.drawio → 理论分析章节 [按需]
TikZ 图(模型架构图/变量关系图/算法流程图/几何示意图,需要精确连线或公式):
- TikZ-1: [图类型] → 结构示意图.tex → [章节位置] [按需]
AI Image 场景示意图(仅物理/工程类赛题):
- AIIMG-1: {场景名}示意图 → 场景示意图.png → 问题重述章节 (1_restatement.tex) [按需]
总计: N 张 DrawIO + P 张 TikZ + M 张 AI Image
工作节点 5.6:⛔ 问题情境解构自检协议(逐句扫描,通用防遗漏)

关键问题:问题情境解构遗漏一个关键句子,后续建模/编码/论文全部基于错误前提,不可逆地传播到终版结果。

以下是完全通用的自检过程,不依赖任何具体赛题。务必逐句实施。

第一步:逐句拆解题目

把赛题原文按句号/分号/冒号切成独立的句子单元,每一句都打上标签:

markdown
## 题目逐句拆解表
| 句号 | 原文句子 | 句子类型 | 提取的要素 |
|------|---------|----------|-----------|
| DISCOVERY | "..." | 背景/约束/决策/数据/目标 | 名词+动词+数值 |
| FORMULATION | "..." | 背景/约束/决策/数据/目标 | 名词+动词+数值 |

句子类别分类(6种,务必每句标一类):

  • 背景:介绍问题场景,无需建模
  • 约束:限定条件(不超过/不少于/务必),务必在模型中有相应不等式/等式
  • 决策:题目问"怎么选/如何规划/求最优",务必识别为决策变量
  • 数据:给出具体数值/公式/分布,务必代入模型
  • 目标:题目终版要求的量(最大化/最小化/求解),务必是目标函数或交付
  • 机制:描述系统的动态行为/可选操作("可充电"、"可重新分配"、"故障时"),最容易被遗漏,务必尤其标注
第二步:对各个句子做五问

对各个句子,务必回答以下五个问题(不可跳过):

markdown
## 句子级五问审查
### DISCOVERY: "[原文]"
1.**这句话提到了什么实体?** (列出所有名词)
2.**这些实体是否都出现在我的变量定义表中?** (必须对照 Step 4 的符号表逐一核对)
3.**这句话描述的机制/行为是否在我的模型中有对应表达?** (动词→数学表达)
4.**如果这句话有数值,是否代入了模型?** 如果没数值,是否需要假设?假设值是多少?
5.**这句话如果被完全忽略,会导致什么后果?** (严重性评估:致命/严重/轻微)

⛔ 尤其提示:

  • 出现一次的关键词最容易被遗漏(如"补给点"、"中转"、"休息"、"故障"只出现一句但改变建模本质)
  • 模糊量词务必量化(如"较长时间"、"充足远"、"适当"务必给出具体阈值假设)
  • 隐含的"可选"操作务必建模为决策变量(如"可充电"不是"务必充电")
第三步:反向推理核验(从模型找回题目)

列出我当前的模型涵盖了什么,随后反向对照题目:

markdown
## 反向对照表
| 我的模型中的组件 | 对应题目哪一句/哪几句 | 如果题目没说我为什么要加? |
|-----------------|---------------------|---------------------------|
## 题目中未覆盖的组件
| 题目句子 | 我的模型是否覆盖? | 不覆盖的后果 |
|---------|-------------------|-------------|

⛔ 准则:

  • 题目的各个句子(除纯背景外)务必不少于映射到模型的一个组件

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
90
Repository forks
2
7-day trend score
23

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/wuxinbo-bo/math-model-skills/problem-intelligence/badge)](https://verified-skill.com/skills/wuxinbo-bo/math-model-skills/problem-intelligence)

Something wrong with this skill or its page? Tell us.