AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Cumcm Code Writer

skill-star1342354-cumcm-ai-workflow-cumcm-code-writer · by star1342354

数学建模竞赛代码编写(CUMCM/研赛/美赛/校赛/自定义均可):用户给出“数学模型+采用算法+模型框架(可选赛题原文与论文提纲)”后,技能先做硬门禁——确认数据是否齐全、本机 Python/MATLAB 与依赖是否可用,缺料缺工具就出《待补清单》并停下;门禁通过才按赛题小问编写竞赛可读风格的代码,固定随机种子,跑三轮自测(跑通/数值与算法正确性/多种子稳定性与论文口径一致),最后生成两份交付物:①符合国赛附录要求的《附录》(支撑材料文件列表+全部完整源码,逐文件哈希校对)②《结果文档》(逐问结果表+严谨而具创意的可视化+运行说明与环境快照)。用于“帮我写这道题的代码/按这个模型和算法实现/生成附录和结果文档”等场景。不写论文正文,不给奖项位次。

— No reviews yet
0 installs
0 views
— view→install

Install

$ agentstack add skill-star1342354-cumcm-ai-workflow-cumcm-code-writer

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • ✓ Prompt-injection patterns
  • ✓ Secret / credential exfiltration
  • ✓ Dangerous shell & filesystem operations
  • ✓ Untrusted network calls
  • ✓ Known-malicious package signatures

What it can access

  • ✓ Network access No
  • ✓ Filesystem access No
  • ✓ Shell / process execution No
  • ✓ Environment & secrets No
  • ✓ Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-star1342354-cumcm-ai-workflow-cumcm-code-writer)

Reliability & compatibility

✓ Security review passed
0 installs to date
— no reviews yet
● 6d ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Cumcm Code Writer? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

数模代码编写 Skill

> 定位:这是写作向技能——输入是模型与算法约定,输出是可运行代码与两份提交级文档。查代码用 代码编写评价/(cumcm-code-reviewer),两者不要混用。 > 依据:references/(风格与规范)+ references/algorithm_library/(精选参考实现)+ references/official/(国赛 2026 格式规范的附录与支撑材料条款)。 > 边界:只写代码与两份文档,不写论文正文,不给奖项位次、不给分数。

何时使用

  • 用户给出模型、算法或框架,要求“按这个思路写代码”“把这题实现出来”“出附录和结果”。
  • 用户提供了赛题并用代码求解,需要交付可运行程序与结果材料。

不适用:只想评价已有代码(转 代码编写评价);只想评论文(转 数学模型评价)。

输入要求

必给:

  1. 模型与算法:这一问要建什么模型、用什么算法或求解器。
  2. 模型框架:变量与符号、目标函数、约束、参数含义与单位;有公式就给公式。
  3. 数据:需要数据的题目必须提供文件(CSV/XLSX/JSON/txt/mat),并说明每列含义与单位;确实不需要数据的要明说“无需数据”。

可选:赛题原文或年份题号(用于对齐小问与红线)、论文提纲或已有草稿(用于对齐符号与结果口径)、指定语言(默认 Python,备选 MATLAB)。

硬门禁(未通过不写代码)

按序检查 G0→G3,任一未过即输出《待补清单》并停止,清单里写清缺什么、怎么补、补齐后能继续到哪一步。

| 编号 | 门禁 | 通过标准 | 检查手段 | |---|---|---|---| | G0 | 题意与算法自洽 | 模型/算法/框架三项齐全;所选算法满足成立条件(如 GM(1,1) 需小样本单调趋势、AHP 需一致性检验可行) | 对照 references/算法-模型对照表.md | | G1 | 数据齐全可用 | 文件可读、编码与分隔符可解析、列名与单位明确、缺失与异常已说明 | scripts/check_data.py,产出 数据说明.md | | G2 | 工具齐全 | Python(含 numpy、matplotlib)为强制项——交付图件必须由 Python 生成;有 MATLAB 时其工具箱也要齐;中文字体可用;磁盘余量足够 | scripts/check_env.py;缺失时 scripts/bootstrap_env.py | | G3 | 参考实现命中 | 命中对应算法且状态可用,并产出 work//参考依据.md:写出引用的模板 id、参考了哪部分、偏离与理由 | 查 manifest 与 index.md;由 scripts/check_gates.py 校验 id 真实性 |

工具缺失的处理:Python 依赖可在工作区虚拟环境 工具/code_env/ 内自动安装(需联网);Python 本身缺失时不降级、不出图,直接请用户安装;MATLAB 或工具箱缺失只报告并给出替代方案,不静默降级。

五阶段流程

  1. 拆题冻结:把赛题或用户描述切成小问,逐问写清“建什么模型、用什么算法、输出什么数值/表/图”。冻结后不在中途增删小问。
  2. 数据与环境:跑 G1/G2,产出 work//数据说明.md 与 work//环境快照.md;缺失即停。
  3. 参考命中与写码:按 G3 命中算法模板,读懂接口约定与常见坑,再按 references/代码风格规范_竞赛可读版.md 写代码:小问分脚本+公共模块+总运行入口,公式编号写进注释,固定随机种子。同时写 work//参考依据.md(模板见 templates/参考依据模板.md),记录每个小问引用了哪个模板、沿用了什么、按题目改了什么、为什么改。
  4. 三轮自测:scripts/selftest.py 依次跑三轮并把输出写进 work//自测记录.md:
  • 第一轮:语法与依赖、端到端跑通、输入输出形状与量纲。
  • 第二轮:数值与算法正确性对照(小规模暴力解、解析解或成熟库实现三者互证),边界与极端输入。
  • 第三轮:多种子稳定性、关键参数敏感性、结果与论文口径(若给了提纲/草稿)一致性。

任一轮失败就回到写码阶段修,修完重跑该轮,不允许带着失败结论进入交付。第二轮不得空转:校验脚本必须打印 CHECK-SUMMARY total=.. passed=.. baselines=..,且 total≥3、baselines≥1(baselines 指由另一条代码路径算出的基准值);缺校验机制或校验强度不足一律判未通过并阻塞交付,只有用户明示豁免(--allow-missing-verify)才放行,且必须在结果文档的限制说明里写明。

  1. 交付:写码时同步登记 work//论文口径.md(模板见 templates/论文口径模板.md),把论文里写下的关键数值逐条列出;随后跑 scripts/check_gates.py --project ,七项门禁(数据说明/环境快照/参考依据/三轮自测/代码体检/图件合规/论文口径)全绿才允许生成文档;然后 scripts/build_appendix.py 生成附录(支撑材料文件列表+运行说明+全部完整源码+数据说明+参考依据与偏离说明,逐文件哈希校对),scripts/build_results_doc.py 生成结果文档(逐问结果表+图+运行说明+环境快照)。缺 参考依据.md 时附录脚本直接报错不出文档。默认同时给 Markdown 源与 DOCX 成品。

代码风格要点

  • 竞赛可读优先:一个问一个脚本,公共函数抽到 common/,根目录一个 run_all.py 或 main.m 顺序调用;附录里能直接读懂。
  • 注释与 docstring 只写两块:公式/符号与代码的对应、非显然的算法步骤。不写“初始化变量”“开始循环”这类废话。
  • 禁止在注释/docstring 里留流程与修订痕迹(S3R/S4B/P1-x/work/.../_s3r*/方案 §x/假设 Ax/“等价性对照”“开箱复现”“性能改造”等)——附录要像正常竞赛代码,不能暴露流水线与修订过程;改完代码若注释提到旧文件名或旧路径,一并清掉。
  • 随机算法固定种子并记录;迭代类算法输出收敛过程;结果文件带表头与单位。
  • 数据校验与异常处理保留最小必要部分,不写整屏 try/except 包装。
  • 不为了“显得专业”引入用不到的抽象层、设计模式或第三方库。

完整规则见 references/代码风格规范_竞赛可读版.md 与 references/低AI味代码规范.md。

性能与效率(硬规则:能快必须快,且不许改口径)

  1. 时间预算:全流程(含校验与出图)默认目标 ≤120 s;超过就在结果文档《运行说明》里写清每阶段耗时与优化方案。交付前记录一次基准运行时间。
  2. 线性代数不许手写循环:时间步里的隐式求解一律用 scipy.linalg.solve_banded / scipy.sparse.linalg / numpy.linalg.solve;禁止在 Python for 里手写追赶法(网格数 ≥10 时)。实测:20 格追赶法每步 ~2.4 ms,换 banded 求解可快 2–4 倍。
  3. 每步只做一次向量化:物性、界面系数、装配用 numpy 数组一次算完;不在不动点迭代里重复构造常量数组或重复 np.exp 全场。
  4. 大结果文件用 xlsxwriter:行数 >1 万的表用 xlsxwriter(constant_memory=True + write_row)或 pandas.ExcelWriter(engine="xlsxwriter"),禁止逐格写;写出的数值必须是数字类型,工作表名/表头/A 列/列序/末列名一律不变(实测 59370×22×2:openpyxl 13.0 s → xlsxwriter 9.7 s)。
  5. 积分步长 ≠ 输出步长:模板要求"每 1 s 输出"不等于必须 1 s 积分。允许内部用较粗步长积分、再插值到输出网格,但必须先做 ≥3 档步长的收敛验证(关键量偏差 ≤0.1%,必要时更严),并在结果文档写明口径;不通过就退回 1 s 积分。
  6. 独立小问并行:各问互不依赖时用进程级并行(ProcessPoolExecutor 或并行脚本),保留 --jobs 开关;并行不得改变随机种子与数值结果。
  7. 增量重跑:入口脚本支持 --only q3 之类的子集开关与结果缓存(按输入哈希跳过未变体),改一处不重跑全部。
  8. 性能日志:每个小问、每轮校验打印耗时([time] q3 solver 12.3 s),汇总进《运行说明》。
  9. 性能回归:任何改动若使整轮运行时间上升 >30%,必须在修订记录里说明原因与取舍。

可视化要求

所有交付图件必须由 Python + matplotlib 生成,MATLAB 只负责计算,不允许用 MATLAB 出交付图;本机没有可用 Python 时停止并请用户安装(Python 3.10+,),再跑 scripts/bootstrap_env.py --install-optional。 统一 300dpi、色盲友好配色、中文字体显式设置、坐标轴带单位、图号与题号对应;每问除规范图外再给一张信息量更高的组合主图(多子图、带注释或不确定性区间)。绘图脚本与数据分离,保证重跑可复现。细则见 references/可视化规范.md,检查由 scripts/check_figures.py 执行。

输出与命名

默认写 代码编写/output//,绝不在 数据集/ 下产生任何文件。 技能被安装到全局(~/.codex/skills/)后,可用环境变量 CUMCM_CODE_PROJECT 指定项目根目录,产物会写到 /output/ 与 /work/,避免把结果堆在技能目录里。

output//
├── code/                     # 可运行代码(含数据接口说明)
├── figures/                  # 每图 PNG(300dpi) + PDF(矢量)
├── tables/                   # 逐问结果表(CSV + Markdown)
├── _附录.md / .docx    # 附录:支撑材料列表 + 全部源码
├── _结果文档.md / .docx  # 结果:逐问结论、图表、运行说明
└── 运行说明.md                # 环境、命令、产物清单

支撑材料只生成文件列表(写在附录),不打包压缩包。

阅读预算

  • 算法库有 90 个算法、180 个模板:只读命中的 1–3 个 meta.yaml 与对应 python/main.py/matlab/main.m,不要通读 algorithm_library/。
  • 需要按题型找算法时读 references/算法-模型对照表.md 或 index.md 的目录表,再定位到具体模板。
  • 方法公式口径以 references/来源与方法依据.md 登记的权威来源为准,摘要片段在 references/_methods/.md。
  • 参考库依赖与许可看 manifest.csv,外部下载记录看 manifest_sources.csv。

边界与规则

  • 只写代码与两份文档;论文正文、摘要、奖项位次不在职责内。
  • 结果必须来自真实运行;没跑通就写“未跑通”并说明卡在哪,不虚构数值。
  • 参考库只复制宽松许可实现并登记来源;生成用户代码时按公式自行重写,不整段搬运。
  • 数据与产物不写入 数据集/;用户数据只做只读使用,不改变原始文件。
  • 涉密或未授权数据不复制进参考库与附录样例。

references 索引

  • references/算法-模型对照表.md:题型 ↔ 算法 ↔ 成立条件 ↔ 必需库 ↔ 常见误用(拆题与选型时必读)。
  • references/代码风格规范_竞赛可读版.md:文件组织、命名、注释、随机性、结果输出规范(写码前必读)。
  • references/低AI味代码规范.md:反 AI 味的正反例与自检清单。
  • references/数据交接规范.md:数据提交清单、数据说明模板、缺失与异常处理口径。
  • references/环境与工具检查规范.md:工具探测项、虚拟环境策略、缺失时的报告口径。
  • references/可视化规范.md:字体、配色、图种选择、创意主图与自检清单。
  • references/附录与结果文档规范.md:两份文档的结构、合规要求与命名。
  • references/official/:国赛 2026 格式规范中附录与支撑材料条款原文。
  • references/algorithm_library/:精选参考实现,manifest.csv 为索引,index.md 为可读目录。

scripts 索引

| 脚本 | 作用 | 典型调用 | |---|---|---| | check_env.py | 探测 Python/包/MATLAB/工具箱/字体/磁盘 | python check_env.py --need numpy,scipy,matplotlib | | bootstrap_env.py | 在工作区建 工具/code_env 并安装缺失包 | python bootstrap_env.py --install | | check_data.py | 数据可读性、列名、缺失、异常、单位表生成 | python check_data.py --out 数据说明.md | | build_library.py | 由注册表生成算法库的 meta/index/manifest 并烟测 | python build_library.py --smoke | | fetch_reference_library.py | 按清单下载宽松许可参考实现并登记来源 | python fetch_reference_library.py --plan | | selftest.py | 三轮自测驱动与留痕;第二轮强制 CHECK-SUMMARY 与独立基准 | python selftest.py --project | | check_gates.py | 交付门禁:数据说明/环境快照/参考依据/三轮自测/代码体检/图件合规/论文口径 七项全绿才放行 | python check_gates.py --project | | build_appendix.py | 生成附录并逐文件哈希校对;缺参考依据直接报错 | python build_appendix.py --project | | build_results_doc.py | 由结果表与图生成结果文档 | python build_results_doc.py --project | | lint_code.py | 机械检查:吞异常、绝对路径、未固定种子、空话输出、占位命名、重复注释 | python lint_code.py --project | | check_figures.py | 图件合规:300dpi、PNG/PDF 成对、宽度、轴标签与命名 | python check_figures.py --project | | check_paper_consistency.py | 论文口径核对:论文声明数值 vs 结果表 | python check_paper_consistency.py --project | | collect_method_references.py | 抓取并登记算法方法的权威依据 | python collect_method_references.py --fetch | | matlab_smoke.m | 单会话批量烟测全部 MATLAB 模板 | matlab -batch "matlab_smoke" | | install_skill.ps1 | 把本技能安装到 ~/.codex/skills(需你手动运行) | powershell -File install_skill.ps1 |

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.