Academic Paper Writer 是面向 CS / AI / ML 论文写作场景的 模块化、证据驱动 的 Agent Skill 集合。
这不是一个简单的一次性生成整篇论文的 prompt,而是一套工程化写作系统: 先把论文拆成多个可独立验证的环节,按证据审计 → 文献检索 → 实验复核 → 起草 → 质量门 → 验证的闭环逐节推进。每个环节都设硬门控,证据不足就阻塞或降级,绝不硬写。
核心思想在于将各位researcher从枯燥的论文写作中解放出来,将更多的时间与经历投入到对于论文/模型创新点的思考与设计当中。
💬 反馈与改进
🚧 开发进度
| Skill | 角色 | 用途 | 典型触发词 |
|---|---|---|---|
| 🧠 academic-paper-writer | 核心编排器 | 完整论文起草、section loop、Hard Gates、子 skill 调度 | 写论文、paper draft |
| 🔍 academic-citation | 文献取证 | 文献检索、核验、Citation-to-Claim 映射、本地文献库优先搜索、subagent 全文阅读、Exemplar Set | 找引用、citation pass |
| 🔬 academic-experiments | 实验取证 | 实验证据盘点、最小可复核执行、协议风险审计 | 复核实验、verify results |
| ✅ academic-reviser | 审稿人 | 证据审查、三轮自审、Verification 判定 | 审修、self review |
| ✨ academic-polishing | 文体打磨 | Prose Quality Gate、Claim Strength Audit、去 AI 化 | 润色、claim strength |
| 📊 academic-figure | 数据图生成 | 实验数据图(Python 代码)、图表审查与修改;架构图只记录手工绘制需求 | 绘图、训练曲线、消融实验 |
| 🏛️ academic-venue-research | 期刊调研 | 调研目标 venue 投稿要求与写作风格,产出标准化 Venue Brief | 期刊调研、venue research、投稿要求 |
| 📐 academic-latex-layout | latex排版 | 学术论文 LaTeX 布局、图表浮动体放置、模板适配与布局修复(独立调用) | LaTeX 布局、float placement、layout repair |
选项 A:开发版(自动更新)
使用 main 分支,每次启动 Claude Code 自动获取最新版本。
# 1. 添加 marketplace(main 分支)
/plugin marketplace add joshua-zyy/academic-paper-writer
# 2. 安装插件
/plugin install academic-paper-writer@academic-paper-writer
💡 自动更新:main 分支版本无需手动更新,每次启动 Claude Code 会自动检测并同步最新代码。
选项 B:稳定版(手动更新)
使用 stable 分支,只获取经过测试的稳定版本。
# 1. 添加 marketplace(stable 分支)
/plugin marketplace add joshua-zyy/academic-paper-writer@stable
# 2. 安装插件
/plugin install academic-paper-writer@academic-paper-writer
⚠️ 手动更新:稳定版需要手动执行更新命令:
/plugin update academic-paper-writer@academic-paper-writer
版本对比
| 版本 | 分支 | 更新方式 | 适用场景 |
|---|---|---|---|
| 开发版 | main |
自动更新 | 开发者、早期用户、想要最新功能 |
| 稳定版 | stable |
手动更新 | 生产环境、稳定性要求高的用户 |
安装后可用命令
/academic-paper-writer- 完整论文工作流/academic-citation- 文献检索与核验/academic-experiments- 实验复核/academic-reviser- 审稿验证/academic-polishing- 文体打磨/academic-figure- 图表生成/academic-venue-research- 期刊调研/academic-latex-layout- LaTeX 布局与浮动体放置
选项 A:开发版(main 分支)
# 克隆到用户级目录(推荐)
git clone https://github.com/joshua-zyy/academic-paper-writer.git ~/.agents/skills/academic-paper-writer
选项 B:稳定版(stable 分支)
# 克隆 stable 分支到用户级目录
git clone -b stable https://github.com/joshua-zyy/academic-paper-writer.git ~/.agents/skills/academic-paper-writer
选项 C:指定版本(tag)
# 克隆特定版本
git clone -b v1.0.0 https://github.com/joshua-zyy/academic-paper-writer.git ~/.agents/skills/academic-paper-writer
更新插件
# 进入 skill 目录
cd ~/.agents/skills/academic-paper-writer
# 拉取最新代码(main 分支)
git pull
# 或切换到 stable 分支
git checkout stable
git pull
# 或切换到特定版本
git checkout v1.0.0
版本对比
| 版本 | 分支/标签 | 更新方式 | 适用场景 |
|---|---|---|---|
| 开发版 | main |
git pull |
开发者、早期用户 |
| 稳定版 | stable |
git pull |
生产环境 |
| 指定版本 | v1.0.0 等 |
手动切换 | 需要锁定版本 |
git clone https://github.com/joshua-zyy/academic-paper-writer.git
在支持 Skill 机制的 Agent 平台中加载对应 SKILL.md:
| 场景 | 加载方式 |
|---|---|
| 📄 完整论文工作流 | 加载 skills/academic-paper-writer/SKILL.md |
| 🎯 单一专项任务 | 直接加载对应子 skill 的 SKILL.md |
本项目本身不依赖额外 Python 包或 Node 运行时,主要内容是 skill 文档、reference、schema 和辅助脚本。
可选依赖
以下 Python 脚本为可选工具,按需安装:
| 脚本 | 用途 | 依赖 |
|---|---|---|
skills/academic-citation/scripts/convert-pdfs-to-md.py |
将本地 PDF 文献转换为 Markdown(默认使用 MinerU API,含图片提取与索引生成) | Python 3.10+, MinerU API Token |
scripts/check_schemas.py |
验证跨技能 schema 一致性 | Python 3.12+ |
3. 准备输入材料
越完整的输入,skill 的表现越稳定:
推荐模型
| 模型 | 说明 |
|---|---|
| 🚀 gpt-5.5 | anyRouter中提供免费的api,需要使用vpn+教育邮箱/linux do账号注册,地址: https://anyrouter.top/register?aff=hZXa |
| 🚀 claude-4.8 | agentRouter中提供免费的api,需要使用github账号注册,地址: https://agentrouter.org/register?aff=Wpuc |
| 🚀 DeepSeek V4 Flash | token价格低,且是推理模型支持1m上下文,可以用于测试skill效果,缺点是无多模态能力 |
推荐 Agent 平台
| 平台 | 安装方式 | 更新方式 | 说明 |
|---|---|---|---|
| ⚡ OpenCode | git clone 到 ~/.agents/skills/ |
手动 git pull |
强烈推荐,对于本skill多智能体派发编排最适配,开源 Agent 平台,灵活可扩展 |
| 🤖 Claude Code | /plugin marketplace add + /plugin install |
自动更新(main分支)或手动 /plugin update |
Anthropic 官方 CLI 工具,原生支持 Skill 机制,推荐使用 |
| 🔧 Codex CLI | git clone 到 ~/.agents/skills/ |
手动 git pull |
OpenAI 代码助手,支持多种编程任务 |
💡 提示:使用支持 Skill 机制的 Agent 平台可获得最佳体验,其他平台也可通过加载 SKILL.md 文件使用本项目。
🔍 证据优先,逐节闭环
每一节经历固定闭环,不允许跳过任何环节:
┌─────────────────────────────────────────────────────────────┐
│ 逐节闭环(每节必须经历) │
│ │
│ ✏️ Draft v1 → 📌 占位符审计 → ⚖️ 证据合规审查 │
│ → ✨ Prose Gate → 📏 Expansion → ✅ Self-Review │
│ → Verification │
│ │ │
│ ├── passed ▶️ 推进下一节 │
│ └── failed 🔁 回到 ⚖️ 证据合规审查 重来 │
└─────────────────────────────────────────────────────────────┘
- 初稿可以带占位符,但占位符必须被记录、审计和追踪
Verification未通过时不能假装通过
🧩 Core + Subskills 架构
核心编排器负责:判断任务模式 → 确认 venue/language → 组织 section queue → 维护 cumulative draft → 吸收子 skill 的专项结果。
| Core 环节 | 委托 Skill | 处理方式 |
|---|---|---|
| 🏛️ 目标 Venue 调研 | academic-venue-research |
dispatch 子 Agent |
| 🔍 文献检索与核验(含本地文献库优先 + subagent 全文阅读) | academic-citation + literature-reader-agent |
dispatch 子 Agent |
| 🔬 实验证据复核 | academic-experiments |
dispatch 子 Agent |
| 📊 数据图 / 实验结果图 | academic-figure |
dispatch 子 Agent |
| ✨ Prose Quality Gate | academic-polishing |
内化调用(主 Agent 自行执行) |
| ✅ 证据审查与 Verification | academic-reviser |
dispatch 子 Agent |
设计原则:主 Agent 直接撰写论文正文,确保叙事风格一致。子 Agent 仅提供工具型专项输出,不得直接修改 Cumulative Draft。
🚧 Hard Gates + 数据契约
五个不可跳过的基础关卡:
| Gate | 触发位置 | 核心条件 | 失败处理 |
|---|---|---|---|
| 🏛️ E:Venue 调研 | Step 1 → Step 5 | 若用户提供本地 PDF 文献库,Step 2 已验证 MD 目录;venue 确认后必须完成 Step 4 并生成 venue-brief.md | 阻塞,不得进入 Step 5 |
| 🔬 A:证据完备 | Step 5 → Step 9 | 至少一条可引用证据(newly_run 或 preexisting_artifact) |
降级路径或阻塞 |
| 📖 B:当前节引用就绪 | Step 6 → Step 9 | 当前 section 的关键 claims 有 VERIFIED 引用、Citation-to-Claim Map、项目证据或显式 [REF_NEEDED] debt |
Intro/RW 阻塞;Method/Results 可带记录的 debt |
| 🚪 C:Verification | Step 9.8 → Step 10 | 所有 hard debt 闭合 + thin_draft=no |
passed/blocked/failed |
| 📚 D:全文引用数量 | Step 11 → 输出 | 全文去重引用 >= min_citations |
未达标时提醒,可补充后重检 |
跨 skill 之间通过显式 数据契约 交换信息:
📦 Evidence Inventory # 实验证据盘点 → academic-experiments → orchestrator
✅ Verified References # 核验文献清单 → academic-citation → orchestrator
📖 LiteratureReadingReport # 文献阅读报告 → literature-reader-agent → orchestrator
📋 Verification Report # 验证状态报告 → academic-reviser → orchestrator
🗺️ Citation-to-Claim Map # 引用-主张映射 → academic-citation → orchestrator
┌──────────────────────────────────────────────────────────────────────────┐
│ 编排器核心工作流 │
│ │
│ 🎯 Step 0 判定任务模式 │
│ ↓ │
│ 🔒 Step 1 确认 venue / 语言 / min_citations + 本地文献库(🔴硬阻塞) │
│ ↓ │
│ 📄 Step 2 PDF→MD MinerU 转换确认(条件执行,缺 MD 时阻塞等待用户) │
│ ↓ │
│ 🔍 Step 3 项目上下文提取 │
│ ↓ │
│ 🏛️ Step 4 Venue Requirements Research(生成 venue-brief.md) │
│ ↓ │
│ 🔬 Step 5 并行证据审计(⚡涉及多 probe 时必须并行 dispatch) │
│ ↓ │
│ 📚 Step 6 文献检索与核验(本地优先 + 联网 + 全文阅读 + Gate B) │
│ ↓ │
│ 🔬 Step 7 实验事实复核 │
│ ↓ │
│ 🧩 Step 8 Section Plan / Section Contract / Blueprint │
│ ↓ │
│ ┌──────────────────────────────────────────────────────────────────┐ │
│ │ Step 9 Section Complete Loop │ │
│ │ 🧭 Step 9.0 Section Contract Gate │ │
│ │ 🔎 Step 9.1 前置深度探查(多 probe 时必须并行 dispatch) │ │
│ │ ✏️ Step 9.2 Draft v1(占位符系统 + 待补充清单) │ │
│ │ 📝 Step 9.3 写入 paper_draft.md │ │
│ │ 📌 Step 9.4 占位符审计 + 数据图代码 / 手工图表需求 │ │
│ └──────────────────────────────────────────────────────────────────┘ │
│ ↓ │
│ ┌──────────────────────────────────────────────────────────────────┐ │
│ │ 质量门(双阶段审查) │ │
│ │ ⚖️ Step 9.5 证据合规审查(Review Phase 1) │ │
│ │ ✨ Step 9.6 Prose Quality Gate(Review Phase 2,内化调用) │ │
│ │ 📏 Step 9.7 Expansion Pass(内容密度检查) │ │
│ └──────────────────────────────────────────────────────────────────┘ │
│ ↓ │
│ ✅ Step 9.8 Self-Review & Verification │
│ │ │
│ ├── passed → Step 9.9 更新 Cumulative Draft → 推进下一节 │
│ │ ↓ │
│ │ 🔄 Step 10 依赖感知 Section Loop │
│ └── failed → ⬆️ 回到 Step 9.5 证据合规审查 重来 │
│ │
│ 📌 Abstract 后置 — 所有核心章节全部 passed 后才允许生成 │
│ 📋 Step 11 引用清单生成(**强制**,核验 >= `min_citations`) │
│ ↓ │
│ 🖼️ Step 12 数据图批量生成(**强制**,执行数据图代码 + 复核手工图表需求)│
└──────────────────────────────────────────────────────────────────────────┘
- 🔒 Step 1 是硬阻塞,缺少 venue/language + 本地文献库确认时不能继续
- Step 11→Step 12→输出最终稿,两者均为强制步骤,不可跳过
- 📐
section-drafting也要走完整闭环,只是缩小证据范围- 🚧 Introduction / Related Work 在零 VERIFIED 引用时必须阻塞
- ⚡ Step 5 / Step 9.1 涉及多个 probe 时必须并行 dispatch,不得串行
- 📋 论文完成时 Step 11 强制生成引用清单,核验 >=
min_citations
📄 完整论文起草
我有一个图神经网络项目仓库,想写一篇投 NeurIPS 的论文。
请先确认 venue 和语言,然后按 section 逐节推进,
不要一次性生成整篇。
✨ 单独润色 Method
帮我把这段 Method 改成论文正文口吻,
但不要把不确定的设计动机写成已确认事实。
🔗 单独做引用核验
帮我为 Introduction 找 5-8 篇 VERIFIED 引用,
并生成 Citation-to-Claim Map。
🔬 单独做实验复核
先盘点这个仓库里的 checkpoint、日志和结果表,
尽量用最小可复核方式确认 Main Results。
✅ 适合
❌ 不适合
- 📁 有代码仓库、实验日志、结果表、草稿、研究笔记
- 📑 需要逐节推进完整论文
- 🧩 需要区分"能写的"和"暂时不能下结论的"
- 🎛️ 希望对文献、实验、claim 强度做显式控制
- 🚫 非 CS/AI/ML 领域论文
- ⚡ 只想要一次性成稿的通用 prompt
- 📐 只需要 LaTeX 排版 / 浮动体修复时,不应走核心论文编排器;请直接调用
academic-latex-layout - ⚠️ 要求无视证据边界强行写成已验证结论
| 层级 | 文件 | 作用 |
|---|---|---|
| 战略层 | SKILL.md |
高层规则、触发条件、Hard Gates 摘要、数据契约、reference 导航 |
| 战术导航 | orchestration-workflow.md |
导航索引,指引到按阶段拆分的执行文件 |
| 战术执行 | workflow-step-0-7.mdworkflow-step-8-9.5.mdworkflow-step-9.6-12.md |
拆分为 3 个文件的详细执行手册,每个包含独立 dispatch 模板、step-by-step 流程、fallback 路径。按阶段加载以节省上下文窗口 |
💡 阅读建议:改规则摘要、使用边界、导航 → 看
SKILL.md。改具体执行步骤、模板、失败路径 → 按 Step 阶段加载对应的workflow-step-*.md。
academic-paper-writer/
├── README.md
├── LICENSE
├── .claude-plugin/ # Claude Code 插件配置
│ ├── plugin.json # 插件清单
│ └── marketplace.json # 市场定义
├── scripts/ # 项目级工具脚本
│ └── check_schemas.py # 跨技能 schema 一致性检查
└── skills/
├── shared/
│ ├── schemas/ # 跨技能数据契约(5 个 schema)
│ └── core/ # 共享证据、非编造与输出边界规则
├── academic-paper-writer/ # 📌 核心编排器
│ ├── SKILL.md
│ ├── agents/ # probe agent 定义
│ └── references/ # 工作流(导航索引 + 3 阶段文件 + exemplars)
├── academic-polishing/ # ✨ 文体打磨
├── academic-citation/ # 🔍 文献取证
│ ├── agents/ # citation_agent + literature-reader-agent
│ ├── scripts/ # citation_audit.py + convert-pdfs-to-md.py
│ └── references/ # 检索策略、核验协议、引用映射、reading report schema
├── academic-reviser/ # ✅ 审修验证
│ ├── agents/ # reviser_agent
│ ├── scripts/ # placeholder_audit.py
│ └── references/ # 检查清单、Verification 判定、常见陷阱
├── academic-experiments/ # 🔬 实验取证
│ ├── agents/ # experiment_agent
│ ├── scripts/ # evidence_scanner.py
│ └── references/ # 证据盘点、运行策略、协议风险
├── academic-figure/ # 📊 数据图生成
│ ├── agents/ # figure_agent
│ ├── scripts/ # chart_template.py + qa_figure.py
│ └── references/ # 设计理论、图表类型、QA、教程
├── academic-venue-research/ # 🏛️ 期刊调研
│ ├── agents/ # venue-research-agent
│ └── references/ # 投稿要求、风格分析、venue brief 模板
└── academic-latex-layout/ # 📐 LaTeX 布局
├── SKILL.md
├── manifest.yaml
├── references/ # 浮动体放置、模板约束、PDF 预览循环
└── static/core/ # 核心规则与边界
建议阅读顺序
1️⃣ README.md
2️⃣ skills/academic-paper-writer/SKILL.md
3️⃣ references/orchestration-workflow.md(导航索引)
4️⃣ references/workflow-step-*.md(按 Step 阶段加载)
5️⃣ skills/shared/schemas/*
6️⃣ 你关心的子 skill SKILL.md
这个项目最重要的不是"写得快",而是不越界。
| 边界 | 说明 |
|---|---|
| 🚫 不编造 | 禁止编造文献、作者、年份、venue、DOI、arXiv 编号、实验结果、图表、命令或日志 |
| ⚠️ 不混淆 | 不把 UNVERIFIED 文献写成 VERIFIED,不把 user_claim 写成可引用证据 |
| 📛 不夸大 | 不把内部验证包装成 SOTA、generalization、strong evidence |
| 📌 不静默 | 缺失信息必须显式保留 [REF_NEEDED]、[RESULT_NEEDED] 等占位符,不得静默略过 |
它允许输出"当前最佳草稿",但不允许输出"伪装成已验证完成稿的草稿"。
版本管理
本项目使用 Git 分支和标签进行版本管理:
| 分支/标签 | 说明 | 适用场景 |
|---|---|---|
main |
开发分支,最新功能 | 开发者、早期用户 |
stable |
稳定分支,手动合并 | 生产环境、稳定性要求高的用户 |
v1.0.0 等标签 |
版本标记 | 需要锁定特定版本的用户 |
Claude Code 用户:
- 使用
main分支:自动获取最新版本 - 使用
stable分支:需要手动执行/plugin update命令
Codex CLI 用户:
# 切换到 stable 分支
cd ~/.agents/skills/academic-paper-writer
git checkout stable
git pull
# 切换到特定版本
git checkout v1.0.0
结构一致性检查
# 使用自动化脚本检查跨技能 schema 对齐
python scripts/check_schemas.py --skills-root ./skills
检查项:
- ✅ 各子 skill schema 是否指向
shared/schemas/的权威版本 - ✅ 所有 debt 字段在 schema 和 SKILL.md 之间是否对齐
- ✅ SKILL.md 中引用的 reference 文件是否存在
- ✅ 步骤编号是否一致
相关文档
📄 许可
⚠️ 免责声明:本项目旨在辅助学术写作的结构化与质量控制,最终论文的学术诚信、实验真实性、引用准确性与投稿合规性由使用者本人负责。
No comments yet
Be the first to share your take.