关于 research-proposal
用于撰写英文或中文博士研究提案与学术研究计划的 Skill,按场景调整结构,并强调逐节写作和引用核验。
主要功能
- 01按研究场景选择结构
- 02收集研究要求与范围
- 03要求核验引用来源
- 04按章节逐步撰写
- 05检查引用与写作质量
适用场景
- 01起草博士研究提案
- 02调整开题报告的章节安排
- 03按基金格式准备提案内容
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ luwill/ research-skills --skill research-proposal安装后在 Claude Code 中输入/research-proposal确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/proposal_scaffold_en.mdproposal_scaffold_zh.mdlearnings/2026-09-30-重写清不完所有文件.md2026-10-24-自动判制式会静默丢掉另一种引用.mdREADME.mdreferences/CITATION_INTEGRITY.mdDOMAIN_TEMPLATES.mdLITERATURE_WORKFLOW.mdQUALITY_CHECKLIST.mdSTRUCTURE_GUIDE.mdWRITING_STYLE_GUIDE.mdscripts/check_proposal.pyintegrity_gate.pytests/test_check_proposal.pytest_document_contract.py详细介绍
研究计划生成器
撰写面向未来的学术研究计划——即尚未开展的研究方案——遵循一流学术写作规范,可使用英文或中文。
此技能旨在一次就正确生成初稿,而非提供一个以后还要修改的模板。最重要的原则只有一条:保证引文完整、准确。引用虚构文献属于学术诚信问题,而非写作风格问题。进入第 2 阶段前,请阅读 references/CITATION_INTEGRITY.md。
核心原则
先写成连贯的文章。 研究计划应由衔接流畅的段落构成,而非要点列表。仅在列出一组明确的研究问题/目标(2–4 项)和时间表里程碑时使用列表。研究贡献、方法、背景或意义都不要列成要点;应以叙述方式展开。完整规则和示例见:references/WRITING_STYLE_GUIDE.md。
每条引文都必须在采用前核实。 参考文献数量应由论证需要决定,而不是为了凑数——没有最低数量要求。博士研究计划通常引用 25–50 篇文献(人文学科往往更多);论证严密的 25 篇胜过凑数的 45 篇。每条参考文献在纳入计划前都必须确认真实存在(DOI/PMID/arXiv 可解析,或有 Zotero 元数据),且作者和年份与来源一致。无法核实的文献须标记为 [UNVERIFIED] 并予以披露,绝不可虚构。详见 references/CITATION_INTEGRITY.md。
边写边核实,避免一次生成。 按章节起草;每完成一节,都要核实该节的引文,再继续下一节(第 4 阶段)。不要一次性生成包含多个章节、数十条引文的完整研究计划——这是导致参考文献幻觉的结构性原因。
措辞谨慎,符合证据。 对拟开展的工作和不确定的主张,使用试探性措辞(如“旨在”“可能”“预计”);对公认事实则直接陈述。不要夸大其词(如“将证明”“将彻底改变”)。
避免大模型的惯用表达。 以下短语带有 AI 检测器的典型特征,应予以删去:“过去十年间,X 已成为……”,“近年来,”,“值得注意的是”,“发挥着至关重要/关键的作用”,“引起了广泛关注”,“深入探讨”,“是……的见证”;中文:“近年来,随着……的飞速发展”,“……日益受到广泛关注”。应从具体领域的实际情况切入,而不是使用泛泛的背景铺垫。
情境路由
以下默认结构面向博士研究计划和学术研究计划(摘要 → 引言 → 文献综述 → 研究方法 → 时间表 → 研究意义)。请在第 1 阶段确认具体情境并进行调整:
| 请求 | 结构 |
|---|---|
| 博士/博士研究计划、研究计划书 | 默认结构(本技能) |
| 开题报告(论文提案/答辩) | 默认结构,但应加重文献综述的比重,并在研究方法部分以研究基础/可行性分析小节开篇——介绍审阅者既往的相关工作、初步成果,以及获取数据/计算资源的条件;研究方法应具体明确 |
| 人文学科博士论文计划 | 默认结构 + 章节大纲部分(见 references/DOMAIN_TEMPLATES.md) |
| 基金申请书 / 国自然 / NSF 基金 | 采用不同结构(立项依据 / 研究内容与目标 / 研究方案与可行性 / 研究基础与工作条件)。本技能会根据基金方要求的章节调整并起草内容,但不会填写基金方自有的表格系统、预算表或 NSF 专属栏目(学术价值 / 广泛影响)。请告知用户,默认的五部分模板不是基金申请表;应按基金方要求的模板调整标题,并在写作前与用户确认 |
阶段 1:需求收集
使用 AskUserQuestion 收集以下信息:
- 研究主题/问题 — 要调查的核心问题。
- 场景 — PhD 计划书/开题报告/研究计划/基金申请(结构路由见上文)。
- 学术领域 — STEM(以及是否涉及计算或 ML,参见 references/DOMAIN_TEMPLATES.md)、人文学科或社会科学。
- 输出语言 — English 或中文。
- 目标篇幅 — PhD 计划书/研究计划:默认约 3,000 词,范围为 2,000–4,000 词(人文学科可扩展至约 10,000 词)。开题报告的篇幅由院校规定,不适用此默认值——请询问学校的模板和规定篇幅(常见为 10,000–30,000 字,文献综述部分往往占一半);中文篇幅按字符计数(
wc -m),而非按空格分隔的词数。如果用户没有要求,则将中文开题报告的默认篇幅设为约 15,000 字,并将其作为已锁定的假设说明。 - 可选 — 目标院校/导师;可供参考的现有材料或 Zotero 文献库。
如果主题过于宽泛,无法确定研究方法的范围,请先提出有针对性的澄清问题,再继续。无头运行(没有交互式用户,例如由另一个 Agent 的工作流调用):从调用提示中提取上述需求,而非提问,并像阶段 3 一样将其记录为大纲中的已锁定假设——绝不能编造提示中未提及的要求。
阶段 2:文献收集(含核验关卡)
阅读 references/LITERATURE_WORKFLOW.md,了解搜索策略和组织方式。
工具可移植性。 使用特定工具名称前,先确认有哪些工具可用。对于受限访问论文,优先使用用户的 Zotero 文献库(通过 mcp__zotero__* 工具);使用 WebSearch 查询领域概况/趋势,并使用 WebFetch 打开 DOI/PubMed/arXiv 页面并确认元数据。如果未连接 Zotero/arXiv/PubMed MCP,则改用 WebSearch + WebFetch。提醒用户将相关的受限访问论文添加到 Zotero。
按用途选择来源:使用 WebSearch 查询趋势、综述和术语;使用 WebFetch 访问 arXiv/PubMed/出版商页面,获取开放获取的原始来源和元数据;使用 Zotero MCP 访问用户自己的文献库、批注和笔记。对于期刊文章,Crossref REST API(WebFetch https://api.crossref.org/works/<DOI>)是核实文献是否存在及其元数据的最可靠方式——它会返回简洁的 JSON(标题/第一作者/年份/刊物),比解析出版商的 HTML 页面更可靠。
按用途整理候选文献:背景/语境、当前最先进研究、识别研究空白的方法、研究方法以及相关研究。
核验关卡(不得跳过)
任何来源在被引用前都必须:
- 根据首要来源(DOI/PMID/arXiv 页面或 Zotero 元数据)核实每篇候选文献的存在性、第一作者和年份——参见 references/CITATION_INTEGRITY.md 的规则 1、2、5。
- 仅从已实际访问全文或摘要的来源中引用具体发现/数据。无法打开的论文,不得撰写其内部研究结果。
- 将已核实的候选文献列表(标题、作者、年份、来源/DOI)交给用户快速检查,之后再拟定大纲。
无法核实的内容不得纳入参考文献池;如果用户坚持使用记忆模糊的来源,请标注为 [UNVERIFIED]。
非交互式/无头运行。 如果技能在没有交互式用户的情况下调用(例如由后台 Agent 或流水线调用),不要因第 3 步而阻塞:将已核实的候选文献列表直接记录在交付内容中(或记录在配套的 citation_verification_log.md 中),然后继续。该记录列表作为审计轨迹,替代实时检查。
阶段 3:大纲生成
阅读 references/STRUCTURE_GUIDE.md 和 references/DOMAIN_TEMPLATES.md,了解各章节和学科领域的指导说明。
标准大纲(默认情境)
# [Research Title]
## Abstract (150-300 words, 5-10%) — background, questions, methodology overview, significance
## 1. Introduction (500-800 words, 15-20%) — background, problem, questions/objectives, scope
## 2. Literature Review (500-1000 words, 20-25%) — framework, current state, gap, positioning
## 3. Methodology (500-800 words, 20-25%) — design, data collection, analysis, validity/limitations
## 4. Timeline (200-300 words, 5-10%) — phases, milestones, optional Gantt
## 5. Significance and Expected Contributions (200-400 words, 10-15%) — theoretical, practical, broader impact
## References — cite what the argument needs (see CITATION_INTEGRITY.md); no minimum, no padding
为人文学科提案添加一个 章节大纲 部分。不要包含附录——将必要内容整合到正文中。
审批关卡(红线)
呈现大纲,并在进入阶段 4 前等待用户明确批准。不得根据未经批准的大纲开始撰写内容。
询问用户是否认可结构、各部分的侧重点和范围,以及是否需要添加、删除或修改章节。
**如果用户说“你决定”/“你看着办”/将决定权交给你:**说明你要确定采用的假设(情境、领域、章节设置、目标篇幅、语言),再次呈现具体大纲作为决定方案,并且只有在此之后才继续——将“让你决定”后未作回应视为对该已说明大纲的批准,但仍须列出这些假设,让用户可以提出异议。
如果完全没有交互式用户(无头/Agent 运行):在交付内容中内嵌记录已确定的假设和大纲,并将这份记录视为已获批准。这样既能保留审计轨迹,也不会因无人能够批准而陷入停滞。
阶段 4:内容撰写(边写边核验)
将框架作为写作骨架,逐节填充:
- English → assets/proposal_scaffold_en.md
- 中文 → assets/proposal_scaffold_zh.md
阅读 references/WRITING_STYLE_GUIDE.md 并遵循其中的规范。核心硬性规则:优先使用连贯行文而非列表;论述应审慎且有证据支撑;采用 PEEL 段落结构(观点 → 证据 + 引文 → 解释 → 衔接);首次使用缩写时给出全称(“coronary CT angiography (CCTA)”);将引文融入句子。
边写边核验流程——每节重复以下步骤:
- 撰写该节的连贯正文,并且只使用阶段 2 已核实文献池中的文内引文,采用选定的格式:APA/MLA 风格使用
(Author, Year),GB/T 7714 顺序编码制使用数字[N](中文默认)。 - 立即核验该节的引文:每条文内引文都有对应的参考文献条目(规则 3),且每项方向性/定量论断都与来源一致(规则 4)。参见 references/CITATION_INTEGRITY.md。
- 根据 LLM 特征(核心原则)以及 CITATION_INTEGRITY.md 中的幻觉警示信号进行自检。
- 在开始下一节之前,就地修正所有未通过之处。不要在不同章节中累积未经核验的引文。
**按领域选择引文格式:**STEM/社会科学 → APA(Author, Year);人文学科 → MLA 或 Chicago;中文 → GB/T 7714。全文保持格式统一。
**图表:**在适当位置建议 3–5 幅图(不放在摘要中),每幅图均须包含标题、内容描述和风格说明。格式与位置指南见 references/WRITING_STYLE_GUIDE.md。
**中文输出:**使用规范的学术语体;审慎措辞(“本研究旨在探讨……”而非“本研究将证明……”);参考文献遵循 GB/T 7714。
阶段 5:输出与审核
保存为 proposal_{topic_slug}_{YYYY-MM-DD}.md,放在用户的工作目录中。
根据 references/QUALITY_CHECKLIST.md 进行核验。交付前,必须通过引文门槛。先运行可执行门槛并粘贴其输出——它会一次性执行以下所有机械检查,并指出每处问题所在的行:
python3 <skill_dir>/scripts/check_proposal.py proposal_{topic_slug}_{YYYY-MM-DD}.md
# --style auto|apa|numeric (auto: numeric when References entries start with [N])
# --allow-disclosed-flags : every remaining [UNVERIFIED…] has been disclosed → warnings, not failures
# exit 0 = no mechanical findings (not proof the proposal is right); 1 = findings; 2 = bad input
它会双向核对文内引文 ↔ 参考文献(APA (Smith, 2024) / Smith et al. (2024) 按第一作者姓氏 + 年份匹配;GB/T 7714 [1] / [2-4] ↔ [N] 条目),运行下方的占位符和 AI 痕迹模式(使用相同正则表达式,并由测试锁定),并标记残留的脚手架 [instructions],同时允许豁免的个性化字段。一份文本只能使用一种引文格式——混用 [N] 和作者-年份格式会判定失败,而不会只检查其中一种。中文叙述中的作者-年份格式(张伟(2020)提出)无法可靠分段,因此中文稿应使用 GB/T 7714 顺序编码制(默认格式),以便门槛覆盖每一处引文。以下项目定义了每项检查的含义,并作为人工检查的备选方案:
grep -nE "xxx|XXXX|\[TBD\]|\[UNVERIFIED[^]]*\]|10\.xxxx|doi:10\.[a-z]+/x|forthcoming DOI|\[.*占位.*\]"返回 0 条命中——或者每个残留的[UNVERIFIED]都已明确告知用户,且从未作为已确认信息呈现。(此正则表达式是唯一规范版本;references/CITATION_INTEGRITY.md 链接到该表达式,而不是另行复述一个变体。)- 每一处文内引文都与参考文献列表核对一致(两个方向均无孤立条目)。
- 至少抽查 20% 的参考文献,以及每一项定量/方向性论断,并对照来源核实。
- AI 痕迹门槛:正文中运行
grep -nEi "over the past ((few|several|two|three) )?(decades?|years)|in recent years,|it is worth noting|plays a (crucial|pivotal|vital) role|sheds light on|paves the way|ever-evolving|has garnered significant attention|delves into|a testament to|众所周知|近年来,?随着|日益受到(广泛)?关注",应返回 0 条命中(参见核心原则;所有参考文件和脚手架中也禁止使用相同模式)。 - 正文中不得残留占位符
[brackets]或 “TBD”——但以下情况除外:申请者专属的脚手架字段,用户必须自行填写([University/Institution Name]、[Your Field]、[Month Year];中文脚手架表头中的[所属学科]、[大学/研究机构名称]、[年月]等同类字段),以及[Figure N Suggestion]标签;这些是有意保留的,可以留存。
提供格式转换:
pandoc proposal.md -o proposal.docx # Word
pandoc proposal.md -o proposal.pdf # PDF (needs LaTeX)
参考文件
| 文件 | 阅读时机 |
|---|---|
| references/CITATION_INTEGRITY.md | 第二阶段之前及第四/五阶段全程——5 条引文规则;必须遵守 |
| references/STRUCTURE_GUIDE.md | 第三阶段——逐节写作指南 |
| references/DOMAIN_TEMPLATES.md | 第一/三阶段——STEM(包括计算/ML)、人文学科、社会科学的差异 |
| references/WRITING_STYLE_GUIDE.md | 第四阶段——学术写作风格、审慎措辞、过渡语、图表 |
| references/QUALITY_CHECKLIST.md | 第五阶段——交付前最终核验 |
| references/LITERATURE_WORKFLOW.md | 第二阶段——文献收集工作流 |
| assets/proposal_scaffold_en.md | 第四阶段——英文写作框架 |
| assets/proposal_scaffold_zh.md | 第四阶段——中文写作框架 |
工作流摘要
阶段 1 需求(交互式)→ 阶段 2 文献 + 核验门槛 → 阶段 3 大纲 + 审批红线 → 阶段 4 内容,逐节边写边核验 → 阶段 5 输出 + 引文门槛 + 检查清单。
错误处理
- 没有 Zotero 搜索结果 / MCP 不可用 — 告知用户,改用开放获取来源执行
WebSearch+WebFetch,并建议将论文添加到 Zotero 后重试。 - 无法核实某条参考文献 / 疑似伪造 — 不要将其写入参考文献列表。在文中标记
[UNVERIFIED]并告知用户;绝不要为了补全信息而编造 DOI 或作者列表。 - 主题过于宽泛 — 提出澄清问题;缩小范围;提供结构完善的研究问题示例。
- 超过字数限制 — 优先保留引言和方法论;将文献综述压缩为支撑论点所必需的引用;可提供单独文件形式的扩展版。
learnings:复盘先于重写
修改 references 或 scaffold 之前,先浏览 learnings/——v1→v2 的重写诊断表明,这类经验教训很有价值,却从未沉淀下来。返工或发现自相矛盾后,应追加一篇,并以日期命名。
版本说明
诊断发现,v1.0.0 技能生成的许多参考文献完全没有真实性防护措施,只有一次性生成步骤,设置了硬性的“至少 40 篇参考文献”门槛,助长凑数,而且内部数字自相矛盾。因此,v2.0.0 进行了重写。
| 早期问题(v1.0.0) | 当前修复(v2.0.0) |
|---|---|
| 完全没有核验引用 | 添加了 CITATION_INTEGRITY.md,其中包含 5 条规则;并在 Phase 2/4/5 设置门槛 |
| 硬性要求“至少 40 篇参考文献” | 已移除;改为“论证需要多少就引用多少;通常为 25–50 篇;绝不凑数” |
| Phase 4 = 一次性生成 | 改为逐节撰写并核验 |
| 写作前没有文献核验门槛 | Phase 2 采用先核验再引用,并进行用户合理性检查 |
| 数字自相矛盾(40/30-50 篇参考文献,60%/80% 的近期文献) | 统一为:不设最低数量;在领域发展迅速时,近期文献约占 60% |
| 工作流从未加载 scaffolds | Phase 4 明确加载 assets/proposal_scaffold_{en,zh}.md |
| 提供了带有 AI 痕迹的句式模板作为范例 | 已移除;新增“避免 LLM 痕迹”指南 |
| 大纲审批要求含糊 | 将其设为明确红线,并规定“你看着办”的处理方式 |
声明了 Task 工具却未使用;缺少 WebFetch | 移除 Task;添加 WebFetch |
| 全文都是冠状动脉成像示例 | 减少此类示例,加入跨领域示例;添加计算与 ML 子模板 |
| Scaffold 中使用项目符号列出贡献,与优先使用散文的规则冲突 | Scaffolds 现在以散文形式展示贡献和启示 |
v2.0.1 加固:v2.0.0 中“移除 AI 痕迹模板”的清理只处理了 WRITING_STYLE_GUIDE——STRUCTURE_GUIDE、DOMAIN_TEMPLATES 和中文 scaffold 仍然推荐使用已禁用的开头;现已清理这些内容,并在 Phase 5 添加 AI 痕迹 grep 门槛。中文 scaffold 已全面改为 GB/T 7714 顺序编码制,并采用真实的字符数;将 Bash 加入 allowed-tools,以确保引用门槛检查和 pandoc 转换确实可执行;在 description 和 routing 中以相同方式说明国自然/NSF 的界限;Phase 2 现在将语料构建转交给 lit-search 技能,而不再重复实现。