推荐:用脚本快速生成信息表(并可交互填写),见 skills/nsfc-justification-writer/scripts/run.py init。
工作流(按顺序执行)
-
定位项目与目标文件:确认
project_root,读取并仅编辑extraTex/1.1.立项依据.tex。 -
抽取现有骨架:若文件已有
\subsubsection等小标题,优先保留骨架,仅替换正文段落(除非用户要求重构层级)。默认不强制标题精确匹配(strict_title_match=false),更关注“内容维度是否覆盖”。 -
渐进式写作引导(主推):先骨架→再段落→再修订→再润色→再验收(避免一步到位压力)
使用 scripts/run.py coach --stage auto 自动判断当前阶段并给出“本轮只做三件事 + 需要你补充的问题 + 可复制提示词”
-
每轮只改一个
\subsubsection的正文,配合apply-section安全写入并自动备份 -
生成“立项依据”主叙事(建议 4 段闭环,AI 会检查内容维度覆盖而非死盯标题):
价值与必要性:痛点→影响范围/成本→为何现在必须做。
-
现状与不足:主流路线/代表性工作→2–4 个明确不足(尽量可量化/可验证)。
-
科学问题/核心假说:一句假说 + 1–3 个关键科学问题(断点式),指向“可验证”。
-
本项目切入点与贡献:本项目相对现有工作的“差异化切口”,并用 1 句过渡到研究内容。
-
可核验性与引用守护:
AI 语义识别“可能引起评审不适的表述”(绝对化/填补空白/无依据夸大/自我定性),并给出改写建议;硬编码高风险词仅作提示,不做机械阻断。
-
不写“国际领先/国内首次”等不可证明表述;需要对外部工作举证时,先让用户提供 DOI/链接或调用
nsfc-bib-manager核验后再写\cite{...}。 -
跨章节一致性检查:检查术语/缩写/指标口径是否能与
2.1 研究内容对齐;必要时列出需用户确认的 3–5 个关键名词与指标。 -
目标字数解析:优先解析用户意图/信息表中的“字数”/“±范围”/区间描述;无显式指示时再使用配置兜底。
配置校验与大文件支持(可选)
-
配置校验:
python skills/nsfc-justification-writer/scripts/run.py validate-config -
大文件 Tier2:
diagnose/review --tier2 --chunk-size 12000 --max-chunks 20(支持.cache/ai缓存;超大文件会优先使用流式分块以降低峰值内存;用--fresh强制重算) -
说明:本仓库脚本层不会“默认直连外部大模型”;AI 能力是否可用取决于运行环境是否注入 responder(不可用会自动回退到硬编码能力)
-
相关设计说明:
内容维度覆盖检查:skills/nsfc-justification-writer/references/dimension_coverage_design.md
-
"可能引起评审不适的表述"判别与改写:
skills/nsfc-justification-writer/references/boastful_expression_guidelines.md -
理论创新导向写作指南:
skills/nsfc-justification-writer/references/theoretical_innovation_guidelines.md(含方法学术语误用警示) -
方法学术语误用对比示例:
skills/nsfc-justification-writer/references/methodology_term_examples.md(新增)
Prompt 模板可配置化(可选)
config.yaml / preset.yaml / override.yaml 的 prompts.* 支持两种形式:
-
文件路径:如
prompts/tier2_diagnostic.txt -
直接写多行 Prompt:在 YAML 中用
|写入多行文本(适合不同领域改侧重点)
也支持按 preset 变体覆盖:例如当 --preset medical 时,可提供 prompts.tier2_diagnostic_medical。
推荐 \\subsubsection 标题与内容映射
说明:模板与 config.yaml 默认推荐 4 个 \\subsubsection 标题(structure.recommended_subsubsections),而“4 段闭环”是内容叙事逻辑。为避免用户困惑,推荐按下表映射写作:
| 研究背景 | 价值与必要性 | 理论空白/认知缺失→为何现在必须做(理论驱动)
| 国内外研究现状 | 现状与不足 | 主流路线→理论局限性(假设过强/框架不统一/因果缺失/界不紧)
| 现有研究的局限性 | 科学问题/核心假说 | 可证伪假说→关键科学问题→验证维度(理论证明/定理/数值验证)
| 研究切入点 | 本项目切入点与贡献 | 理论差异化切口(新表征/方法学/统一框架)→承上启下到 2.1 研究内容
如用户确需改小标题:建议仍保持 4 段结构,并先统一标题骨架(见 templates/structure_template.tex);结构检查不再机械匹配标题,但仍要求至少 4 个小节。
关键能力
用于“先诊断→再生成→再安全写入→再验收”的闭环:
AI 功能清单(可选增强)
| Tier1 诊断(结构/引用/字数/高风险示例/危险命令) | ❌ | N/A
| 内容维度覆盖检查 | ✅ | 启发式关键词检测(兜底)
| 吹牛式表述识别(语义) | ✅ | 不阻断;仅依赖 Tier1 高风险示例提示
| 术语一致性(语义)
| ✅
| 仅输出硬编码矩阵(terminology.dimensions)
| AI 示例推荐(带理由) | ✅ | 关键词/类别启发式匹配
| AI 阶段判断(coach --stage auto) | ✅ | 硬编码阈值规则
| Tier2 深度诊断(diagnose --tier2) | ✅ | 跳过(仅输出 Tier1)
AI 是否可用取决于运行环境是否注入 responder;可用 skills/nsfc-justification-writer/scripts/run.py check-ai 自检。
-
Tier1 硬编码诊断:结构(≥4 个
\subsubsection)/引用键是否存在于.bib/DOI 缺失与格式异常提示/字数统计/高风险表述提示与危险命令扫描 -
内容维度覆盖检查(AI):不依赖标题用词,检查“价值与必要性/现状与不足/科学问题/切入点”是否被覆盖
-
吹牛式表述识别(AI):识别绝对化/填补空白式/无依据夸大/自我定性,输出改写建议
-
跨章节一致性矩阵:基于
config.yaml的terminology.dimensions(研究对象/指标/术语)做跨章节一致性提示 -
AI 术语一致性(可选):当 AI 可用且
terminology.mode=auto/ai时,额外给出语义视角的“同义词/缩写混用”检查与修改建议(不可用则仅输出矩阵) -
安全写入工具:按
\subsubsection{...}精确定位并替换正文,写入白名单文件 + 备份(产物放在skills/nsfc-justification-writer/runs/) -
写入前质量闸门(可选):
apply-section --strict-quality仅对“本次新增正文”做高风险词/危险命令扫描;若 AI 可用则叠加“吹牛式表述”语义阻断,避免被历史遗留内容卡死 -
评审建议生成器:基于 DoD + 诊断结果输出“评审人会问什么 + 怎么改”(
scripts/run.py review) -
可视化 HTML 诊断报告:快速定位问题(
scripts/run.py diagnose --html-report auto) -
版本 diff/回滚:基于 runs 备份做差异查看与一键回滚(
scripts/run.py diff/rollback) -
示例推荐:从
examples/读取*.metadata.yaml关键词,辅助按主题匹配参考骨架(scripts/run.py coach --topic .../scripts/run.py examples) -
AI 示例推荐(可选):当 AI 可用时,优先进行语义匹配并给出“推荐理由”(不可用则回退到关键词/类别启发式)
-
AI 阶段判断(可选):coach 在
--stage auto时,可用 AI 综合字数/结构/质量状态推断“skeleton/draft/revise/polish/final”,AI 不可用时回退到硬编码阈值 -
配置覆盖与预设:支持
--preset medical/engineering与~/.config/nsfc-justification-writer/override.yaml覆盖术语维度等参数(需要时可用--no-user-override关闭)
脚本入口:skills/nsfc-justification-writer/scripts/run.py(用法见 skills/nsfc-justification-writer/scripts/README.md)。
systematic-literature-review 集成(可选)
本技能支持只读访问 systematic-literature-review 生成的文献综述目录,便于引用已有的研究现状内容。
识别标准
目录满足以下任一条件时,自动识别为 systematic-literature-review 生成的目录:
-
存在隐藏文件夹
.systematic-literature-review,且包含{主题}_review.tex和{主题}_参考文献.bib/references.bib文件(运行中的 pipeline) -
存在典型的文件组合:
{主题}_review.tex+{主题}_参考文献.bib/references.bib+{主题}_工作条件.md(已完成的输出目录) -
存在同名的
{主题}_review.tex和{主题}_参考文献.bib文件(基于文件名前缀匹配)
只读访问约束
对 systematic-literature-review 生成的目录:
-
只读模式:仅读取
.tex和.bib文件内容 -
禁止写入:不会修改目录中的任何文件
-
引用验证:自动验证
.tex中的引用与.bib中的定义是否一致
使用场景
-
用户要求引用已有的文献综述内容
-
需要从系统综述中提取研究现状信息
-
想要确保引用的一致性
核心功能
-
目录检测:
detect_slr_directory(path)判断是否为 systematic-literature-review 目录 -
目录分析:
analyze_review_directory(path)返回目录结构信息 -
引用验证:
validate_citation_consistency(tex_path, bib_path)检查引用一致性 -
内容提取:从
.tex和.bib文件中提取关键信息
实现见:core/review_integration.py
验收标准(Definition of Done)
变更记录
-
本技能不在本文档内维护变更历史;统一记录在根级
CHANGELOG.md。 -
版本号仅在
skills/nsfc-justification-writer/config.yaml(skill_info.version)与本文件 frontmatter 中维护,避免口径分散。