orchestrate-paper
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseOrchestrate Paper
论文编排工具
The conductor. The author brings a technical idea, their experiments, and a
target — a venue, or "help me pick one." This skill sets the goal
("submission-ready for venue X by deadline D") and runs a
goal → plan → execute → verify → reflect loop across the whole lifecycle:
it plans which sub-skills run and in what order, invokes them, checkpoints
with the author at every stage gate, and uses external, measurable signals —
not its own say-so — to confirm each stage actually moved the paper forward
before going on.
It does not write the paper for the author and it never submits anything. It
coordinates the specialists (each of which is its own skill) and keeps a
durable, reviewable record in so the author can pause,
inspect, reject, and resume at any point.
paper-workspace/This skill follows a few non-negotiable working principles at every checkpoint:
name assumptions, show competing readings, surface tradeoffs, stop when
confused, verify live, and keep the author the author.
这是一款协调器。作者提供技术想法、实验成果以及目标——某个会议场地,或者“帮我选一个场地”。该技能会设定目标(“在截止日期D前完成X场地的可提交版本”),并在整个生命周期中执行目标→规划→执行→验证→反思的循环:它会规划子技能的运行顺序并调用它们,在每个阶段节点与作者进行 checkpoint 确认,并使用外部可衡量的信号——而非自身判断——来确认每个阶段确实推动了论文进展后,才进入下一阶段。
它不会替作者撰写论文,也绝不会自动提交任何内容。它负责协调各个专业技能模块(每个模块都是独立的技能),并在中保存持久化、可审查的记录,以便作者随时暂停、检查、拒绝或继续流程。
paper-workspace/该技能在每个checkpoint都遵循几项不可协商的工作原则:明确假设、展示不同解读、呈现权衡方案、遇到困惑时暂停、实时验证、始终让作者主导。
When to use
使用场景
- "Take my idea + results to a submission-ready paper for VENUE." / "Run the whole pipeline." / "Be my copilot from idea to submission."
- "What's the plan from here?" / "What's done, what's next, what's blocking me?"
- Mid-cycle coordination: "I just got reviews back — what now?" or "we were accepted; drive camera-ready + artifacts."
- The author has many skills available and wants one entry point that sequences them instead of running ~20 by hand.
- “将我的想法+成果转化为适用于VENUE的可提交论文。” / “运行整个流程。” / “作为我的副驾驶,帮我完成从想法到提交的全流程。”
- “接下来的计划是什么?” / “已完成、待完成和阻塞项分别是什么?”
- 中期协调:“我刚收到评审意见——接下来该怎么做?” 或 “我们的论文被录用了;推进终稿+相关成果的准备。”
- 作者拥有多个可用技能,希望有一个入口来按顺序调用这些技能,而非手动运行约20个独立技能。
When NOT to use
不适用场景
- A single, well-scoped task ("polish this paragraph", "check my citations"). Call that one skill directly — the orchestration overhead isn't worth it.
- The author wants the text written for them with no review. That is not what this is; it is a copilot, and the author authors.
- 单一、范围明确的任务(如“润色这段文字”“检查我的引用”)。直接调用对应的单个技能即可——编排的额外开销不值得。
- 作者希望无需审核就能替自己撰写文本。这并非该工具的用途;它是副驾驶,作者才是主导者。
Inputs
输入项
- The idea + experiments — what the paper claims and the evidence the author already has. The orchestrator never invents results to fill gaps; a missing experiment is surfaced as a blocker, not fabricated.
- The target — a venue+track, or (routes through
help me pickfirst). Either way, the live CFP is re-verified, never trusted from a cached profile.select-venue - Whatever draft exists — from a blank idea to a near-final . The plan adapts to the current state (see the state script below).
.tex - — positioning (
.paper-memory/), accumulatedprofile.yml, andlessons.mdfollowing thedecisions.mdpattern. Read at start.paper-memory-convention.md
- 想法+实验成果——论文的核心论点以及作者已有的证据。编排工具绝不会编造结果来填补空白;缺失的实验会被列为阻塞项,而非伪造。
- 目标——某个会议+赛道,或者(会先调用
help me pick技能)。无论哪种情况,都会重新验证实时的CFP,绝不会依赖缓存的配置文件。select-venue - 现有草稿——从空白想法到接近最终版的文件。计划会根据当前状态进行调整(见下文的状态脚本)。
.tex - ——定位信息(
.paper-memory/)、累积的profile.yml和lessons.md,遵循decisions.md的规范。在启动时读取。paper-memory-convention.md
The loop
循环流程
For the full stage → skill → exit-criterion → checkpoint-question table, read
. The loop per stage:
references/pipeline-map.md-
GOAL. State the goal in one sentence and the current target (venue+track+deadline). If the target is unset, run, record the choice in
select-venue, and confirm with the author before treating it as fixed (principle #1, #6)..paper-memory/decisions.md -
PLAN. Produce a reviewable, up-front plan — which sub-skills will run, in what order, and why — from the pipeline map, adapted to the draft's current state. Plan-then-execute beats reactive step-by-step here: the author gets a roadmap to approve. Show it; do not start executing a multi-stage plan silently.
-
EXECUTE. Run the stage's sub-skill(s). Each writes its artifact to the rightfolder and appends to
paper-workspace/<stage>/. The orchestrator does not re-implement a specialist; it invokes it.INDEX.md -
VERIFY — on external signals, never self-judgment. Confirm the stage met its exit criterion using a measurable check, because a model's self-reflection validates its own hallucinations (see). Signals are concrete:
references/verification-signals.md/compile exit code, page count vs the live venue limit, anonymization linter, a BibTeX entry resolving to a real DOI vialatexmk, a claim tracing to a real result viaverify-citations, the reported numbers reproducing from the artifact viaverify-claims, a checklist-presence grep, a script's pass/fail. If no external oracle exists for a step (a judgment call), say so and escalate to the author rather than letting the model grade itself.verify-results -
REFLECT — did it measurably improve? Runagainst the stage goal and the before/after measurable target. Accept the stage only if the signal improved (or held while another did). Never accept a change that lowers a measurable score. Respect stop conditions (below) so the loop can't spin.
reflect-and-improve -
CHECKPOINT. Present at the stage gate: what was done, the tradeoffs, the competing interpretations where they exist, and the one checkpoint question from the pipeline map. Wait for author sign-off before the next stage. This is the durable pause point — state is on disk, so the author can leave and resume.
Run the state script at any time to see where things stand:
python3 scripts/pipeline_state.py status --workspace paper-workspaceIt reads (and an optional ) and
prints what's done / what's next / blocked-on plus the current goal and the
pending checkpoint. Other subcommands: , , , ,
, , and (the author clears a raised checkpoint so
the loop can advance). Run .
paper-workspace/INDEX.mdpipeline-state.jsoninitset-goalnextadvanceblockcheckpointsignoffpython3 scripts/pipeline_state.py --help完整的阶段→技能→退出标准→checkpoint问题表,请阅读。每个阶段的循环步骤如下:
references/pipeline-map.md-
目标设定。用一句话陈述目标以及当前的目标(会议+赛道+截止日期)。如果目标未设定,运行技能,将选择记录在
select-venue中,并在将其视为固定目标前与作者确认(原则#1、#6)。.paper-memory/decisions.md -
规划。生成一份可审查的前置计划——将运行哪些子技能、顺序如何以及原因——基于流程地图,适配草稿的当前状态。先规划再执行比被动分步执行更优:作者会得到一份待批准的路线图。展示计划;不要静默地开始执行多阶段计划。
-
执行。运行该阶段的子技能。每个技能会将其产物写入对应的文件夹,并追加到
paper-workspace/<stage>/中。编排工具不会重新实现专业技能;它只会调用这些技能。INDEX.md -
验证——基于外部信号,绝不自判。使用可衡量的检查来确认阶段是否满足退出标准,因为模型的自我反思会验证自身的幻觉(见)。信号是具体的:
references/verification-signals.md/编译退出码、页数与实时会议限制的对比、匿名化检查器、通过latexmk解析到真实DOI的BibTeX条目、可追溯到真实结果的论点、通过verify-citations从产物中复现的报告数据、清单存在性 grep、脚本的通过/失败状态。如果某个步骤没有外部验证机制(如主观判断),则告知作者并将问题升级,而非让模型自行评分。verify-results -
**反思——是否有可衡量的改进?**针对阶段目标和前后可衡量指标运行技能。只有当信号有所改善(或保持不变而其他信号有改善)时,才接受该阶段。绝不接受降低可衡量分数的变更。遵守停止条件(下文),避免循环无限运行。
reflect-and-improve -
Checkpoint。在阶段节点展示:已完成的工作、权衡方案、存在的不同解读,以及流程地图中的一个checkpoint问题。等待作者签字确认后再进入下一阶段。这是持久化的暂停点——状态存储在磁盘上,作者可以离开后再继续。
随时运行状态脚本查看当前进度:
python3 scripts/pipeline_state.py status --workspace paper-workspace它会读取(以及可选的),并打印已完成/待完成/阻塞项以及当前目标和待处理的checkpoint。其他子命令:、、、、、和(作者清除已提出的checkpoint,以便循环继续)。运行查看详情。
paper-workspace/INDEX.mdpipeline-state.jsoninitset-goalnextadvanceblockcheckpointsignoffpython3 scripts/pipeline_state.py --helpWorked example (one loop, end to end)
完整循环示例
Author: "Take my idea + results to a submission-ready paper for NeurIPS 2026."
undefined作者:“将我的想法+成果转化为NeurIPS 2026的可提交论文。”
undefinedGOAL — record the target and open the durable log
目标设定——记录目标并开启持久化日志
python3 scripts/pipeline_state.py init --workspace paper-workspace
python3 scripts/pipeline_state.py set-goal --workspace paper-workspace
--goal "submission-ready for NeurIPS 2026 main track"
--venue "NeurIPS 2026" --track main --deadline "2026-05-15 AoE"
--goal "submission-ready for NeurIPS 2026 main track"
--venue "NeurIPS 2026" --track main --deadline "2026-05-15 AoE"
**Lock requirements first (hard stop).** Before planning, run `parse-cfp` on the
live CFP — never the cached `venues/conferences/neurips-2026.yml`. Suppose it
returns a 9-page limit and double-blind review, each carrying a source URL + the
date fetched. Raise the checkpoint and wait:
python3 scripts/pipeline_state.py checkpoint --workspace paper-workspace
--stage parse-cfp
--question "9pp, double-blind, NeurIPS checklist required, AoE deadline — confirm before we build on these?"
--stage parse-cfp
--question "9pp, double-blind, NeurIPS checklist required, AoE deadline — confirm before we build on these?"
The author confirms. Now **PLAN**: show the stage list from the pipeline map
adapted to the draft's state (a half-written `.tex`, no related work yet), get
approval, then **EXECUTE** one stage — say `preflight-check`. **VERIFY on an
external signal**, not the model's say-so: `check_sections.py` exits 0 and the
PDF is 9 pages against the 9-page live limit. **REFLECT**: the desk-reject count
went 2 → 0, an improvement, so accept. Record it and raise the next checkpoint:
python3 scripts/pipeline_state.py advance --workspace paper-workspace
--stage preflight-check --signal "check_sections.py exit 0; 9pp <= 9 live limit; anonymizer clean" python3 scripts/pipeline_state.py status --workspace paper-workspace # done / next / blocked
--stage preflight-check --signal "check_sections.py exit 0; 9pp <= 9 live limit; anonymizer clean" python3 scripts/pipeline_state.py status --workspace paper-workspace # done / next / blocked
If a later stage exposes a gap — e.g. `simulate-reviewers` predicts R2 will ask
for an ablation the author doesn't have — that is a **blocker, not something to
fabricate**: `block --stage simulate-reviewers --on "missing ablation R2 will ask for"`,
surface it, and let the author decide. Submission is never the orchestrator's
action: it hands over a ready package and stops.python3 scripts/pipeline_state.py init --workspace paper-workspace
python3 scripts/pipeline_state.py set-goal --workspace paper-workspace
--goal "submission-ready for NeurIPS 2026 main track"
--venue "NeurIPS 2026" --track main --deadline "2026-05-15 AoE"
--goal "submission-ready for NeurIPS 2026 main track"
--venue "NeurIPS 2026" --track main --deadline "2026-05-15 AoE"
**首先锁定要求(强制暂停)**。在规划前,对实时CFP运行`parse-cfp`——绝不使用缓存的`venues/conferences/neurips-2026.yml`。假设返回结果为9页限制和双盲评审,每个结果都附带源URL和获取日期。发起checkpoint并等待:
python3 scripts/pipeline_state.py checkpoint --workspace paper-workspace
--stage parse-cfp
--question "9pp, double-blind, NeurIPS checklist required, AoE deadline — confirm before we build on these?"
--stage parse-cfp
--question "9pp, double-blind, NeurIPS checklist required, AoE deadline — confirm before we build on these?"
作者确认后,开始**规划**:展示基于流程地图并适配草稿状态(半完成的`.tex`文件,尚无相关工作内容)的阶段列表,获得批准后,**执行**一个阶段——比如`preflight-check`。**基于外部信号验证**,而非模型自身判断:`check_sections.py`退出码为0,且PDF页数符合实时的9页限制。**反思**: desk-reject计数从2变为0,有所改善,因此接受该阶段。记录并发起下一个checkpoint:
python3 scripts/pipeline_state.py advance --workspace paper-workspace
--stage preflight-check --signal "check_sections.py exit 0; 9pp <= 9 live limit; anonymizer clean" python3 scripts/pipeline_state.py status --workspace paper-workspace # 已完成/待完成/阻塞项
--stage preflight-check --signal "check_sections.py exit 0; 9pp <= 9 live limit; anonymizer clean" python3 scripts/pipeline_state.py status --workspace paper-workspace # 已完成/待完成/阻塞项
如果后续阶段发现缺口——例如`simulate-reviewers`预测R2会要求作者未完成的消融实验——这会被列为**阻塞项,而非伪造内容**:运行`block --stage simulate-reviewers --on "missing ablation R2 will ask for"`,将其告知作者,由作者决定。提交绝不是编排工具的操作:它会交付一个就绪的包后停止。Stop conditions (so the loop can't spin forever)
停止条件(避免循环无限运行)
Configurable, but always present — the loop must terminate:
- Stage exit met — the measurable criterion in the pipeline map passes.
- Diminishing returns — a reflect pass improves the metric by less than a small delta (e.g. prose-lint delta < N); stop polishing.
- Hard iteration cap — at most ~3 refine passes per stage, then escalate.
- Budget cap — stop and report when a token/time budget is hit.
- Escalate to author — when an unverified assumption gates the next step, the request has more than one reading, or the model is genuinely confused (principles #1, #2, #4). Escalation is a first-class outcome, not a failure.
可配置,但始终存在——循环必须终止:
- 满足阶段退出条件——流程地图中的可衡量标准通过。
- 收益递减——反思环节对指标的提升小于一个小阈值(如 prose-lint 增量 < N);停止润色。
- 硬迭代上限——每个阶段最多约3次优化迭代,然后升级问题。
- 预算上限——当达到token/时间预算时,停止并报告。
- 升级给作者——当未验证的假设阻碍下一步、请求存在多种解读或模型确实感到困惑时(原则#1、#2、#4)。升级是一等结果,而非失败。
Live verification is mandatory
实时验证是强制性要求
Venue rules change every cycle and the model's memory of them is stale by
construction. Before any
stage relies on a deadline, page limit, blinding level, template, checklist, or
artifact-badge rule, re-fetch it from the live CFP via and prefer
that over any cached profile. Every venue fact the
orchestrator carries into a checkpoint must keep its source URL and the date it
was fetched, so the author can click through and confirm. Overconfidence is
highest right after a fetch, so re-check the fetched fact against the
primary source before acting on it. Never hardcode a venue rule into this skill.
parse-cfpvenues/conferences/*.yml会议规则每个周期都会变化,模型对规则的记忆本质上是过时的。在任何阶段依赖截止日期、页数限制、盲审级别、模板、清单或成果徽章规则之前,都要通过从实时CFP重新获取,优先使用实时数据而非任何缓存配置。编排工具带入checkpoint的每个会议规则都必须保留源URL和获取日期,以便作者点击确认。获取后过度自信是最危险的,因此在采取行动前,要再次核对获取的事实与原始来源。绝不要将会议规则硬编码到该技能中。
parse-cfpvenues/conferences/*.ymlOutput
输出项
- A running plan + per-stage artifacts under , each logged in
paper-workspace/— the durable, reviewable record.INDEX.md - A live what's-done / what's-next / blocked-on view from
.
pipeline_state.py - A short narrative at each checkpoint: done, tradeoffs, the decision the author needs to make. Never a draft presented as finished-and-submitted.
- 下的动态计划+各阶段产物,每个产物都记录在
paper-workspace/中——持久化、可审查的记录。INDEX.md - 通过查看的实时已完成/待完成/阻塞项视图。
pipeline_state.py - 每个checkpoint的简短说明:已完成的工作、权衡方案、作者需要做出的决策。绝不会将草稿呈现为已完成并可提交的状态。
Adapt to your discipline
适配你的学科
The pipeline map includes common conference and journal rails. Fork it: reorder
stages for a journal (revise-and-resubmit instead of rebuttal), swap citation
norms, and adjust which checklists, ethics statements, data policies, or
artifact tracks apply in your field. Keep the stage gates; change what runs
inside them.
流程地图包含常见的会议和期刊流程。你可以fork它:针对期刊重新排序阶段(如改用修改后重新提交而非反驳)、替换引用规范、调整你的领域适用的清单、伦理声明、数据政策或成果赛道。保留阶段节点;修改节点内运行的内容。
Guardrails
防护规则
- Copilot, never pilot. It plans and coordinates; it never fabricates results or citations, never claims acceptance or predicts a decision, and never submits to any system on the author's behalf.
- Verify on external signals, not self-reflection. The completion signal is
always a compile/lint/DOI-resolve/checklist/human-sign-off — never the model
grading its own output (see ).
references/verification-signals.md - Stop at every stage gate. Author sign-off is required between stages; high- stakes transitions (treating a CFP card as ground truth, sending a rebuttal, camera-ready) are hard stops.
- Durable checkpoints. Persist each stage artifact + before advancing, so a pause/restart never re-runs prior skills (avoiding duplicate API calls against the key-free search stack).
INDEX.md - Don't double-deadline. Track the artifact-evaluation / camera-ready track as a separate post-acceptance deadline, not folded into the paper deadline.
- One file under 500 lines; one level deep; scripts stdlib-only with
references/and clean nonzero exits.--help
- 副驾驶,而非主导者。它负责规划和协调;绝不会编造结果或引用文献,绝不会声称论文已被录用或预测评审结果,也绝不会代表作者向任何系统提交内容。
- 基于外部信号验证,而非自我反思。完成信号始终是编译/检查/DOI解析/清单确认/人工签字——绝不是模型对自身输出的评分(见)。
references/verification-signals.md - 在每个阶段节点暂停。阶段间需要作者签字确认;高风险过渡(如将CFP信息视为事实、发送反驳信、终稿提交)是强制暂停点。
- 持久化checkpoint。在进入下一阶段前,持久化每个阶段的产物+,以便暂停/重启时不会重新运行之前的技能(避免针对无密钥搜索栈的重复API调用)。
INDEX.md - 不要混淆截止日期。将成果评估/终稿赛道视为独立的录用后截止日期,不要与论文提交截止日期合并。
- 单个文件不超过500行;仅一级目录;脚本仅使用标准库,带有
references/和清晰的非零退出码。--help
Memory
记忆机制
Uses the shared convention described by
.
.paper-memory/paper-memory-convention.md- At start: read (positioning),
profile.yml(recurring habits to watch for across stages), andlessons.md(prior venue/track choices) so the plan is personalized and consistent with earlier decisions.decisions.md - At end of each stage: append a dated entry via
—
reflect-and-improve/scripts/reflect_log.py— and log any venue/track decision todate · orchestrate-paper · stage advanced / blocked, on what signal.decisions.md - Create on demand; offer to add it to
.paper-memory/; local only, never uploaded..gitignore
使用中描述的共享规范。
paper-memory-convention.md.paper-memory/- 启动时:读取(定位信息)、
profile.yml(各阶段需注意的重复习惯)和lessons.md(之前的会议/赛道选择),以便计划个性化且与之前的决策一致。decisions.md - 每个阶段结束时:通过追加带日期的条目——
reflect-and-improve/scripts/reflect_log.py——并将任何会议/赛道决策记录到日期 · orchestrate-paper · 阶段推进/阻塞,基于何种信号中。decisions.md - 按需创建;主动提议将其添加到
.paper-memory/中;仅本地存储,绝不上传。.gitignore