关于 paper-plan
paper-plan 是面向研究者的论文规划技能,根据研究叙述、审稿结论和实验结果生成逐节大纲。它还规划主张与证据的对应关系、图表及引用,并可按目标会议调整结构。
主要功能
- 01提取论文主张并建立证据矩阵
- 02按论文类型和会议规划章节
- 03逐节列出内容与篇幅
- 04规划图表及其数据来源
- 05整理分节引用需求
适用场景
- 01将审稿结论转成论文大纲
- 02依据实验结果安排主张和章节
- 03为目标会议规划图表与引用
MCP 相关
该技能通过 Codex MCP 评审论文大纲,并解析每个评审环节的评审路由;它本身不是 MCP 服务。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ wanshuiyin/ auto-claude-code-research-in-sleep --skill paper-plan安装后在 Claude Code 中输入/paper-plan确认已加载。
详细介绍
论文规划:从评审结论到论文大纲
每次进入评审环节前,请遵循 可选评审者: 解析调用方式 →
.aris/reviewer.json→ 默认使用 Claude Code(Codex MCP), 并通过规范的辅助解析器使用reviewer_route.py,保留此环节的级别、新上下文、源文件/图像输入和确定性门禁。 以下 Codex 示例/固定配置仅适用于backend=codex;其他路由使用各自的首次调用/回复约定。保存路由和实际返回的身份; 不可用的选择标记为REVIEW_UNAVAILABLE。根据实际的模型系列/完成情况/范围判定是否接受。 将调用方对评审者/模型/推理力度的覆盖项传递给包含评审者的子任务。生成工作进程保持不变。
根据以下内容生成结构化的逐节论文大纲:$ARGUMENTS
常量
- REVIEWER_MODEL =
gpt-6-astra— 通过 Codex MCP 用于大纲评审的模型。对于backend=codex,使用 OpenAI 模型。 - TARGET_VENUE =
ICLR— 默认投稿会议。用户可以覆盖(例如,/paper-plan "topic" — venue: NeurIPS)。支持:ICLR、NeurIPS、ICML、CVPR、ACL、AAAI、ACM、IEEE_JOURNAL(IEEE Transactions / Letters)、IEEE_CONF(IEEE 会议)。 - MAX_PAGES — 页数上限。对于机器学习会议,正文页数计算至结论结束(不包括参考文献和附录)。ICLR=9、NeurIPS=9、ICML=8、AAAI=7 页技术内容,另加参考文献,除非当前 AAAI 征稿启事另有规定。对于 IEEE 投稿,参考文献计入页数。 IEEE 期刊 Transactions ≈ 12-14 页总计,Letters ≈ 4-5 页总计;IEEE 会议 ≈ 5-8 页总计(含参考文献)。
输入
该技能需要项目目录中包含以下一项或多项:
- NARRATIVE_REPORT.md 或 STORY.md — 包含主张和证据的研究叙事
- review-stage/AUTO_REVIEW.md — 自动评审循环结论(若未找到,则回退至
./AUTO_REVIEW.md) - 实验结果 —
figures/中的 JSON 文件、屏幕日志、表格 - idea-stage/IDEA_REPORT.md — 来自创意发现流水线(如适用)(若未找到,则回退至
./IDEA_REPORT.md) - 精简文件(如有):
idea-stage/IDEA_CANDIDATES.md(若未找到,则回退至./IDEA_CANDIDATES.md)、findings.md、EXPERIMENT_LOG.md——若存在,优先使用这些文件而非完整文件,以节省上下文窗口
如果以上文件均不存在,请让用户用 3-5 句话描述论文的贡献。
Orchestra 指导的写作补充
保留现有的 insleep 工作流和输出,同时利用以下共享参考资料来提升故事和大纲的质量。
- 在构思一句话贡献、摘要、引言、相关工作或核心图示时,阅读
../shared-references/writing-principles.md。 - 在确定特定投稿渠道的大纲之前,阅读
../shared-references/venue-checklists.md。 - 仅在需要时加载这些参考资料;不要将其全文粘贴到工作草稿中。
可选:风格参考(— style-ref: <source>,选择启用)
让用户引导大纲的结构布局(章节顺序、小节密度、定理环境密度、图表预算、引用样式),使其接近参考论文。默认关闭——用户未传入 — style-ref 时,行为与之前完全相同。
只有当 $ARGUMENTS 中出现 — style-ref: <source> 时,才先运行辅助程序,再起草大纲:
# Resolve $STYLE_HELPER via the canonical strict-safe chain (see
# shared-references/integration-contract.md §2). Policy A — gate:
# unresolved helper means --style-ref cannot be satisfied, so abort.
cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" || exit 1
if [ -z "${ARIS_REPO:-}" ] && [ -f .aris/installed-skills.txt ]; then
ARIS_REPO=$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills.txt 2>/dev/null) || true
fi
if [ -z "${ARIS_REPO:-}" ] && [ -f "$HOME/.aris/repo" ]; then
ARIS_REPO=$(cat "$HOME/.aris/repo" 2>/dev/null) || true
fi
STYLE_HELPER=".aris/tools/extract_paper_style.py"
[ -f "$STYLE_HELPER" ] || STYLE_HELPER="tools/extract_paper_style.py"
[ -f "$STYLE_HELPER" ] || { [ -n "${ARIS_REPO:-}" ] && STYLE_HELPER="$ARIS_REPO/tools/extract_paper_style.py"; }
[ -f "$STYLE_HELPER" ] || {
echo "ERROR: extract_paper_style.py not resolved at .aris/tools/, tools/, \$ARIS_REPO/tools/, or via ~/.aris/repo." >&2
echo " Fix: rerun bash tools/install_aris.sh or smart_update.sh (refreshes ~/.aris/repo), export ARIS_REPO, or copy the helper to tools/." >&2
echo " --style-ref cannot be satisfied; aborting." >&2
exit 1
}
STYLE_STATUS=0
CACHE=$(python3 "$STYLE_HELPER" --source "<source>") || STYLE_STATUS=$?
case "$STYLE_STATUS" in
0) ;; # use $CACHE/style_profile.md as structural guidance
2) echo "warning: style-ref skipped (missing optional dep)" >&2 ;;
3) echo "error: --style-ref source failed; aborting outline" >&2 ; exit 1 ;;
*) echo "error: helper failed unexpectedly; aborting outline" >&2 ; exit 1 ;;
esac
接受的来源:本地 TeX 目录/文件、本地 PDF、arXiv ID(2501.12345 或 arxiv:2501.12345)、http(s) URL。不接受 Overleaf URL 和项目 ID——请先通过 /overleaf-sync setup <id> 克隆,然后传入本地克隆路径。
严格规则(完整约定见 tools/extract_paper_style.py 文档字符串):
- 仅在拟定大纲章节列表、小节数量、定理密度和图表预算时,将
style_profile.md用作结构指导。 - 绝不从缓存中可访问的任何内容复制原文、论点、示例、章节名称或术语。用户的叙述是唯一的实质内容来源。
- 绝不将
— style-ref(或缓存内容)传递给审稿/审计子 Agent。跨模型审查独立性(../shared-references/reviewer-independence.md)要求审稿人只能看到产物和用户提示。
差距报告(启用 style-ref 时自动生成 GAP_REPORT.md)
当 — style-ref: 成功,且项目中存在 figures/、results/、data/、tables/、sec/、NARRATIVE_REPORT.md、CLAIMS_FROM_RESULTS.md 中的任意一项时,还要在起草大纲前生成差距报告。该报告将范例的章节结构和密度要求(来自 style_profile.md)与用户的实际素材进行对照,指出用户没有证据可填充的结构位置。/paper-write 据此决定何时输出 `` 标记,而不是捏造内容。
流程:
- 读取
$CACHE/style_profile.md,了解范例的章节列表和各章节的特征数量(图、定理、表、引用、句子数)。 - 清点用户素材:
figures/*文件名、results/*证据文件、sec/*.tex现有正文、NARRATIVE_REPORT.md、CLAIMS_FROM_RESULTS.md(如果运行过/result-to-claim)、references.bib的引用密度。 - 对范例隐含的每个章节位置(消融表、扩展实验、失败案例分析、证明块等)归类为
covered/partial/missing。 - 输出
<output-dir>/GAP_REPORT.md:
# GAP_REPORT — exemplar vs user assets
- **Exemplar source:** <source identifier (file path, arXiv ID, URL)>
- **Generated:** <UTC ISO-8601>
- **Style profile:** <relative path to style_profile.md>
## Section topology gaps
| Exemplar slot | Exemplar feature | User evidence | Status | Slot ID |
|---|---|---|---|---|
| §5 Experiments | ablation table (3 axes × 4 levels) | `results/` has no ablation file | missing | `GAP_S5_ABLATION` |
| §5.3 Scaling | log-N scaling curve | `figures/scaling.pdf` not found | missing | `GAP_S5_SCALING` |
| §6 Discussion | failure-case analysis | not present in `NARRATIVE_REPORT.md` | missing | `GAP_S6_FAILURE` |
| §2 Related | citation density ≥ 60 | `references.bib` has 35 entries | partial | `GAP_S2_CITES` |
## Coverage summary
- covered: N
- partial: M
- missing: K
## Used by
- `/paper-write` reads this file and emits `` placeholders for `missing` slots instead of fabricating content.
- `/paper-claim-audit` can use Slot IDs to flag claims that cite sections with `missing` evidence.
位置 ID 格式:GAP_<SECTION>_<FEATURE>,全部大写;除非用户素材发生变化,否则在重新生成时保持稳定。
规则(强制):
- 不得推断、填补或臆造证据来“弥补”差距。缺失就是缺失。
- 不得提出用于填补差距的具体实验命令——这是
/experiment-bridge的工作。差距报告只展示不足之处。 - 不得包含范例的正文、论点文本、作者姓名或量化数据。
- 如果
style_profile.md提取失败或用户没有项目素材,则跳过差距报告(不报错;仅不生成文件)。 - 差距报告同样受审稿隔离规则约束——绝不传递给审稿/审计子 Agent(与
style_profile.md相同)。
最初构想:@zhangpelf,见 #217。
工作流
步骤 1:提取主张与证据
首先检查 CLAIMS_FROM_RESULTS.md——如果其第一行是 verdict: REVIEW_UNAVAILABLE,则在提取主张时将该文件视为不存在(转而使用下方的叙述性文档),然后:在 — assurance: submission(shared-references/assurance-contract.md;由 — effort: max|beast 隐含指定)模式下,停止——这些主张尚未经过裁定,请先重新运行 /result-to-claim;在 assurance: draft 模式下继续,但在主张矩阵中为每条主张标记 [unadjudicated]。否则,如果该文件存在(由 Workflow 2 末尾的 /result-to-claim 生成),就以它作为主张的起点。该文件包含已验证且已映射到实验依据的主张。再与下方叙述性文档中的其他主张合并。
如果 CLAIMS_FROM_RESULTS.md 不存在,则从头提取主张:
阅读所有可用的叙述性文档并提取:
- 核心主张(3-5 项主要贡献)
- 一句话概述贡献(最能说明论文贡献的一句话)
- 每条主张的证据(涉及哪些实验、指标和图表)
- 已知弱点(来自审稿人反馈)
- 建议的表述角度(来自评审结论)
构建主张-证据矩阵:
| Claim | Evidence | Status | Section |
|-------|----------|--------|---------|
| [claim 1] | [exp A, metric B] | Supported | §3.2 |
| [claim 2] | [exp C] | Partially supported | §4.1 |
步骤 2:确定论文类型和结构
根据 TARGET_VENUE 和论文内容,分类并选择结构。
确定结构之前,先应用 ../shared-references/writing-principles.md 中的叙事原则:
- 论文应讲述一个连贯的技术故事。
- 到引言结尾时,提纲应明确说明是什么、为什么以及有何意义。
- 将最重要的内容前置:标题、摘要、引言和核心图。审稿人往往在读完全文方法之前就已形成判断。
重要:章节数量灵活(5-8 节)。选择最适合内容的结构。以下模板只是起点,并非硬性限制。
实证/诊断型论文:
1. Introduction (1.5 pages)
2. Related Work (1 page)
3. Method / Setup (1.5 pages)
4. Experiments (3 pages)
5. Analysis / Discussion (1 page)
6. Conclusion (0.5 pages)
理论 + 实验型论文:
1. Introduction (1.5 pages)
2. Related Work (1 page)
3. Preliminaries & Modeling (1.5 pages)
4. Experiments (1.5 pages)
5. Theory Part A (1.5 pages)
6. Theory Part B (1.5 pages)
7. Conclusion (0.5 pages)
— Total: 9 pages
理论论文通常需要 7 节(将理论拆分为估计 + 优化,或设定 + 分析)。总页数预算必须等于 MAX_PAGES。
理论论文应:
- 标出证明概要的位置(不能只有定理陈述)
- 规划一张对比表,比较已有理论界与本文理论界
- 确定哪些证明放入附录,哪些放在正文
方法型论文:
1. Introduction (1.5 pages)
2. Related Work (1 page)
3. Method (2 pages)
4. Experiments (2.5 pages)
5. Ablation / Analysis (1 page)
6. Conclusion (0.5 pages)
步骤 3:逐节规划
对每一节,说明:
### §0 Abstract
- **What we achieve**: [the paper's specific contribution, not field-level background]
- **Why it matters / is hard**: [why this problem is important and non-trivial]
- **How we do it**: [approach in one sentence]
- **Evidence**: [what supports the claim]
- **Most remarkable result**: [strongest quantitative or theoretical result]
- **Estimated length**: 150-250 words
- **Self-contained check**: can a reader understand this without the paper?
### §1 Introduction
- **Opening hook**: [1-2 sentences that motivate the problem]
- **Gap / challenge**: [what's missing in prior work, and why prior work is insufficient]
- **One-sentence contribution**: [the main takeaway of the paper]
- **Approach overview**: [what we do differently]
- **Key questions**: [the research questions this paper answers]
- **Contributions**: [2-4 numbered bullets, specific and falsifiable, matching Claims-Evidence Matrix]
- **Results preview**: [the strongest result or comparison to surface early]
- **Hero figure**: [describe what Figure 1 should show — MUST include clear comparison if applicable]
- **Estimated length**: 1.5 pages
- **Key citations**: [3-5 papers to cite here]
- **Front-loading check**: [would a skim reader know the main claim before reaching the method?]
### §2 Related Work
- **Subtopics**: [2-4 categories of related work]
- **Positioning**: [how this paper differs from each category]
- **Minimum length**: 1 full page (at least 3-4 paragraphs with substantive synthesis)
- **Organization rule**: organize by methodological family / assumption / question, not paper-by-paper
- **Must NOT be just a list** — synthesize, compare, and position
### §3 Method / Setup / Preliminaries
- **Notation**: [key symbols and their meanings]
- **Problem formulation**: [formal setup]
- **Method description**: [algorithm, model, or experimental design]
- **Formal statements**: [theorems, propositions if applicable]
- **Proof sketch locations**: [which key steps appear here vs. appendix]
- **Estimated length**: 1.5-2 pages
### §4 Experiments / Main Results
- **Figures planned**:
- Fig 1: [description, type: bar/line/table/architecture, WHAT COMPARISON it shows]
- Fig 2: [description]
- Table 1: [what it shows, which methods/baselines compared]
- **Data source**: [which JSON files / experiment results]
### §5 Conclusion
- **Restatement**: [contributions rephrased, not copy-pasted from intro]
- **Limitations**: [honest assessment — reviewers value this]
- **Future work**: [1-2 concrete directions]
- **Estimated length**: 0.5 pages
步骤 4:图表规划
列出所有图和表:
## Figure Plan
| ID | Type | Description | Data Source | Priority |
|----|------|-------------|-------------|----------|
| Fig 1 | Hero/Architecture | System overview + comparison | manual | HIGH |
| Fig 2 | Line plot | Training curves comparison | figures/exp_A.json | HIGH |
| Fig 3 | Bar chart | Ablation results | figures/ablation.json | MEDIUM |
| Table 1 | Comparison table | Main results vs. baselines | figures/main_results.json | HIGH |
| Table 2 | Theory comparison | Prior bounds vs. ours | manual | HIGH (theory papers) |
图 1 / 核心图至关重要:详细描述图中应包含的内容,包括:
- 比较哪些方法
- 应通过视觉差异展示什么
- 能清楚说明比较内容的图注草稿
- 为什么该图能帮助快速浏览的读者在阅读完整方法之前理解论文
步骤 5:引用框架
为每一节列出所需引用:
## Citation Plan
- §1 Intro: [paper1], [paper2], [paper3] (problem motivation)
- §2 Related: [paper4]-[paper10] (categorized by subtopic)
- §3 Method: [paper11] (baseline), [paper12] (technique we build on)
引用规则(来自 claude-scholar + Imbad0202/academic-research-skills):
- 绝不凭记忆生成 BibTeX——务必通过搜索或现有的 .bib 文件核实
- 必须核实每条引用:作者、年份、发表 venue 均须正确
- 对不确定的引用标记
[VERIFY] - 如有已发表版本,优先引用已发表版本,而非 arXiv 预印本
步骤 6:与 REVIEWER_MODEL 进行交叉评审
将完整提纲发送给 GPT-6-Astra xhigh,征求反馈:
请先解决这个审稿人槽位;以下是
backend=codex示例。
mcp__codex__codex:
model: gpt-6-astra
config: {"model_reasoning_effort": "xhigh"}
prompt: |
Review this paper outline for a [VENUE] submission.
[full outline including Claims-Evidence Matrix]
Score 1-10 on:
1. Logical flow — does the story build naturally?
2. Claim-evidence alignment — every claim backed?
3. Missing experiments or analysis
4. Positioning relative to prior work
5. Page budget feasibility (MAX_PAGES = main body to Conclusion end, excluding refs/appendix)
6. Front-matter strength — are the abstract, introduction, and hero figure plan strong enough for skim-reading reviewers?
For each weakness, suggest the MINIMUM fix.
Be specific and actionable — "add X" not "consider more experiments".
定稿前应用反馈。
步骤 7:输出
将最终提纲保存到项目根目录下的 PAPER_PLAN.md:
# Paper Plan
**Title**: [working title]
**One-sentence contribution**: [single-sentence statement of the paper's core takeaway]
**Venue**: [target venue]
**Type**: [empirical/theory/method]
**Date**: [today]
**Page budget**: [MAX_PAGES] pages (main body to Conclusion end, excluding references & appendix)
**Section count**: [N] (must match the number of section files that will be created)
## Claims-Evidence Matrix
[from Step 1]
## Structure
[from Step 2-3, section by section]
## Figure Plan
[from Step 4, with detailed hero figure description]
## Citation Plan
[from Step 5]
## Reviewer Feedback
[from Step 6, summarized]
## Next Steps
- [ ] /paper-figure to generate all figures
- [ ] /paper-write to draft LaTeX
- [ ] /paper-compile to build PDF
关键规则
- 大文件处理:如果 Write 工具因文件过大而失败,请立即改用 Bash(
cat << 'EOF' > file)分块写入。不要征求用户许可,直接静默处理。 - 不要生成作者信息——作者信息块留作占位符或匿名
- 如实说明证据缺口——将相关主张标记为“需要实验”,不要夸大
- 页数预算不可超出——如果内容超过 MAX_PAGES,请建议将哪些内容移至附录
- MAX_PAGES 的计数方式因投稿场合而异——ML 会议:正文计算至结论结束,不计参考文献和附录;AAAI 主会通常为 7 页技术内容,另加参考文献。IEEE 投稿场合:参考文献计入页数限制。
- 遵循投稿场合的规范——ML 会议(ICLR/NeurIPS/ICML)使用
natbib(\citep/\citet);IEEE 投稿场合使用cite包(\cite{},数字样式) - 主张—证据矩阵是核心——每项主张都必须对应证据,每项实验都必须支持某项主张
- 开篇即呈现核心思路——在读者看到完整方法前,大纲应通过标题、摘要、引言和核心图明确说明贡献
- 图示需要详细描述——尤其是核心图,必须明确说明对比内容和预期视觉效果
- 章节数量灵活——根据论文类型设置 5-8 个章节。不要强行套用固定的 5 章模板。
致谢
大纲方法受到 Research-Paper-Writing-Skills(主张—证据映射)、claude-scholar(引文核验)和 Imbad0202/academic-research-skills(主张核验流程)的启发。此混合包中的写作框架补充内容改编自 Orchestra Research 的论文写作指南。
输出协议
所有输出文件均遵循以下通用协议: