PluginBench
Skill
Pass
Audit score 90

2analysis-modeling

jihe520/mathmodelagent

Analyze math competition problems and design solution models with structured decomposition and implementation planning.

What is 2analysis-modeling?

This skill reads problem statements and attachments to decompose sub-problems, understand data, validate assumptions, define variables, formulate models, specify objectives and constraints, and produce a detailed modeling report ready for code implementation. Use it during the analysis and modeling phase of mathematical competition problem-solving.

  • Decompose competition problems into numbered sub-problems with clear inputs, decision variables, objectives, and constraints
  • Identify and resolve key ambiguities in problem statements through sensitivity analysis and validation
  • Analyze attached data files for structure, quality, missing values, and derivable indicators
  • Specify complete mathematical models including symbols, assumptions, objective functions, and solution methods
  • Generate structured modeling reports with formulas and algorithms ready for code-phase implementation
  • Create implementation task checklists mapping inputs, outputs, methods, and verification for each sub-problem

How to install 2analysis-modeling

npx skills add https://github.com/jihe520/mathmodelagent --skill 2analysis-modeling
Prerequisites
  • Problem statement document (题面) and any attached data files
  • Access to reference materials (optional: math modeling norms guide)
  • Working directory with ability to create reports/ subdirectory
Claude Code
Cursor
Windsurf
Cline

How to use 2analysis-modeling

  1. 1.1. Provide the problem statement and any attached data files to the skill
  2. 2.2. The skill decomposes the problem into numbered sub-problems and identifies inputs, variables, objectives, and constraints
  3. 3.3. Review the sensitivity analysis section to validate key assumptions and resolve ambiguities
  4. 4.4. Examine the data understanding section for data quality, missing values, and derivable indicators
  5. 5.5. Study the complete modeling report with mathematical formulas and solution methods for each sub-problem
  6. 6.6. Use the code implementation task checklist to guide the coding phase with clear inputs, outputs, and verification methods

Use cases

Good for
  • Preparing mathematical modeling competition submissions by systematically analyzing problem requirements before coding
  • Breaking down complex optimization or prediction problems into solvable sub-components with clear dependencies
  • Documenting modeling assumptions and design decisions to ensure consistency across team members
  • Validating problem interpretations by testing alternative assumptions against given data and constraints
  • Planning code implementation by specifying exact formulas, algorithms, and verification methods upfront
Who it's for
  • Mathematical modeling competition participants (MCM, CUMCM, etc.)
  • Students and teams solving multi-part optimization or prediction problems
  • Researchers designing mathematical models from problem statements
  • Project teams needing structured problem decomposition before implementation

2analysis-modeling FAQ

What is the difference between this skill and the code implementation phase?

This skill focuses on problem analysis, assumption validation, and model design—producing a detailed specification document. The code phase implements the algorithms and formulas defined here.

How does the skill handle ambiguous or unclear problem statements?

It explicitly lists key ambiguities, provides 2+ interpretations, performs quick validation checks, and documents the chosen interpretation with reasoning.

What format should the problem statement and data files be in?

Problem statements can be text or PDF. Data files should be in standard formats (CSV, Excel, etc.). The skill reads and analyzes them to extract structure and quality issues.

Does the skill generate the final competition paper or figures?

No. This skill produces only the analysis and modeling report. Paper writing, figure layout, and final presentation are separate phases.

Can the skill handle problems with more or fewer than 3 sub-problems?

Yes. It dynamically adjusts the number of sub-problems based on the actual problem statement, not forcing a fixed structure.

Full instructions (SKILL.md)

Source of truth, from jihe520/mathmodelagent.


name: 2analysis-modeling description: "数学建模赛题分析与建模设计合并阶段。用于读取题面和附件,完成子问题拆解、数据理解、假设预检、变量定义、模型公式、目标函数、约束条件、求解策略和可交给代码实现的建模报告。" allowed-tools: Bash(*), Read, Write, Edit, Grep, Glob, Agent, WebSearch, WebFetch

赛题分析与建模设计

数学建模规范参考

如需领域判断,读取 ../_references/math_modeling_norms.md 中的“赛题理解与子问题识别”“假设与模型建立”和“题型防错速查”小节。该文件只作为规范知识库,不替代本阶段的分析报告结构。

必须产出

在当前工作目录的 reports/ 子目录中创建或更新:

  • reports/ANALYSIS_MODELING_REPORT.md:
    • 赛题分析、子问题拆解、数据与附件理解、评价标准、关键歧义和假设预检。
    • 变量、符号、模型假设、目标函数、约束条件、求解算法、各子问题实现口径、代码阶段任务清单

不要在本阶段写论文正文,不要生成最终 paper/,不要把图表排版任务提前到这里。

工作流程

Step 1: 子问题拆解

只把题面中明确编号的顶层问题当作子问题,例如“问题一/二/三”“Problem 1/2/3”。不要把小问、背景描述、数据说明、提交要求误当成独立子问题。

在 ANALYSIS_MODELING_REPORT.md 开头明确写:

根据题目动态调整问题数量

本赛题共 X 个子问题。

每个子问题要说明:

  • 输入数据和已知条件。
  • 决策变量或预测对象。
  • 目标函数或评价指标。
  • 约束条件。
  • 与其它子问题的依赖关系。
  • 绘制哪些图像或表格来展示结果。

Step 2: 假设敏感性预检

列出关键歧义,不要急着定模型。对影响结果的歧义至少给出两种解释,并用简单验算或逻辑递进判断选择。

必须在 ANALYSIS_MODELING_REPORT.md 中包含:

## 假设敏感性预检

### 模糊表述及解释
...

### 快速验算与递进性检查
...

### 最终采用的解释
...

### 绘制的图像和对比表格


如果某个假设会让后续问题的新增条件没有边际效果,要回头调整解释.

Step 3: 数据理解与建模路线

对每份附件做数据理解:

  • 行列规模和字段解释。
  • 缺失、异常、重复、单位不一致。
  • 可直接用于建模的变量。
  • 需要派生的指标。

然后给出总体路线:

题面 -> 数据清洗(EDA) -> 子问题一模型 -> 子问题二模型 -> 。。。。 -> 结果检验 -> 论文展示

Step 4: 建模报告

在 ANALYSIS_MODELING_REPORT.md 中写出可交给代码阶段实现的完整方案。

每个子问题至少包含:

  • 问题目标。
  • 符号和变量。
  • 模型假设。
  • 目标函数。
  • 约束条件。
  • 求解方法。
  • 输入输出。
  • 代码实现要点。
  • 结果校验方法。

公式要清楚到代码阶段能直接实现。算法描述要包含核心步骤、停止条件、复杂度或可行性说明。

推荐结构:

# 建模报告

## 1. 总体建模框架
## 2. 数据处理方案
## 3. 符号说明
## 4. 问题一模型
## 5. 问题二模型
## 6. 问题三模型
    .... 
## 7. 灵敏度分析与检验方案
## 8. 代码实现任务清单

如果子问题数量不是 3 个,按实际题面调整章节,不要硬凑。

Step 5: 给代码阶段的接口

在 ANALYSIS_MODELING_REPORT.md 末尾写一个“代码实现任务清单”,格式如下:

## 代码实现任务清单

| 任务 | 输入 | 输出 | 方法 | 校验 |
| --- | --- | --- | --- | --- |
| 问题一 | ... | ... | ... | ... |
| 问题二 | ... | ... | ... | ... |

质量要求

  • 所有结论都能回到题面或数据。
  • 不编造数据字段和数值。
  • 不跳过歧义分析。
  • 模型既要有数学表达,也要能被代码实现。
  • 若数据不足或题面不清,要明确记录风险和替代方案。