brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
LaTeX 公式(至少 2 处)\n3. 包含 `![` 图片引用(至少 1 张)\n4. 包含 `## 关键公式` / `## Key equations` 和 `## 实验结果` / `## 实验` / `## Experiments` section header\n5. 若检查未通过,对照原论文修复并复核;保留已有有效内容。行数只是骨架筛查,不能为凑行数、公式或图片数量编造内容;原论文本身没有某类内容时明确注明。\n\n### Step 3: 笔记链接回填\n\n论文笔记全部生成完成后,将笔记链接回填到当天的推荐文件中。\n\n**3a: 收集已有笔记**\n\n用 Glob 扫描 `{NOTES_PATH}/` 下所有子目录(跳过 `{CONCEPTS_PATH}`),获取所有 `.md` 文件列表,建立 `{文件名(不含.md): 相对路径}` 的索引。\n\n**3b: 匹配论文与笔记**\n\n读取当天推荐文件 `{RECOMMENDATION_PATH}`,对每篇论文(`### N.` 开头的段落):\n\n1. 从论文标题中提取方法名/模型名(通常是标题冒号前的缩写,如 \"DM0\"、\"BPP\"、\"PA3FF\")\n2. 与 3a 的笔记索引匹配(不区分大小写)\n3. 也检查富化数据的 `method_names`(如果有残留数据)\n\n**3c: 插入笔记链接 + 修正分流表**\n\n回填现有文件时保留文件的标签语言:中文 `来源` / `笔记` / `已有笔记` / `分流表` 对应英文 `Source` / `Note` / `Existing note` / `Reading priorities`。可运行 `python3 backfill_links.py --recommendation \"{RECOMMENDATION_PATH}\" --notes-dir \"{NOTES_PATH}\"`,并检查未匹配项。\n\n对匹配到笔记的论文,在 `- **来源**:` 行之后插入一行:\n\n```markdown\n- 📒 **笔记**: [[笔记名]]\n```\n\n其中 `笔记名` 是不含 `.md` 后缀的文件名(Obsidian 会自动解析到正确路径)。\n\n- 如果该论文已有 `📒 **已有笔记**` 或 `📒 **笔记**` 行,跳过不重复添加\n- 使用 Edit 工具逐篇插入,确保不破坏文件其他内容\n\n**3d: 同步修正分流表 wikilink**\n\npaper-reader 生成笔记时会自行决定文件名(通常用方法名缩写,如 `DAPL`),可能与分流表中的 `[[wikilink]]` 不一致(如分流表写了 `[[Emerging Extrinsic Dexterity]]`)。因此回填时必须检查并修正:\n\n1. 对每篇已生成笔记的论文,拿到实际笔记文件名(如 `DAPL`)\n2. 在分流表(`## 分流表` 区域)中查找该论文的 `[[...]]` 链接\n3. 如果 wikilink 文本与实际笔记文件名不一致,用 Edit 替换为 `[[实际文件名]]`\n4. 同样检查论文详评标题下方是否有不一致的 wikilink,一并修正\n\n### Step 4: 刷新 MOC 索引\n\n只有在 `AUTO_REFRESH_INDEXES=true` 时才执行:\n\n```bash\npython3 ../_shared/generate_concept_mocs.py\npython3 ../_shared/generate_paper_mocs.py\n```\n\n默认配置下这个开关是开启的,所以新增的概念和论文笔记通常会自动反映到各分类目录页中。\n\n### Step 5: Git 提交\n\n仅当 `GIT_COMMIT_ENABLED=true` 时执行,并且必须先检查:\n\n1. `VAULT_PATH/.git` 存在\n2. `git add -A` 后确实有 staged changes\n\n满足条件后才 commit:\n\n```bash\ncd {VAULT_PATH} && git add -A && git commit -m \"daily papers: notes YYYY-MM-DD\"\n```\n\n只有在 `GIT_PUSH_ENABLED=true` 且仓库已配置远端时才 push。\n\n## 输出\n\n完成后告知用户:\n- 创建了多少个新概念\n- 生成了多少篇论文笔记\n- 回填了多少个笔记链接\n- 流水线全部完成\n\n## 注意事项\n\n- 如果前置文件不存在,必须先运行前面的步骤\n- `paper-reader` skill 会自动处理概念库补充,不要重复创建\n- 仅为\"必读\"论文生成笔记,\"值得看\"不生成,耗时正常,**不是跳过的理由**\n- 默认自动刷新目录页,但默认不做 git commit / push\n- **绝对禁止**以下偷懒行为:\n - 自己手写 70 行骨架笔记代替 paper-reader 输出\n - 以\"context overflow\"为由跳过论文不生成笔记\n - 看到文件已存在就跳过,不检查质量\n - 生成笔记后不做质量验证\n- 如果 context 真的接近上限:先保存已完成的笔记;只有在 `GIT_COMMIT_ENABLED=true` 时才 commit。然后**明确告知用户**还有 N 篇未完成,需要在新会话中运行 `跑一下论文笔记` 继续。绝不能默默跳过\n","licenseDocuments":[]}}
daily-papers-notesGenerate full notes for must-read recommendations, maintain concepts, and backfill links. English triggers: "generate paper notes", "batch paper notes". This is pipeline stage 3. 论文笔记生成(3 步流水线的第 3 步)。补充概念库,为推荐论文生成完整笔记, 链接回填到推荐文件;目录页默认自动刷新,git 自动化默认关闭。 触发词:"批量笔记"、"跑一下论文笔记"
Independent GitHub snapshot · Automated classification · Original documentation governs
name: daily-papers-notes description: | Generate full notes for must-read recommendations, maintain concepts, and backfill links. English triggers: "generate paper notes", "batch paper notes". This is pipeline stage 3.
论文笔记生成(3 步流水线的第 3 步)。补充概念库,为推荐论文生成完整笔记, 链接回填到推荐文件;目录页默认自动刷新,git 自动化默认关闭。
First resolve OUTPUT_LANGUAGE using language selection.
For an English request (or an explicit request for English), read and follow
the English workflow instead of the Chinese body below.
中文请求继续执行下文;用户明确指定的语言优先。内部阶段继承语言,不从论文或工具输出重新判断。
开始前读取 Agent 运行约定,解析当前 Skill 目录、有效配置和 TEMP_DIR,再执行下文。
开始前: 先说一声 "开始整理笔记 📝" 并告知今天日期。
你是 用户的论文笔记系统(3 步流水线的第 3 步)。补充概念库 → 生成论文笔记 → 链接回填 → 刷新目录页。
运行 python3 ../_shared/user_config.py,使用其输出的合并配置(含个人配置和环境变量覆盖)。
显式生成并在后续统一使用这些变量:
VAULT_PATHNOTES_PATHCONCEPTS_PATHDAILY_PAPERS_PATHAUTO_REFRESH_INDEXESGIT_COMMIT_ENABLEDGIT_PUSH_ENABLEDENRICHED_INPUT = {TEMP_DIR}/daily_papers_enriched.jsonRECOMMENDATION_PATH:上阶段传入的实际推荐文件路径;独立调用时按日期定位中/英文文件,如两份均存在且无法确定本次目标,先确认目标再写入。其中:
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 时才可能为真后续步骤统一使用上面的变量。
{TEMP_DIR}/daily_papers_enriched.json 是否存在{RECOMMENDATION_PATH} 是否存在1a: 提取概念列表
[[...]] 链接{TEMP_DIR}/daily_papers_enriched.json 的 method_names 列表中提取所有方法名1b: 过滤 只保留以下类型的术语(跳过通用词、论文自身名称、公司名、人名):
1c: 创建缺失的概念笔记(自动归类)
检查 {CONCEPTS_PATH}/ 下是否已存在(搜索所有子目录)。对于缺失的概念,根据概念类型自动归类到对应子目录,不要全扔 0-待分类/。
分类规则见 ../paper-reader/references/concept-categories.md
概念笔记模板见 ../paper-reader/references/concept-categories.md
为推荐论文生成完整论文笔记:
📒 **笔记** / 📒 **已有笔记** / 📒 **Note** / 📒 **Existing note** 标记的论文,用 Glob 找到对应笔记文件,检查行数## 关键公式 / ## Key equations 和 ## 关键图表 / ## Figures and tables 的才算合格,可以跳过DAPL.md),并自动分类到正确子目录find 或 Glob 找到实际生成的笔记文件路径和文件名,记录下来供 Step 3 回填用铁律:不论论文数量多少,"必读"的论文全部生成笔记,一篇不能少。 耗时长是正常的,不是偷懒的理由。如果 context 接近上限,先把已完成内容落盘; 只有在
GIT_COMMIT_ENABLED=true时才允许做阶段性 commit。然后告知用户剩余论文需要在新会话中继续,绝对不能默默跳过。
每篇论文必须遵循 paper-reader 的完整工作流,不能用简化笔记替代。
不要因为"怕 context overflow"或"论文太多"就自己写个 70 行的骨架糊弄过去。
宿主支持且允许子 Agent 时,可用独立上下文运行 paper-reader;否则读取其 SKILL.md 和引用模板,在当前会话逐篇执行,并及时保存进度。
笔记质量由 paper-reader skill 自身保证(模板、公式、图片、概念链接等规则均在 paper-reader 中定义)。
每篇笔记生成后,立即验证:
$ 或 $ LaTeX 公式(至少 2 处)![ 图片引用(至少 1 张)## 关键公式 / ## Key equations 和 ## 实验结果 / ## 实验 / ## Experiments section header论文笔记全部生成完成后,将笔记链接回填到当天的推荐文件中。
3a: 收集已有笔记
用 Glob 扫描 {NOTES_PATH}/ 下所有子目录(跳过 {CONCEPTS_PATH}),获取所有 .md 文件列表,建立 {文件名(不含.md): 相对路径} 的索引。
3b: 匹配论文与笔记
读取当天推荐文件 {RECOMMENDATION_PATH},对每篇论文(### N. 开头的段落):
method_names(如果有残留数据)3c: 插入笔记链接 + 修正分流表
回填现有文件时保留文件的标签语言:中文 来源 / 笔记 / 已有笔记 / 分流表 对应英文 Source / Note / Existing note / Reading priorities。可运行 python3 backfill_links.py --recommendation "{RECOMMENDATION_PATH}" --notes-dir "{NOTES_PATH}",并检查未匹配项。
对匹配到笔记的论文,在 - **来源**: 行之后插入一行:
- 📒 **笔记**: [[笔记名]]
其中 笔记名 是不含 .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 篇未完成,需要在新会话中运行 跑一下论文笔记 继续。绝不能默默跳过