论文笔记生成(3 步流水线的第 3 步)。补充概念库,为推荐论文生成完整笔记, 链接回填到推荐文件;目录页默认自动刷新,git 自动化默认关闭。 触发词:"批量笔记"、"跑一下论文笔记"
63
74%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./skills/daily-papers-notes/SKILL.md开始前: 先说一声 "开始整理笔记 📝" 并告知今天日期。
你是 用户的论文笔记系统(3 步流水线的第 3 步)。补充概念库 → 生成论文笔记 → 链接回填 → 刷新目录页。
先读取 ../_shared/user-config.json,如果 ../_shared/user-config.local.json 存在,再用它覆盖默认值。
显式生成并在后续统一使用这些变量:
VAULT_PATHNOTES_PATHCONCEPTS_PATHDAILY_PAPERS_PATHAUTO_REFRESH_INDEXESGIT_COMMIT_ENABLEDGIT_PUSH_ENABLEDENRICHED_INPUT = /tmp/daily_papers_enriched.json其中:
NOTES_PATH = {VAULT_PATH}/{paper_notes_folder}CONCEPTS_PATH = {NOTES_PATH}/{concepts_folder}DAILY_PAPERS_PATH = {VAULT_PATH}/{daily_papers_folder}GIT_PUSH_ENABLED 只有在 GIT_COMMIT_ENABLED=true 时才可能为真后续步骤统一使用上面的变量。
/tmp/daily_papers_enriched.json 是否存在{DAILY_PAPERS_PATH}/YYYY-MM-DD-论文推荐.md 是否存在1a: 提取概念列表
[[...]] 链接/tmp/daily_papers_enriched.json 的 method_names 列表中提取所有方法名1b: 过滤 只保留以下类型的术语(跳过通用词、论文自身名称、公司名、人名):
1c: 创建缺失的概念笔记(自动归类)
检查 {CONCEPTS_PATH}/ 下是否已存在(搜索所有子目录)。对于缺失的概念,根据概念类型自动归类到对应子目录,不要全扔 0-待分类/。
分类规则见 ../paper-reader/references/concept-categories.md
概念笔记模板见 ../paper-reader/references/concept-categories.md
为推荐论文生成完整论文笔记:
📒 **笔记** 标记的论文,用 Glob 找到对应笔记文件,检查行数## 关键公式 和 ## 关键图表 的才算合格,可以跳过/paper-reader skill(传入 arXiv 链接)
DAPL.md),并自动分类到正确子目录find 或 Glob 找到实际生成的笔记文件路径和文件名,记录下来供 Step 3 回填用铁律:不论论文数量多少,"必读"的论文全部生成笔记,一篇不能少。 耗时长是正常的,不是偷懒的理由。如果 context 接近上限,先把已完成内容落盘; 只有在
GIT_COMMIT_ENABLED=true时才允许做阶段性 commit。然后告知用户剩余论文需要在新会话中继续,绝对不能默默跳过。
绝对禁止自己手写简化版笔记。每篇论文必须通过 Task agent 调用 /paper-reader skill 生成。
不要因为"怕 context overflow"或"论文太多"就自己写个 70 行的骨架糊弄过去。
paper-reader 在独立的 Task agent 中运行,不会占用主 agent 的 context。
笔记质量由 paper-reader skill 自身保证(模板、公式、图片、概念链接等规则均在 paper-reader 中定义)。
每篇笔记生成后,立即验证:
$$ 或 $ LaTeX 公式(至少 2 处)![ 图片引用(至少 1 张)## 关键公式 和 ## 实验结果 section header论文笔记全部生成完成后,将笔记链接回填到当天的推荐文件中。
3a: 收集已有笔记
用 Glob 扫描 {NOTES_PATH}/ 下所有子目录(跳过 {CONCEPTS_PATH}),获取所有 .md 文件列表,建立 {文件名(不含.md): 相对路径} 的索引。
3b: 匹配论文与笔记
读取当天推荐文件 {DAILY_PAPERS_PATH}/YYYY-MM-DD-论文推荐.md,对每篇论文(### N. 开头的段落):
method_names(如果有残留数据)3c: 插入笔记链接 + 修正分流表
对匹配到笔记的论文,在 - **来源**: 行之后插入一行:
- 📒 **笔记**: [[笔记名]]其中 笔记名 是不含 .md 后缀的文件名(Obsidian 会自动解析到正确路径)。
📒 **已有笔记** 或 📒 **笔记** 行,跳过不重复添加3d: 同步修正分流表 wikilink
paper-reader 生成笔记时会自行决定文件名(通常用方法名缩写,如 DAPL),可能与分流表中的 [[wikilink]] 不一致(如分流表写了 [[Emerging Extrinsic Dexterity]])。因此回填时必须检查并修正:
DAPL)## 分流表 区域)中查找该论文的 [[...]] 链接[[实际文件名]]只有在 AUTO_REFRESH_INDEXES=true 时才执行:
python3 ../_shared/generate_concept_mocs.py
python3 ../_shared/generate_paper_mocs.py默认配置下这个开关是开启的,所以新增的概念和论文笔记通常会自动反映到各分类目录页中。
仅当 GIT_COMMIT_ENABLED=true 时执行,并且必须先检查:
VAULT_PATH/.git 存在git add -A 后确实有 staged changes满足条件后才 commit:
cd {VAULT_PATH} && git add -A && git commit -m "daily papers: notes YYYY-MM-DD"只有在 GIT_PUSH_ENABLED=true 且仓库已配置远端时才 push。
完成后告知用户:
/paper-reader skill 会自动处理概念库补充,不要重复创建GIT_COMMIT_ENABLED=true 时才 commit。然后明确告知用户还有 N 篇未完成,需要在新会话中运行 跑一下论文笔记 继续。绝不能默默跳过b2f29bb
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.