CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

nsfc-justification-writer

当用户要求写作、重构、审查或润色 NSFC/科研基金申请书的立项依据时使用;不负责研究目标、技术路线或其他章节的正文写作。

Quality

83%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

科研立项依据写作器

目标

本 Skill 将 NSFC/科研基金申请书的立项依据整理为可核验、论证连贯且保留 LaTeX 结构的正文。它适用于新写、重构、审查和润色立项依据;宿主 AI 负责理解材料、安排论证和改写正文,Python 脚本负责确定性检查与安全写入。科学问题与科学假设必须从研究现状的缺口自然收束出来,正文先推进科学判断,证据等级、外推边界和待核验项另列为审查记录;只有会改变本段解释的关键限定进入正文。

立项依据的默认内容链为:研究意义 → 国内外研究现状 → 科学问题与科学假设 → 小结,表示论证功能,不要求改成固定四节。已有标题和结构能完成这些功能时予以保留。研究目标、技术路线、主验证场景、终点、阈值和风险处理属于后续章节,本 Skill 只在需要时作简短衔接,不展开这些内容。

流程

输入

  • 必需:项目根目录,以及目标立项依据正文或可定位该正文的项目材料。
  • 通常读取:目标 .tex、研究内容、研究基础和项目 .bib;只读取完成当前论证所需的内容,不归档无关原始材料。
  • 可选:CLI 的 --target-file、完整正文提案文件和 --override 配置。目标文件按“显式配置 → 文件名含立项依据或 justification 的候选 → 字典序”选择;找不到时使用配置允许的默认目标并创建文件。
  • 先按需读取 分节写法 规划论证地图和段落推进;完成正文后读取 质量控制 执行一次语义复核;需要回归对照时读取 边界表达回归样例。
  • 不把密钥、令牌、凭据、Cookie、完整私有 Prompt 或不必要的大体积原始数据写入产物、日志或报告。

执行步骤

  1. 先识别新写、重构、审查或润色任务,再读取目标正文、相关研究内容、研究基础和文献,明确核心科学主张与论证主线。简短诊断分为“必须修复、建议优化、可以保留”,重要问题注明位置、依据和影响。润色优先局部修复,重构说明重排理由;审查任务沿用以下证据与语义复核原则,完成诊断和四类说明后返回,不调用默认会写入的 preview,也不创建目标正文。任务类别不新增 CLI 子命令,不增加阶段确认。
  2. 按 分节写法 选择最小有效修订。公允说明已有贡献,区分“考察但未解决、尚未研究或评价、明确条件下不能解决”,领域全面性受已读取材料范围约束。研究意义 2–3 段、约占正文 15%–25%,现状主题 1–2 段仅为软建议;必要证据、限定、引用及合理结构优先。支持假设的前期观察放在假设之前或紧邻假设,区分外部研究、团队观察、实施基础与探索线索;无前期结果时不强加段落。
  3. 正文先推进科学判断,合并重复限定,保留所有改变解释的必要条件;按需拆句或分段。科学问题与假设沿“现状缺口 → 核心未知 → 项目切入点 → 可证伪预测”自然收束。瓶颈—约束—问题—假设仅作内部提纲;除非确有独立且必须分别证伪的分支,不使用 R1/R2/R3、H1/H2 等编号。模型配置、数据划分、指标和验证顺序后置到研究方案。方法学问题可以研究可识别性、收敛性质、误差界、表征规律或泛化条件,不强改为生物机制。
  4. 按 质量控制 复核保真与修订授权。不改变主张的措辞及证据衔接可直接修订;改变因果方向、机制、对象、范围或核心假设时核对依据与已有授权。“证明→提示”“导致→相关”同样可能改变科学含义,依据明确且在既有授权内的纠错可执行并说明;依据不足或未获相关授权时仅列建议,保留待决段落原文,完成其余可保真修订,不宣称全文可直接使用。不虚构文献、结果或结论。
  5. 写作任务将完整正文提案交给 scripts/run.py preview:检查目标路径、引用 key、结构命令变化和 diff,通过后默认备份并写入;--dry-run 只生成 diff。引用另区分 bibkey 存在、文献信息可核验、文献支持具体主张;未读足够内容时标明支持性未核验。移动句段后复核引用、公式、标签和数值,脚本通过不等于科学保真。
  6. 交付正文与四类说明:论证结构改进、学术表达改进、科学歧义与证据缺口、作者决策事项。写入时附 diff、备份和回滚信息;简单任务简短说明,无问题类别写“未发现”。机器结果用 diagnose、refs、wordcount;历史用 list-runs、diff、rollback。

输出

  • 写作任务:完整正文提案及四类修订说明,重要调整附理由;证据等级、外推边界、保留限定及待核验项归入相应类别,不重复生成审查报告。作者决策事项列选项、影响和当前采用状态;有待决段落时明确成稿限制。审查任务仅输出诊断与建议。
  • preview:正文-only unified diff,成功写入时输出目标路径、备份和运行记录;宿主 AI 补充修改说明与 rollback --project-root <项目目录> --run-id <run_id> --yes,不把语义审查冒充为脚本字段。
  • diagnose:结构、引用、DOI、字数和配置约束的文本摘要;传入 --json-out 时额外保存 JSON。
  • refs:引用核验摘要及 BibTeX 补齐/核验提示;wordcount:按选定口径统计当前字数,不设默认目标、容差或偏差状态。
  • list-runs、diff、rollback:列出运行记录、查看某次运行的备份差异或从备份恢复。

输出管理

  • 运行记录、临时 diff 和备份使用 config.yaml 的 workspace.runs_dir,默认位于当前任务的 ./.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/nsfc-justification-writer/。
  • 正式正文只写入自动确定且通过白名单的目标 .tex;不写 main.tex、配置文件、.cls 或 .sty。正式源代码、文档和计划仍写入仓库约定路径,不放入任务工作区。
  • preview 默认自动写入;审查任务跳过该入口,确需查看候选 diff 时显式使用 --dry-run。每次写入前备份,回滚默认先备份当前版本;回滚必须显式传入 --yes。
  • 任务失败时保留提案、诊断、diff 和错误信息,避免覆盖原正文;不得自动删除、迁移或远程上传用户文件。

校验

  • 运行 python skills/nsfc-justification-writer/scripts/run.py validate-config,确认配置字段和写入白名单有效。
  • 运行 diagnose,检查目标路径、配置的 .bib 中的引用 key 及字数统计(不作目标值判断);结构命令的前后变化另由 preview 比较。
  • 运行 preview --dry-run,确认变更只涉及正文;出现结构/配置命令时默认拒绝,只有项目白名单允许且用户明确传入 --allow-structural-change 才能继续。
  • 仓库维护时运行 python tests/nsfc-justification-writer/test_revision_safety.py --task-root <已声明的任务目录>,用隔离样稿验证目标定位、字数无约束统计、引用守护、备份/回滚和正文-only diff;产物集中在当前任务目录。安装副本使用上述 CLI 做定向检查,不假设随包附带仓库测试。
  • 按 回归样例 复核修改范围、缺口分类、假设证据、科学主张与引用支持;这些是语义验收,不用固定词表或机械评分替代。
  • 结构规范另由仓库级 Skill 检查器验证;本 Skill 不把结构检查器当作语义质量判断的替代品。

失败与恢复

  • 目标不明确、路径越界或不在白名单:停止写入,报告候选和原因;修正配置或显式目标后从目标定位重新开始。
  • 缺失输入:登记缺口,完成有依据的部分;新写可提出有边界且明确标记的候选假设,修订原稿不得用保守假设暗换作者主张。待决段落保留原文并给建议,不补造事实,也不把局部修订称为完整定稿。
  • 缺失引用 key、结构命令变化或安全检查失败:保留提案和诊断结果,拒绝写入;修正正文后重新运行 preview。
  • 写入异常:以原文件和写入前备份为恢复起点,保留 run 记录;不要把部分写入宣称为完成。
  • 需要撤销已写入内容时,先用 list-runs 找到 run_id,再执行 rollback --yes;无法定位匹配目标的备份时停止并报告,不使用不确定的旧备份。

约束

遵守以下公共约束,并执行本 Skill 的专属边界。

公共硬约束

  • 任务需要落盘时,使用唯一的 ./.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/ 根目录;共享材料放入 shared/,Skill 专属材料放入该 Skill 的 input/、output/、log/。
  • 正式交付物、源代码和正式计划按项目约定保存,不写入任务工作区;未经授权不覆盖、删除、迁移或远程写入。
  • 项目维护变更检查 BAC 可用性并记录需求、AI 产出、工具结果、文件改动和验证摘要;BAC 只做过程审计,不替代署名、责任或合规判断。
  • 不记录 API Key、访问令牌、密码、Cookie、环境/凭据文件、私有 Prompt、身份信息、本地用户名、主机名或不必要的大体积原始数据。
  • 文件路径必须规范化并限制在授权项目范围内;外部 URL、子进程和网络访问遵循最小权限,防止路径遍历、SSRF 和命令注入。
  • Skill 版本唯一记录在自身 config.yaml:skill_info.version;公开 API、协议、目录或配置变更同步文档与 CHANGELOG.md。
  • 仅将 Skill 或 Bensz 基础设施本身的设计缺陷交给 bensz-collect-bugs;先脱敏写入 ~/.bensz-skills/bugs/,当前任务不中断,只有用户明确要求才公开上报,禁止直接修改用户已安装的 Skill 源码。

Skill 专属约束

  • 只改自动确定且通过白名单的正文;保留标题、章节/环境命令、标签和引用命令。
  • 不改 main.tex、项目配置、.cls 或 .sty;allow_missing_citations 为 false 时,缺失 bibkey 默认拒绝写入。
  • 不把研究目标、技术路线、主验证场景、终点、阈值或风险处理写成立项依据的主体论证;不把未验证信息伪装成确定结论。
  • bensz-collect-bugs 是一个用于缺陷留痕与按需上报的 Agent Skill;仅处理本 Skill 或 Bensz 基础设施本身的流程漏判、输入契约不完整和环境假设错误,不处理用户资料错误、第三方服务波动、用户主动改源码或模型偶发波动。
  • 缺陷先脱敏记录到 ~/.bensz-skills/bugs/,当前任务不中断;默认不收集本地用户名、主机名、工作目录或其它敏感信息。
  • 只有用户明确要求公开上报时,才使用本机 gh api 按文件路径提交脱敏记录;不 clone 或 pull 上游仓库。
  • 严禁直接修改用户本地已安装 Skill 的源代码来“顺手修 bug”。
Repository

huangwb8/ChineseResearchLaTeX

Path

skills/nsfc-justification-writer/SKILL.md

Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.