当用户明确要求“推荐投稿期刊”“帮我的论文选 SCI 杂志”“这篇 manuscript 适合投哪些 journal”“期刊匹配/选刊/投稿建议”时必须使用。适用于用户提供全文、摘要、Markdown、LaTeX、PDF、Word 或混合材料的场景;本 skill 会基于 manuscript 与用户偏好,先用内置 `2023IF.xlsx` 做最小硬过滤生成候选池,再由宿主模型自主规划 Set1/Set2/Set3,并联网核验 scope / 质量 / 近 3 个月 PubMed 论文,最后输出 1 份按推荐度排序的 Markdown 选刊报告。⚠️ 不适用:用户只是想润色论文、只想翻译摘要、或只问某个单一期刊的官网信息而不需要系统选刊。
65
79%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Fix and improve this skill with Tessl
tessl review fix ./skills/paper-select-journal/SKILL.md.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/paper-select-journal/ 隐藏目录;用户若明确指定其他目录,才可覆盖默认值。3 的期刊;若确实保留低于 3 的例外,必须写明“为何它仍是领域内人类专家认可的稳妥选择”。.md、.txt、.tex、.pdf、.docx,也可混合提供。analysis/*.json 必须保留在当前 run 目录内;不要把 manuscript_profile.json、set2_scope_review.json、final_recommendations.json 指到 run 目录外。先初始化隐藏工作区:
python3 <skill_root>/scripts/init_workspace.py --project-root .脚本会创建 .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/paper-select-journal/{yyyy-mm-dd-hh-mm}/,其中至少包含:
inputs/analysis/candidates/pubmed/reports/后续所有中间文件都必须留在该 run 目录内。
按用户请求和配置文件提供必要输入;缺失信息应明确列出并停止依赖该输入的步骤。
完整理解论文后,把结果写入 analysis/manuscript_profile.json。
templates/manuscript_profile.template.jsonreferences/manuscript-profile.md
最低字段:titleabstractkeywordsmanuscript_summary画像的作用是帮助 AI 理解稿件,而不是喂给固定打分公式。
如果用户偏好复杂,优先把偏好写成自然语言放进 target_journal_brief 或 notes,不要为了脚本凑很多硬编码线索。
如果确实需要保留低 IF 的人工例外期刊,只能作为后续人工补录候选,并且必须在最终报告里解释“为什么它虽然低于阈值,仍是领域内稳妥选择”。
2023IF.xlsx 做 Set1 候选池内置目录:assets/journal_catalog/2023IF.xlsx
运行:
python3 <skill_root>/scripts/shortlist_journals.py \
--workspace .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/paper-select-journal/{yyyy-mm-dd-hh-mm} \
--profile .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/paper-select-journal/{yyyy-mm-dd-hh-mm}/analysis/manuscript_profile.json产物:
candidates/set1_candidates.jsoncandidates/set1_candidates.md这里的脚本只做最小硬过滤:
不要把这一步输出误解为“已经按语义排好序的最终 shortlist”。 你必须读取该候选池,再结合 manuscript 自主规划真正值得进入 Set2 的期刊。
根据 candidates/set1_candidates.json 与 manuscript 画像,自主决定先核验哪些候选,并逐个联网核验:
优先使用:
把通过核验的期刊写入:
analysis/set2_scope_review.json模板:templates/scope_review.template.json
核验口径:references/journal-quality-checklist.md
运行:
python3 <skill_root>/scripts/fetch_pubmed_recent.py \
--workspace .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/paper-select-journal/{yyyy-mm-dd-hh-mm} \
--profile .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/paper-select-journal/{yyyy-mm-dd-hh-mm}/analysis/manuscript_profile.json \
--scope-review .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/paper-select-journal/{yyyy-mm-dd-hh-mm}/analysis/set2_scope_review.json产物:
pubmed/recent_articles.jsonpubmed/recent_articles.md这里只提供原始证据,不负责打分或排序。脚本只做 API 调用、XML 解析和按日期整理。
你必须同时阅读:
analysis/manuscript_profile.jsonpubmed/recent_articles.json这里的“AI”指当前执行本 skill 的宿主模型本身:
也就是说,Step 4b 的规划、语义判断、Set3 去留决策和 set3_similarity_review.json 写入,都必须用当前工作环境已提供的 AI 算力原生完成。
逐个判断 Set2 期刊最近 3 个月论文与稿件在以下维度上的语义相关性:
执行时先快速浏览全部 Set2 近期论文形成比较框架,再逐刊做语义判断,最后统一决定 Set3 去留并写出可复核理由。 不要再把这一步退化成机械 token 打分或硬编码加权公式。
把结论写入:
analysis/set3_similarity_review.json模板:templates/set3_similarity_review.template.json
每个期刊至少要写:
journal_nameinclude_in_set3similarity_assessmentrelevant_articlesirrelevant_articles_countoverall_relevance_leveloverall_relevance_level 只允许:
highmediumlownone基于 analysis/set3_similarity_review.json,把最终最多 10 个期刊写入 analysis/final_recommendations.json。
templates/final_recommendations.template.jsonreferences/report-schema.md必须保留:
relevance运行:
python3 <skill_root>/scripts/render_report.py \
--workspace .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/paper-select-journal/{yyyy-mm-dd-hh-mm} \
--final-json .bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/paper-select-journal/{yyyy-mm-dd-hh-mm}/analysis/final_recommendations.json最终输出:
reports/paper-select-journal-report.md如需 --output 覆盖默认文件名,也只能写到当前 run 目录内部,不能把最终 Markdown 报告写到隐藏工作区之外。
所有期刊写在同一个 Markdown 文件里
每个期刊使用 # 层级,下面按需用 ##、###
每个期刊都要写明:影响因子、中科院小类及分区、业内认可度、官方网站、推荐理由,以及最近 3 个月类似主题论文表格和 AI 相关性说明
scope 不匹配,再高 IF 也不要强推
有明显预警 / 垃圾期刊风险,直接淘汰
近 3 个月没有相似主题论文,不一定淘汰,但推荐度要下调
include_in_set3 为 false 的期刊,不要进入最终推荐
中科院分区无法可靠核验时,优先换成信息更透明的候选
用户未明确偏好时,自主选择最稳妥方案,不要把提问变成阻塞
<skill_root> 表示当前 skill 的真实安装目录。
不要假设用户当前工作目录里一定有 paper-select-journal/ 源码副本。
如果你已经处在 skill 根目录,也可以直接运行 python3 scripts/...。
references/manuscript-profile.md
references/journal-quality-checklist.md
references/report-schema.md
输出 Skill description 所承诺的交付物,并明确格式、路径和失败返回形式。
本 Skill 的新任务中间文件统一写入 ./.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/{skill名}/input|output|log/。同一任务复用一个任务根目录;多 Skill 协作才创建 shared/。正式交付物不写入该目录,历史隐藏目录只允许显式兼容读取、迁移或清理。
完成后执行 Skill 已有的静态检查、脚本验证或人工复核,并记录通过标准。
保留错误证据和已完成产物;仅在输入、环境或外部依赖恢复后从最近的失败步骤重试。
遵守以下公共约束,并执行本 Skill 的专属边界。
./.bensz-api/task-{yyyymmdd-hhmm}-{简短描述}/ 根目录;共享材料放入 shared/,Skill 专属材料放入该 Skill 的 input/、output/、log/。config.yaml:skill_info.version;公开 API、协议、目录或配置变更同步文档与 CHANGELOG.md。bensz-collect-bugs;先脱敏写入 ~/.bensz-skills/bugs/,当前任务不中断,只有用户明确要求才公开上报,禁止直接修改用户已安装的 Skill 源码。不得超出本 Skill description 和上方流程所声明的范围;不将未验证的信息伪装成确定结论。
dd19421
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.