A research writing state machine inspired by autonovel (state machine + scoring), professor (dynamic experts), brainstorming (entry-point questioning), and anti-AI-writing (language cleanup).Not a generic "help me write a paper" prompt.
researchwrite is a trigger name retained for compatibility with existing installations; the repository directory name remains
nature-proposal-writer. Do not modify the frontmatter name without a migration plan. When initializing templates, loading reference materials conditionally, or running export scripts, first read manifest.yaml, and load only the paths matching the current conditions.
Core Principles
- Evidence before text — before drafting, you must establish or read
research_canonandevidence_table - Argument before sections — before writing the body, you must complete
argument_map - Contract before paragraphs — each section needs purpose / allowed claims / forbidden claims / inputs / validation
- Scope before completeness — if writing in stages, lock down stage boundaries first
- Dynamic experts, no fixed pool — use
professorto summon the corresponding expert by failure mode - Content before language — diagnose the scientific logic before doing anti-slop / language polishing
- Never auto-upgrade facts — never change "may indicate" to "proves" unless there is evidence to support it
- Deletion over explanation — when a claim is untenable, delete it outright. Keep the body clean; leave explanations for the defense
- Stop when you should stop — plateaus, expert conflicts, and missing evidence are reasons to stop, not reasons to polish
Mode Dispatch
| Input | Mode |
|---|---|
| Topic, direction, vague idea | compose — load references/compose-mode.md |
| Existing paragraphs/sections/complete proposal | revise — load references/revise-mode.md |
| Existing draft + expansion/supplementation/restructuring | hybrid — load references/hybrid-mode.md |
When ambiguous, infer the default mode. Only ask the user when the choice would change the workflow.
Project Structure
Working directory:<outputs>/researchwrite/<project-slug>/
Standard files:
00_scope.md 写作任务边界
01_research_canon.md 硬事实和约束
02_evidence_table.md claim → evidence 映射表
03_argument_map.md 论证架构
04_section_contracts.md 每节的 purpose / inputs / allowed & forbidden claims
05_style_guide.md 风格、术语、禁用表达
state.json 项目状态(mode、round、scores、technical_debts)
sources/ 用户材料、文献、数据
drafts/ 草稿和分节文件
revision_briefs/ 修订简报
qa_logs/ 诊断、专家审查、anti-slop、打分记录
exports/ 最终输出(.md + .docx)
When creating a new project, fetch blank templates from manifest.yaml according to the templates.on_demand route in templates/ .
references/worked-example-quaternary-proposal.md provides a complete filled-in example based on the general materials science domain.
Reference File Index
Load complete references as needed for the task; do not inject all files at once:
| Reference | When to load |
|---|---|
references/compose-mode.md |
Mode = compose (9-step process) |
references/revise-mode.md |
Mode = revise (9-step process) |
references/hybrid-mode.md |
Mode = hybrid |
references/evaluation-rubric.md |
When using the 8-dimension × 4-anchor scoring system |
references/research-anti-slop.md |
When cleaning up templated and vague expressions in a Chinese proposal |
references/chinese-review-writing-style.md |
When writing or revising a Chinese review |
references/stopping-rules.md |
When deciding whether to continue iterating, split the scope, or stop |
references/professor-dispatch.md |
When dispatching dynamic experts by failure mode |
references/foundation-files.md |
When establishing or repairing the five foundation files |
references/project-structure.md |
When initializing the project directory or maintaining state.json when |
references/export-archive.md |
when exporting and archiving .md / .docx when |
references/partial-proposal-scope.md |
when writing in stages and preventing scope creep |
references/ref-renumbering-cascade.md |
when handling reference additions/deletions and numbering cascades |
references/review-paper-framework.md |
when designing the framework of a review paper |
references/review-critique-methodology.md |
when establishing the critical analysis of a review |
references/validation-checklist.md |
when automatically checking claims, citations, numbering, and reproducibility |
references/gpt-handoff-revision-brief.md |
when generating a cross-agent revision handoff brief |
references/within-approved-proposal.md |
when expanding within an approved proposal framework |
references/worked-example-quaternary-proposal.md |
when you need to view complete foundation file completion examples |
references/降承诺提案模式.md |
when evidence is insufficient and the strength of claims needs to be reduced |
Run delivery
At the end of each run, output:
- Current file path or revised text
- Current score/status
- Remaining risks
- One suggested next step
QA Mode — Four-Layer Quality Assurance Pipeline
When the user says "review this section/run QA/check the plan/run the pipeline", enter QA mode.
Context Tiers
| Tier | Applicable Scenarios | Threshold |
|---|---|---|
paper |
Submission paper | 7.0 |
proposal |
Research proposal/opening report | 7.0 |
internal |
Internal report/weekly report | 5.0 |
quick |
Quick scan | None |
Pipeline order (content before language)
Gate 2: professor Convener(内容层)
├── 论文 → 方法论专家 + 领域专家
├── proposal → 可行性专家 + 创新性专家
└── 文献综述 → 覆盖面专家 + 批判深度专家
│
▼
Gate 1: avoid-ai-writing 模式 detect-only
└── 只对英文有效,中文跳过或降级为手工扫读
│
▼
Gate 3: auto-validation(格式/完整性层)
└── 每个 claim 有 citation?方法可复现?编号连续?
│
▼
Gate 4: 评分阈值(分维度打分)
├── 总分≥阈值 → 通过 ✅
└── 总分<阈值 → 按低分维度定向回退(不超过 3 轮)
Gate 2 before Gate 1 — avoids being sent back for rewriting by experts after revising sentences.
How to Use
用户: "用 researchwrite 审查这段 discussion,paper 挡位"
→ 自动走 Gate 2 → Gate 1 → Gate 3 → Gate 4
→ 返回审查报告 + 定向修改建议
用户: "快速扫一下这个邮件"
→ 走 quick 挡位,只标记 P0 问题
Configure your research domain
On first use, tell the agent your research background, and the agent will call professor to build domain expert knowledge. In subsequent writing, expert review will be based on your domain.