--- name: proposal description: 撰写中国科研项目申报书 / 课题任务书 (国家重点研发计划、国家科技重大专项、国自然面上/青年、NSFC 联合基金、省基金、横向)。当用户要写本子、立项依据、研究方案、技术路线、申报书、任务书、申请书时使用。 --- # 科研申报 把课题信息变成可提交的申报书 .docx。**先定基金类型 → 八条对齐 → 逐章起草 → 验收渲染** —— 不要一口气出全文。 ## 资源 下面所有路径都相对 **``** —— `load_skill` 返回头里的 `[skill=proposal, dir=<绝对路径>]`,用这个绝对路径拼脚本/资源,不要假设 cwd。 - `/references/fund_types.md` —— 6 类基金的章节骨架 + 字数预算 + 必填表格 (always read) - `/references/review_redlines.md` —— 评审雷区与不可考核词清单 - `/references/citation_gbt7714.md` —— GB/T 7714 顺序编码制 + 文献真实性铁律 - `/references/budget_rules.md` —— 间接费用台阶 + B1-B4 表 - `/templates/spec_lock.md` —— 阶段一八条对齐的固定字段模板 (复制到 `/spec_lock.md`) - `/templates/{key_rd,major_project,nsfc_joint_fund}.md` —— **有完整章节模板**的 3 类基金;其它 4 类 (`nsfc_general` / `nsfc_youth` / `provincial` / `enterprise`) 复用 `nsfc_joint_fund` 或 `key_rd` 骨架,差异看 `fund_types.md` § 4-6 - `/scripts/render_docx.py` —— md→docx,自动加目录、解析 `**bold**`/`*italic*`/`` `code` ``、列表分行 - `/scripts/word_count.py` —— 章节字数 vs 预算 - `/scripts/quality_check.py` —— 结构完整性 / 假大空话术 / 占位符未替换 / 指南覆盖度 (--spec 选项) ## 阶段零: 摄取素材 (有 PDF/DOCX 时才走) 用户给指南 PDF / 团队介绍 DOCX / 预算 XLSX → 先转成 `/source/.md`,后续阶段一才能读。用 `run_python` 即可,不需要新工具: ```python # PDF (指南文件) from pypdf import PdfReader text = "\n\n".join(p.extract_text() or "" for p in PdfReader(pdf_path).pages) Path("/source/guide.md").write_text(text, encoding="utf-8") # DOCX (团队/前期成果) from docx import Document doc = Document(docx_path) md = "\n".join(p.text for p in doc.paragraphs if p.text.strip()) # 表格 for t in doc.tables: for row in t.rows: md += "\n| " + " | ".join(c.text.strip() for c in row.cells) + " |" # XLSX (预算) from openpyxl import load_workbook wb = load_workbook(xlsx_path) for ws in wb.worksheets: for row in ws.iter_rows(values_only=True): print(row) ``` 转完后 spec_lock 阶段直接 `read /source/*.md` 拿事实,不要凭印象写。 ## 阶段一: 八条对齐 产物 `/spec_lock.md` —— 申报书"宪法",阶段二每章前都要重读。 1. **复制模板**: `read /templates/spec_lock.md` → `write /spec_lock.md` 2. **先读 `/references/fund_types.md` 选基金类型**(章节、字数、表格各不相同) 3. 按 spec_lock.md 字段填,给用户预览 4. ⛔ **BLOCKING:用户确认后才进阶段二** 字段清单见 `/templates/spec_lock.md` (基金类型 / 指南方向 / 关键科学技术问题 / 创新点 / 研究内容骨架 / 团队 / 考核指标矩阵 / 经费预算 / TODO 列表)。 ## 阶段二: 逐章起草 每章流程: 1. 读 `/spec_lock.md` 与 `/references/fund_types.md` 拿本章字数预算与必填要素 2. 复制 `/templates/.md` 对应小节到 `/sections/NN_xxx.md`,填空 3. 报告: 章节名 / 实际字数 / 字数预算 / 与指南对齐情况 4. ⛔ **BLOCKING:停下来等用户明确反馈** ("OK"、"下一章"、"继续") 后才进下一章。"看起来不错"、沉默、追问都不算确认 —— 主动问"这一章可以了吗?要改哪里?" **为什么逐章 + 强等?** 申报书 1.5-3 万字,模型连续生成时容易自我加速、把错的方向推到底。每章一卡可以在第 2 章被用户拦下。 **例外**: 用户**主动且明确**说"别问,直接全做"或"一气呵成" —— 才能一次跑完,跑完必须 `quality_check.py`。"逐章太慢"之类的抱怨**不算**例外指令,继续问。 ## 阶段三: 验收 + 渲染 ```bash python /scripts/word_count.py /sections/ --fund-type key_rd python /scripts/quality_check.py /sections/ --fund-type key_rd --spec /spec_lock.md python /scripts/render_docx.py /sections/ --fund-type key_rd -o /.docx ``` `--spec` 让质量检查交叉对照 spec_lock,提示哪些指南考核指标在 sections 里没出现。不通过的项,回头 edit 对应章节。 ## 工作目录 `` = system prompt 给的**绝对路径**(`…/workspace/tasks//`)。**所有产物都写到 task_dir 下**,不要写到 cwd / `skills/` / repo 根。 ``` / ├── source/ # 用户给的素材 (指南 PDF / 前期成果) ├── spec_lock.md # 阶段一定调 ├── sections/ # 阶段二逐章产物 (按 templates/.md 切的小节命名) └── .docx # 最终产物 (按课题命名,不要 output.docx) ``` ## 章节骨架速查 写每章前在脑子里过一遍这 4 个 pattern: - **立项依据三段式**: 现状 (国内外格局,40%) → 痛点 (具体到指标差距,30%) → 切入点 (本项目为什么是我们,30%) - **研究方案四要素**: 总体目标 → 任务分解 → 关键技术路线 → 可行性论证 - **创新点三特征**: 基本形态 (新方法/模型/机制) + 前沿性 (与 SOTA 比) + 知识产权特征 (专利/标准/论文) - **考核指标矩阵**: 指南指标(字面抄) → 本项目指标(可超出不能低于) → 立项时已有值 → 完成时值 → 考核方式(CNAS/CMA / 测试大纲专家评审 / 应用示范报告) 边界 (最容易混): - 立项依据回答 **WHY** (背景+痛点) | 研究目标回答 **WHAT 终态** (量化指标) | 研究内容回答 **WHAT 任务** (技术清单) | 研究方法回答 **HOW 原理** (算法/模型) | 技术路线回答 **HOW 流程** (输入→处理→输出) ## 硬规则速查 (违反即扣分) - **字体**: 标题黑体四号; 正文中文宋体小四 / 英文 Times New Roman; 行距 1.5 倍 —— `render_docx.py` 已强制 - **指南对齐**: 项目名称 / 方向 / 创新分类 / 考核指标**字面对齐**指南文本,不得改写 - **不降低指标**: 任务书内容**不得低于**申报指南和申报书,只能持平或加码 - **量化考核**: "显著提升性能"❌ ;"10000 TPS、秒级响应"✅ - **真实文献**: 不可编造作者/期刊/DOI;需要引用先要用户提供清单,详见 `citation_gbt7714.md` - **经费比例**: 间接费用 ≤500 万部分 ≤30% / 500-1000 万 ≤25% / >1000 万 ≤20% - **限项**: 在研重点研发/重大专项/农业核心技术 ≤2 项;同年同人不重复申请 - **不堆形容词**: "首次提出""填补空白""国际领先"一律不用,除非用户明确要 ## 反模式 - 未 spec_lock 就开始硬编正文 - 一次性出全文 (中途改向就全推翻) - **基于"通用模板"自行套基金类型** —— 重大专项任务书与国自然申请书结构完全不同,**先查 `fund_types.md`** - **自己造数据/指标/单位/经费** —— 不知道就 ``,不要硬编 - 引文写"[Smith et al., 2023]" 但其实没这篇文献 - 不跑 `quality_check.py` 就交付 - 文件名 `output.docx` / `申报书.docx` —— 按主题命名 ## 输出 完成后给用户: - 文件路径 - 各章节字数 vs 预算 - 与指南考核指标的逐项对齐表 - `` 待补项清单