1start-mathmodel
数学建模竞赛工作流入口。用于启动完整建模流程:询问用户偏好,生成 plan.md 和 todo.md,并按阶段调用赛题分析、建模、代码与图表、流程图、论文撰写、验证验收等 skills。
数学建模竞赛最终验证和验收阶段,支持 Typst 和 LaTeX 双引擎。用于论文写完后检查章节数量、标题顺序、图表引用、数值一致性、占位符、内部文件泄露、参考文献、代码可复现性、编译和提交就绪状态。
$ npx -y skills add jihe520/mathmodelagent --skill 6verity --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/6verityContext preview
The summary Claude sees to decide when to auto-load this skill.
数学建模竞赛最终验证和验收阶段,支持 Typst 和 LaTeX 双引擎。用于论文写完后检查章节数量、标题顺序、图表引用、数值一致性、占位符、内部文件泄露、参考文献、代码可复现性、编译和提交就绪状态。
name: 6verity description: "数学建模竞赛最终验证和验收阶段,支持 Typst 和 LaTeX 双引擎。用于论文写完后检查章节数量、标题顺序、图表引用、数值一致性、占位符、内部文件泄露、参考文献、代码可复现性、编译和提交就绪状态。" allowed-tools: Bash(*), Read, Write, Edit, Grep, Glob, Agent, WebSearch, WebFetch
本 skill 是完整工作流的最后一关。它不重新建模、不生成新结果、不代替写作阶段重写论文;它负责发现硬错误、修复可直接修复的问题,并输出 `reports/VERIFY_REPORT.md`。
如需领域判断,读取 `../_references/math_modeling_norms.md` 中的"论文验收与一致性"小节。该文件只是规范知识库,不是固定执行流程;具体目录、入口文件、结果文件和图表目录由当前项目结构决定。
由模型先根据当前工作区判断项目布局,再把实际路径传给检查脚本。常见输入包括但不限于:
1. 论文入口文件:`main.typ`(Typst)或 `main.tex`(LaTeX)。 2. 正文章节目录或若干正文文件(`.typ` 或 `.tex`)。 3. 参考文献文件(`references.typ` 或 `references.tex`)。 4. 前序阶段的分析、建模、结果、图示报告。 5. 图表目录 6. 可复现代码目录。 7. 编译后的 PDF,或可由入口文件编译得到的输出 PDF。
不要假设论文目录一定叫 `paper/`,也不要假设结果文件一定在项目根。若项目使用不同命名,按实际结构传参并在 `reports/VERIFY_REPORT.md` 中说明。
优先运行本 skill 的脚本。脚本按入口文件扩展名自动选择检查逻辑(`.typ` → Typst 检查,`.tex` → LaTeX 检查):
set -o pipefail mkdir -p _tmp SCRIPT_PATH="<按当前 skill 实际位置确定>/scripts/writing_check.sh" bash "$SCRIPT_PATH" \ --paper-dir "$PAPER_DIR" \ --main "$MAIN_FILE" \ --sections-dir "$SECTIONS_DIR" \ --references "$REFERENCES_FILE" \ --figures-dir "$FIGURES_DIR" \ --results-file "$RESULTS_FILE" \ --problem-analysis "$PROBLEM_ANALYSIS_FILE" \ --all-results "$ALL_RESULTS_FILE" \ | tee _tmp/writing_check.log
如果本 skill 被复制到其他目录,使用实际脚本路径。可以先运行 `bash <script> --help` 查看参数。不要把脚本路径、论文目录或文件名写死在验收逻辑中。
脚本只扫描文本,不生成论文,也不编译 PDF。它的 `FAIL` 属于硬错误,必须修复后重跑。
**Typst 引擎**检查:
**LaTeX 引擎**检查:
通用检查(两种引擎):
**Typst 引擎**检查:
**LaTeX 引擎**检查:
通用检查(两种引擎):
不要生成 `*_typst_includes.typ` 或 `*_latex_includes.tex`;图表必须直接嵌在对应 section 中。
检查并修复:
检查:
发现数值冲突时,不要自行发明新结果;应回到结果记录或代码输出修正论文。
检查:
**Typst 编译**:
command -v typst >/dev/null 2>&1 && typst compile "$MAIN_FILE" "$OUTPUT_PDF"
**LaTeX 编译**:
command -v xelatex >/dev/null 2>&1 && xelatex -interaction=nonstopmode "$MAIN_FILE" && xelatex -interaction=nonstopmode "$MAIN_FILE"
xelatex 需跑两遍解决目录和交叉引用。
编译失败必须修复语法、路径、图片引用或模板问题后重跑。编译通过后确认输出 PDF 非空。
如果模型有视觉能力,必须把编译后的 PDF 每页导出为 PNG 并逐页查看。这个步骤用于发现纯文本扫描和编译器无法发现的版式错误。
优先使用系统已有工具导出页面 PNG;不要为了视觉检查引入沉重依赖。可选命令示例:
mkdir -p _tmp/pdf-pages if command -v pdftoppm >/dev/null 2>&1; then pdftoppm -png -r 160 "$OUTPUT_PDF" _tmp/pdf-pages/page elif command -v mutool >/dev/null 2>&1; then mutool draw -r 160 -o _tmp/pdf-pages/page-%03d.png "$OUTPUT_PDF" elif command -v magick >/dev/null 2>&1; then magick -density 160 "$OUTPUT_PDF" _tmp/pdf-pages/page-%03d.png else echo "No PDF rasterizer found; record visual check as not run." fi
导出后逐页检查:
如果是模板转换或已有参考 PDF 的项目,还应将不同引擎的 PDF 都逐页导出 PNG,按页对比版式差异;页数或页面尺寸不一致必须记录为硬错误或明确说明原因。
如果模型没有视觉能力,必须在 `reports/VERIFY_REPORT.md` 中明确写出“未执行视觉检查”的原因,并至少完成 PDF 非空、页数、页面尺寸等可程序化检查。
创建 `reports/VERIFY_REPORT.md`:
# 验证和验收报告 ## 结论 PASS / FAIL ## 检查项 | 检查项 | 结果 | 说明 | | --- | --- | --- | ## 章节结构 ## 图表引用 ## 数值一致性 ## 文本质量门禁 ## 编译 ## PDF 视觉检查 ## 仍需处理的问题
只有当硬错误都修复、文本门禁通过、核心图表都引用、数值一致、编译通过或明确说明不可编译原因、视觉检查通过或明确说明无法执行原因时,才写 `PASS`。
以下问题必须判定 `FAIL`:
以下问题可判定为 `WARN`,但应尽量修复:
🤖📐专为数学建模设计的 Agent & skills ,自动完成数学建模,生成一份完整的可以直接提交的论文。 An Agent Designed for Mathematical Modeling ,Automatically complete mathmodel and generate a complete paper ready for submission.
Repo: jihe520/mathmodelagent
数学建模竞赛工作流入口。用于启动完整建模流程:询问用户偏好,生成 plan.md 和 todo.md,并按阶段调用赛题分析、建模、代码与图表、流程图、论文撰写、验证验收等 skills。
数学建模赛题分析与建模设计合并阶段。用于读取题面和附件,完成子问题拆解、数据理解、假设预检、变量定义、模型公式、目标函数、约束条件、求解策略和可交给代码实现的建模报告。
数学建模编程实现与数据图表生成阶段。根据 ANALYSIS_MODELING_REPORT.md 编写可复现代码、运行求解、验证约束、输出 RESULTS_REPORT.md…
数学建模非数据型图示绘制阶段。根据 ANALYSIS_MODELING_REPORT.md、RESULTS_REPORT.md 和已有 figures/…
数学建模竞赛论文撰写阶段,支持 Typst 和 LaTeX 双引擎。根据 ANALYSIS_MODELING_REPORT.md、RESULTS_REPORT.md 和…