| name | amis-build |
| description | AMIS 项目自动化构建。按照 AMIS_DEVELOPMENT_PLAN.md 自动执行所有 Task,逐个改造 ARIS skill 为数模版本。当用户说'开始构建'、'自动执行所有task'、'build AMIS'时使用。 |
| argument-hint | ["start-from-task (可选,默认从头开始)"] |
| allowed-tools | Bash(*), Read, Write, Edit, Grep, Glob, WebSearch, WebFetch, Agent, Skill, mcp__codex__codex, mcp__codex__codex-reply |
AMIS 自动化构建编排器
从 Task $ARGUMENTS 开始执行 AMIS 项目构建(默认从 Task 1.1 开始)。
Overview
本 skill 是 AMIS 项目的总编排器。它按照 AMIS_DEVELOPMENT_PLAN.md 中定义的 Task 顺序,逐个调用 /adapt-skill 来改造每个 ARIS skill,每完成一个 Task 就验证、commit、然后自动进入下一个。
Constants
- AUTO_CONTINUE = true — 一个 Task 完成且验证通过后,自动进入下一个 Task。设为
false 则每完成一个 Task 暂停等待用户确认。
- STOP_ON_FAILURE = true — 任何 Task 验证失败时停止整个流程。设为
false 则跳过失败的 Task 并记录。
- SKIP_COMPLETED = true — 如果目标 skill 文件已存在且有 git commit 记录,跳过该 Task。
Task 执行清单
以下是所有 Task 的执行顺序和参数。编排器按此顺序逐个执行。
阶段一:项目初始化
Task 1.1: 创建项目骨架
不调用 /adapt-skill,直接执行 bash 命令。
if [ ! -d "../Auto-claude-code-research-in-sleep/skills" ]; then
echo "❌ 请先 clone ARIS 仓库到项目同级目录"
echo " git clone https://github.com/wanshuiyin/Auto-claude-code-research-in-sleep.git ../Auto-claude-code-research-in-sleep"
exit 1
fi
ARIS_DIR="../Auto-claude-code-research-in-sleep"
mkdir -p skills templates docs assets
for skill in \
idea-discovery idea-creator research-lit novelty-check \
research-review research-refine research-refine-pipeline \
experiment-plan experiment-bridge run-experiment \
monitor-experiment auto-review-loop analyze-results \
research-pipeline paper-plan paper-figure paper-write \
paper-compile paper-writing auto-paper-improvement-loop; do
if [ -f "$ARIS_DIR/skills/$skill/SKILL.md" ]; then
mkdir -p "skills/$skill"
cp "$ARIS_DIR/skills/$skill/SKILL.md" "skills/$skill/SKILL.md.original"
echo "✅ 复制: $skill"
else
echo "⚠️ 未找到: $ARIS_DIR/skills/$skill/SKILL.md"
fi
done
if [ -d "$ARIS_DIR/templates" ]; then
mkdir -p templates/aris-original
cp -r "$ARIS_DIR/templates/"* templates/aris-original/
fi
echo ""
echo "=== 初始化完成 ==="
ls -la skills/*/SKILL.md.original | wc -l
echo "个 skill 原始文件已就位"
初始化完成后 commit:
git add -A
git commit -m "Task 1.1: project skeleton + ARIS original skills copied"
🚦 Checkpoint: 报告复制了多少个 skill,然后继续。
阶段二:叶子节点改造(按依赖关系排序)
对每个 Task,调用 /adapt-skill 并传入原 skill 名和新 skill 名。
Task 2.1: research-lit → problem-analysis
/adapt-skill "research-lit → problem-analysis"
改造要点(传递给 /adapt-skill 的上下文):
- 文献综述 → 赛题分析+经典方法检索
- 搜索源:arXiv/Scholar → 数模优秀论文/CNKI/经典教材
- 删除 Zotero、Obsidian、arXiv download 相关段落
- 输出:LIT_SURVEY.md → PROBLEM_ANALYSIS.md
- Constants: PAPER_LIBRARY → METHOD_LIBRARY, 删除 ARXIV_DOWNLOAD
- Phase 1 "Search recent literature" → "解读赛题 + 检索经典方法"
- Phase 2 "Build landscape map" → "构建方法地图(统计/优化/ML/微分方程/图论)"
- Phase 3 "Identify structural gaps" → "识别建模难点"
完成条件: skills/problem-analysis/SKILL.md 存在,行数验证通过,已 commit。
Task 2.2: idea-creator → model-creator
/adapt-skill "idea-creator → model-creator"
改造要点:
- 生成 research idea → 生成建模方案
- 8-12 ideas → 5-8 种建模方案
- MCP prompt 角色:senior ML researcher → 数模竞赛指导教师
- Pilot experiments (GPU) → 快速验证计算 (本地Python)
- 时间单位:hours → minutes
- 评估维度:novelty/compute → 数学含量/实现时间/创新性
- 输出:IDEA_REPORT.md → MODEL_REPORT.md
完成条件: skills/model-creator/SKILL.md 存在,行数验证通过,已 commit。
Task 2.3: novelty-check → feasibility-check
/adapt-skill "novelty-check → feasibility-check"
改造要点:
- 新颖性验证 → 可行性验证
- "idea已发表?" → "方案在给定数据和时间约束下可行?"
- 搜索目标:近期论文 → 类似赛题成功案例
- 评分维度:novelty score → feasibility score (数据匹配度+计算复杂度+实现时间)
- MCP prompt: "Is this novel?" → "这个建模方案可行吗?"
完成条件: skills/feasibility-check/SKILL.md 存在,行数验证通过,已 commit。
Task 2.4: research-review → model-review
/adapt-skill "research-review → model-review"
改造要点:
- 审稿人身份:NeurIPS reviewer → 数模竞赛评委
- 评分维度:novelty/significance/clarity → 数学严谨性/创新性/结果可靠性/论文规范性
- 评分标准:学术 1-10 → 国赛一等奖/美赛O奖标准
- 改进建议:ablation study → 灵敏度分析/模型验证
完成条件: skills/model-review/SKILL.md 存在,行数验证通过,已 commit。
Task 2.5: research-refine → model-refine
/adapt-skill "research-refine → model-refine"
改造要点:
- 精炼研究方法 → 精炼建模方案
- Problem Anchor → 赛题锚定(防止建模思路漂移)
- 迭代对象:method → 数学模型+求解算法
- 输出目录:refine-logs/ 保留
完成条件: skills/model-refine/SKILL.md 存在,行数验证通过,已 commit。
Task 2.6: experiment-plan → solve-plan
/adapt-skill "experiment-plan → solve-plan"
改造要点:
- 实验计划 → 求解计划
- claim-driven experiments → 子问题驱动的求解步骤
- ablation study → 灵敏度分析
- GPU budget → 计算时间预算
- 输出:EXPERIMENT_PLAN.md → SOLVE_PLAN.md
完成条件: skills/solve-plan/SKILL.md 存在,行数验证通过,已 commit。
Task 2.7: run-experiment → run-solver
/adapt-skill "run-experiment → run-solver"
改造要点:
- SSH到远程GPU → 本地Python/MATLAB执行
- conda activate → python/matlab 环境
- screen -dmS → subprocess / nohup
- rsync → 不需要(本地执行)
- nvidia-smi → 求解进度/迭代次数/目标函数值
- 超时单位:hours → minutes
完成条件: skills/run-solver/SKILL.md 存在,行数验证通过,已 commit。
Task 2.8: monitor-experiment → monitor-solver
/adapt-skill "monitor-experiment → monitor-solver"
改造要点:
- 监控GPU利用率 → 监控求解进度
- W&B集成 → 简单日志文件监控
- training curves → 收敛曲线/目标函数变化
完成条件: skills/monitor-solver/SKILL.md 存在,行数验证通过,已 commit。
Task 2.9: analyze-results → analyze-results
/adapt-skill "analyze-results → analyze-results"
改造要点(保留skill名,只改内容):
- ML指标(accuracy, loss) → 数模指标(R², RMSE, 目标函数值)
- 图表:training curves → 拟合曲线/灵敏度图/误差分布/残差图
- 统计方法:significance test → 误差分析/模型检验
完成条件: skills/analyze-results/SKILL.md 存在(不带.original后缀),行数验证通过,已 commit。
Task 2.10: paper-plan → paper-plan
/adapt-skill "paper-plan → paper-plan"
改造要点(保留skill名,改论文结构):
- 学术论文结构 → 数模论文结构(摘要→问题重述→问题分析→模型假设→模型建立→模型求解→结果分析→模型检验→评价与改进→参考文献→附录)
- 页数:9页 → 20-25页
- claims-evidence matrix → 问题-方法-结果对应表
- 图表数量:4-6 → 10-20
完成条件: skills/paper-plan/SKILL.md 存在,行数验证通过,已 commit。
Task 2.11: paper-figure → paper-figure
/adapt-skill "paper-figure → paper-figure"
改造要点:
- 图表类型:training curves/confusion matrix → 拟合曲线/灵敏度图/流程图/结果对比表/数据分布图
- matplotlib style → 数模论文风格
- 删除 Gemini illustration 相关内容
完成条件: skills/paper-figure/SKILL.md 存在,行数验证通过,已 commit。
Task 2.12: paper-write → paper-write
/adapt-skill "paper-write → paper-write"
改造要点:
- LaTeX模板:ICLR/NeurIPS → 数模论文格式(国赛ctexart/美赛mcmthesis)
- Section结构:学术论文 → 数模论文
- 引用格式:BibTeX/DBLP → 简单参考文献
- 删除 de-AI polish(数模论文不需要去AI痕迹)
- 匿名设置:blind review → 不适用
完成条件: skills/paper-write/SKILL.md 存在,行数验证通过,已 commit。
Task 2.13: paper-compile → paper-compile
/adapt-skill "paper-compile → paper-compile"
改造要点(最小改动):
完成条件: skills/paper-compile/SKILL.md 存在,行数验证通过,已 commit。
阶段三:编排器改造
Task 3.1: idea-discovery → modeling-discovery
/adapt-skill "idea-discovery → modeling-discovery"
改造要点(编排器,主要是换调用链):
- 所有子 skill 调用名按映射表替换
- 所有输出文件名替换
- Phase 0: RESEARCH_BRIEF.md → PROBLEM_BRIEF.md
- Constants 时间单位替换
- Checkpoint 提示语替换
Task 3.2: research-refine-pipeline → model-refine-pipeline
/adapt-skill "research-refine-pipeline → model-refine-pipeline"
Task 3.3: experiment-bridge → solve-bridge
/adapt-skill "experiment-bridge → solve-bridge"
Task 3.4: auto-review-loop → auto-optimize-loop
/adapt-skill "auto-review-loop → auto-optimize-loop"
改造要点(除了调用链,审稿 prompt 也要改):
- 审稿人 → 数模评委
- review→fix→re-review → 评审→改模型→重新求解→再评审
- 评分标准替换
Task 3.5: paper-writing → paper-writing
/adapt-skill "paper-writing → paper-writing"
Task 3.6: auto-paper-improvement-loop → auto-paper-improvement-loop
/adapt-skill "auto-paper-improvement-loop → auto-paper-improvement-loop"
Task 3.7: research-pipeline → mathmodel-pipeline
/adapt-skill "research-pipeline → mathmodel-pipeline"
改造要点(总入口编排器):
- 整条链路的所有 skill 名替换
- Workflow 1→1.5→2→3 的描述替换
- 删除 Workflow 4 (rebuttal) 相关内容
阶段四:新增 Skill
Task 4.1: 新建 data-preprocessing
不调用 /adapt-skill(没有原始文件),直接创建。
参考 skills/analyze-results/SKILL.md 的格式,创建 skills/data-preprocessing/SKILL.md。
功能:读取赛题数据 → 基本统计 → 缺失值处理 → 异常值检测 → EDA可视化 → 输出 DATA_REPORT.md + cleaned data。
用 cat << 'HEREDOC' 分段写入,确保 150+ 行。
Task 4.2: 新建 sensitivity-analysis
参考 skills/analyze-results/SKILL.md 格式。
功能:对模型参数做扰动 → 计算灵敏度指标 → 生成灵敏度图表 → 输出 SENSITIVITY_REPORT.md。
Task 4.3: 新建 model-validation
功能:交叉验证 → 残差分析 → 误差分析 → 稳定性测试 → 输出 VALIDATION_REPORT.md。
Task 4.4: 新建 problem-decomposer
功能:读取赛题 → 识别子问题 → 分析子问题间的依赖关系 → 建议求解顺序 → 输出 PROBLEM_DECOMPOSITION.md。
阶段五:模板和文档
Task 5.1: 创建 PROBLEM_BRIEF_TEMPLATE.md
Task 5.2: 创建数模论文 LaTeX 模板
Task 5.3: 创建 README.md
Pipeline 执行逻辑
tasks = [1.1, 2.1, 2.2, ..., 5.3]
for task in tasks:
if SKIP_COMPLETED and task_already_done(task):
print(f"⏭️ Task {task} 已完成,跳过")
continue
print(f"🔧 开始 Task {task}")
if task == 1.1:
run_bash_init()
elif task.startswith("4."):
create_new_skill(task)
else:
run_adapt_skill(task)
if not verify_task(task):
if STOP_ON_FAILURE:
print(f"❌ Task {task} 验证失败,停止")
break
else:
print(f"⚠️ Task {task} 验证失败,跳过")
continue
if not AUTO_CONTINUE:
user_input = wait_for_user()
if user_input == "stop":
break
print(f"✅ Task {task} 完成,进入下一个")
Key Rules
- 大文件处理:如果 Write 工具因文件过大失败,立即用 Bash (
cat << 'EOF' > file) 分段写入。不要询问用户——直接执行。
- 一次一个 Task。 不要并行执行多个 Task。
- 每个 Task 必须验证通过才能进入下一个。 验证失败则停止(STOP_ON_FAILURE=true)或跳过。
- 调用 /adapt-skill 时,必须传递完整的改造要点。 不要只说"改造 X 为 Y"——要告诉 /adapt-skill 具体改什么。
- 新建 skill(阶段四)不走 /adapt-skill,直接用 bash 分段写入。
- 每完成一个 Task 就 commit。 这样出问题可以 git revert 回退到上一个正确状态。
- 如果某个 skill 改造后行数严重不足(<70%),不要试图修补——回退到 .bak 重新来过。
Composing
本 skill 是开发阶段使用的,不是最终产品的一部分。构建完成后:
skills/ 目录下应该有 20+ 个改造完成的 SKILL.md
templates/ 目录下应该有数模论文模板
docs/ 目录下应该有使用文档
用户可以:
cp -r skills/* ~/.claude/skills/
然后在 Claude Code 中使用:
/mathmodel-pipeline "赛题描述" — data: data.csv