关于 ppw:cover-letter
ppw:cover-letter 面向准备学术论文投稿的研究者,根据目标期刊模板和论文内容生成完整投稿信。若缺少期刊模板,它会拒绝使用通用表述代写。
主要功能
- 01按期刊范围撰写贡献说明
- 02提取论文标题与核心贡献
- 03生成数据与代码可用性部分
- 04生成利益冲突声明及作者联系信息
- 05缺少期刊模板时拒绝生成
适用场景
- 01起草 CEUS 投稿信
- 02根据论文内容生成完整投稿信
- 03准备作者联系方式和数据可用性声明
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ lylll9436/ paper-polish-workflow-skill --skill ppw:cover-letter安装后在 Claude Code 中输入/ppw:cover-letter确认已加载。
详细介绍
用途
此 Skill 通过加载目标期刊的模板,使贡献说明与期刊的范围和目标相契合;通过 Ask Strategy 收集通讯作者信息;并阅读论文(文件或粘贴的文本),提取论文标题、主要贡献和数据可用性信息,从而生成完整、可直接提交的学术投稿信。输出是一封包含所有四个必需内容块的完整信件:(1)贡献说明——明确对齐已加载模板中声明的期刊范围;(2)数据/代码可用性声明;(3)利益冲突声明;(4)通讯作者联系信息。如果未找到期刊模板,Skill 会立即拒绝——绝不会退而使用通用学术措辞,这与本项目中一贯采用的期刊感知模式一致。
触发条件
在用户请求以下内容时激活:
- 为论文撰写、生成或起草投稿信
- 写投稿信、生成 cover letter、帮我写投稿信
示例请求:
- “为我投稿 CEUS 写一封投稿信”
- “帮我写投稿信”
- “为我的论文生成一封投稿信”
- “写一封投稿到 CEUS 的 cover letter”
- “帮我起草一封投稿信”
- “帮我生成这篇论文的投稿信”
模式
| 模式 | 默认 | 行为 |
|---|---|---|
direct | 是 | 单次生成投稿信;通过 Ask Strategy 一次性收集所有上下文 |
batch | 不支持——每封信都需要特定的论文上下文和作者信息 |
默认模式: direct。用户提供论文和期刊;Skill 收集任何缺失的信息,并一次性生成完整投稿信。
参考资料
必需(始终加载)
无。
叶节点提示(按条件加载)
| 文件 | 加载时机 |
|---|---|
references/journals/ceus.md | 用户选择 CEUS 时;提供目标与范围,以及用于贡献对齐的范围关键词 |
加载规则
- 指定期刊后,加载
references/journals/[journal].md。 - 如果未找到模板:立即拒绝,并回复:“未找到 [X] 的期刊模板。可用模板:CEUS。”
- 模板缺失时,不要使用通用表述继续处理。
- 从已加载的模板中提取目标与范围部分——贡献说明必须直接提及该部分内容。
Ask Strategy
Skill 需要四项输入。如果触发请求或论文内容中已提供,则跳过相应问题。
- 目标期刊——必需;用于确定要加载的模板。如果未指定,则询问。
- 论文文件或文本——必需;用于提取论文标题和主要贡献。如果未提供,则询问文件路径或请用户粘贴内容。
- 通讯作者信息(姓名、电子邮箱、机构)——必需;如果未提供,则合并为一个问题询问。
- 数据/代码可用性——可选;数据集或代码是否公开可用?如果是,则询问代码仓库 URL。如果用户拒绝或不确定,默认为“数据未公开提供”。
规则:
- 继续处理前,最多询问 3 个问题。
- 如果可用,使用 Structured Interaction;否则改用纯文本提问。
- 如果用户未提供通讯作者信息且拒绝提供:使用
[Corresponding Author Name]、[Email]、[Institution]占位符。
工作流
步骤 0:工作流记忆检查
- 读取
.planning/workflow-memory.json。如果文件不存在或为空,则跳到步骤 1。 - 检查最近 1–2 条日志记录是否构成包含
ppw:cover-letter的已识别模式,且该模式在日志中出现次数 >= 阈值。完整算法见skill-conventions.md > Workflow Memory > Pattern Detection。 - 如果发现模式,通过 AskUserQuestion 提出建议:
- 问题:“检测到常用流程:[pattern](已出现 N 次)。是否直接以 direct 模式运行 ppw:cover-letter?”
- 选项:“是,继续” / “否,正常继续”
- 如果用户接受:将模式设为
direct,跳过 Ask Strategy 问题。 - 如果用户拒绝或 AskUserQuestion 不可用:正常继续。
步骤 1:收集上下文
- 对于缺失的信息(期刊、论文、作者详情、数据可用性),运行 Ask Strategy。
- 加载
references/journals/[journal].md。如果未找到:拒绝并回复“未找到 [X] 的期刊模板。可用模板:CEUS。”不要继续。 - 如果论文以文件形式提供:使用 Read 工具加载论文;提取标题和核心贡献。
- 如果论文以粘贴文本形式提供:从粘贴内容中提取标题和核心贡献。
- 从已加载的期刊模板中提取 Aims & Scope 部分(贡献陈述会直接参考该部分)。
- **记录工作流:**将
{"skill": "ppw:cover-letter", "ts": "<ISO timestamp>"}追加到.planning/workflow-memory.json。如果文件不存在,则创建文件并写入[]。如果日志长度 >= 50,则删除最早的条目。
步骤 2:起草信件
使用以下锁定格式:
[Date]
The Editor-in-Chief
[Editor Name]
[Journal Name]
Dear [Editor Name],
We submit our manuscript entitled "[Paper Title]" for consideration in [Journal Name].
**Contribution Statement**
[1–2 sentences explicitly referencing journal's stated scope from loaded template]
**Data and Code Availability**
[Repository URLs, or "Data are not publicly available due to [reason]."]
**Conflict of Interest**
The authors declare no conflict of interest.
**Corresponding Author**
[Name]
[Email]
[Institution]
Sincerely,
[Authors]
**贡献陈述规则:**撰写 1–2 句,明确引用期刊模板中所述的期刊范围和目标。使用针对具体期刊的表述:“本文探讨了 [X],这与 [Journal] 关注 [模板中的范围表述] 直接契合。”不要使用泛泛的表述(“本文推动了……领域的发展”)。
**数据/代码部分:**如果提供了仓库 URL,则列出这些 URL;否则写明“由于 [给出的原因;若未提供原因,则省略原因从句],数据未公开。”
**利益冲突:**始终使用标准声明“The authors declare no conflict of interest.”
**联系信息部分:**使用提供的作者详情;如果未提供,则使用方括号占位符。
步骤 3:输出
- **文件输入:**使用 Write 工具写入
{input_filename_without_ext}_cover_letter.md。 - **粘贴文本输入:**在对话中显示完整信件。
- 向用户确认输出位置。
输出约定
| 输出 | 格式 | 条件 |
|---|---|---|
cover_letter_md | 位于 {input_filename_without_ext}_cover_letter.md 的 Markdown 文件 | 文件输入 |
cover_letter_text | 在对话中显示完整信件 | 粘贴文本输入或 Write 工具失败 |
必需内容部分(每封信都必须包含以下四项):
**Contribution Statement** ← references journal scope explicitly
**Data and Code Availability** ← links or "not publicly available"
**Conflict of Interest** ← standard declaration
**Corresponding Author** ← name, email, institution
注意:贡献陈述必须明确引用期刊范围,不得使用泛泛的学术赞誉。
边缘情况
| 情况 | 处理方式 |
|---|---|
| 未找到期刊模板 | 拒绝:“未找到 [X] 的期刊模板。可用模板:CEUS。”不要使用泛泛的表述生成信件。 |
| 论文文件不存在或无法读取 | 请用户改为粘贴论文文本或摘要 |
| 用户未提供联系信息且拒绝补充 | 使用 [Corresponding Author Name]、[Email]、[Institution] 占位符;提醒用户提交前必须填写 |
| 数据可用性未知 | 使用“数据可用性将在修订阶段确认。” |
| 列出了多位通信作者 | 询问哪位是通信作者;联系信息部分只填写一位 |
| 模板中的 Aims & Scope 部分内容较少 | 使用模板中所有可用的范围表述;注明贡献契合度可能仅为近似判断 |
后备方案
| 情况 | 后备方案 |
|---|---|
| 无法进行结构化交互 | 按顺序以纯文本问题询问期刊名称和作者详情 |
| Read 工具无法读取论文文件 | 请用户粘贴摘要或关键贡献句 |
| Write 工具失败 | 在对话中显示完整信件;建议用户复制到 .md 文件 |
缺少 references/journals/ceus.md | 使用期刊模板缺失消息拒绝;没有模板时不要生成信件 |
示例
调用:“为我投稿 CEUS 撰写一封投稿信”(附带文件 my_paper.tex)
- 技能加载
references/journals/ceus.md,提取宗旨与范围。 - 技能读取
my_paper.tex,提取标题和主要贡献。 - 技能询问:“请提供您的姓名、邮箱和所属机构,以便填写通信信息。”
- 技能询问:“您的数据或代码是否公开?如果是,请提供代码仓库 URL。”
- 技能生成投稿信并写入
my_paper_cover_letter.md。
输出的前 8 行:
March 2026
The Editor-in-Chief
[Editor Name]
Computers, Environment and Urban Systems
Dear [Editor Name],
We submit our manuscript entitled "Spatiotemporal Analysis of Urban Heat Islands Using Remote
Sensing" for consideration in Computers, Environment and Urban Systems.
**Contribution Statement**
This paper addresses urban heat island detection and mitigation across metropolitan areas, which
aligns directly with CEUS's focus on computational approaches to understanding urban systems and
the built environment.
技能:cover-letter-skill 规范:references/skill-conventions.md