daily-papers-notes について
daily-papers-notesは、論文推薦ワークフローの第3段階で、概念を整理し重要論文のObsidianノートを作成するユーザー向けです。必読論文についてpaper-readerを呼び出し、ノートへのリンクを追記して、設定に応じてインデックスを更新します。
主な機能
- 01推薦内容から概念を抽出して分類
- 02必読論文のノート作成にpaper-readerを呼び出し
- 03ノートの品質を検証してリンクを追記
- 04設定に応じて概念・論文インデックスを更新
活用シーン
- 01必読論文の詳細なノートを作成
- 02論文関連の概念を追加して分類
- 03日次推薦にノートリンクを記載して索引を更新
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ huangkiki/ dailypaper-skills --skill daily-papers-notesインストール後、Claude Code で/daily-papers-notesを入力して読み込まれたか確認します。
同梱ファイルbackfill_links.py
詳細
開始前:まず「ノートの整理を開始します 📝」と伝え、今日の日付を知らせてください。
論文ノート(Concepts + Notes + Backfill)
あなたはユーザーの論文ノートシステムです(3 ステップのパイプラインの第 3 ステップ)。概念ライブラリの補完 → 論文ノートの生成 → リンクの反映 → インデックスページの更新を行います。
Step 0: 共有設定の読み込み
まず ../_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が true になるのは、GIT_COMMIT_ENABLED=trueの場合のみです
以降のステップでは、上記の変数を一貫して使用してください。
事前チェック
/tmp/daily_papers_enriched.jsonが存在するか確認します- 今日のおすすめファイル
{DAILY_PAPERS_PATH}/YYYY-MM-DD-论文推荐.mdが存在するか確認します - どちらかが存在しない場合は、先行ステップを実行する必要があることをユーザーに伝え、停止します
ワークフロー
Step 1: 概念ライブラリの補完
1a: 概念リストの抽出
- 今日のおすすめファイルをスキャンし、すべての
[[...]]リンクを抽出します /tmp/daily_papers_enriched.jsonのmethod_namesリストから、すべての手法名も抽出します- 統合して重複を除去します
1b: フィルタリング 次の種類の用語のみを残します(一般的な語、論文自体の名称、企業名、人名は除外します)。
- 手法名/モデル名(例:Q-Former、Parseval Regularization、CVAE、PCM)
- データセット名(例:AMASS、LaFan1、MotionX、AndroidCode)
- シミュレーター/フレームワーク名(例:OmniGibson、IsaacLab、Acados)
- 技術概念名(例:System Level Synthesis、Consistency Model)
1c: 不足している概念ノートの作成(自動分類)
{CONCEPTS_PATH}/ 以下(すべてのサブディレクトリを検索)にすでに存在するか確認します。不足している概念については、概念の種類に応じて対応するサブディレクトリに自動分類し、すべてを 0-待分类/ に入れないでください。
分類ルールは ../paper-reader/references/concept-categories.md を参照してください。
概念ノートのテンプレートは ../paper-reader/references/concept-categories.md を参照してください。
Step 2: 論文ノートの生成
おすすめ論文の完全な論文ノートを生成します。
- 今日のおすすめファイルから振り分け表を読み取り、「必読」とマークされた論文を選びます(「読む価値あり」と「スキップ可」の論文についてはノートを生成しません)
- 既存ノートの品質を確認します(ファイルの有無だけで判断しないでください)。
📒 **ノート**マークが付いている論文については、Glob で対応するノートファイルを見つけ、行数を確認します- 行数が 100 未満の場合は骨組みだけのノートと見なし、必ず再生成します(古いファイルを削除し、paper-reader を再度呼び出します)
- 行数が 100 以上で、
## 关键公式と## 关键图表を含むもののみ合格と見なし、スキップできます
- 生成または再生成が必要な各論文について、Task agent を使用して
/paper-readerskill を呼び出します(arXiv リンクを渡します)。- 固定の出力パスを指定しないでください。ファイル名と分類ディレクトリは paper-reader 自身に決めさせます
- paper-reader は手法名の略称をファイル名として使用し(例:
DAPL.md)、適切なサブディレクトリに自動分類します - agent の完了後、
findまたはGlobで実際に生成されたノートファイルのパスとファイル名を見つけ、Step 3 での反映に備えて記録します
- ノートの生成後、paper-reader が概念ライブラリを自動で補完するため、重複して行う必要はありません
鉄則:論文の数にかかわらず、「必読」の論文すべてのノートを生成してください。1 件も漏らしてはいけません。 時間がかかるのは当然であり、手を抜く理由にはなりません。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 内で定義されています)。
🔍 生成後の品質検証(各論文で必ず実行)
各ノートの生成後、直ちに次の項目を検証してください。
- ファイルの行数が 120 以上(これを下回る場合は内容が不完全です)
$$または$の LaTeX 数式を含む(少なくとも 2 か所)![の画像参照を含む(少なくとも 1 枚)## 关键公式と## 实验结果のセクション見出しを含む- いずれかの条件を満たさない場合は、ファイルを削除して再生成します
Step 3: ノートリンクの反映
すべての論文ノートの生成後、当日のおすすめファイルにノートリンクを反映します。
3a: 既存ノートの収集
Glob を使用して {NOTES_PATH}/ 以下のすべてのサブディレクトリをスキャンし({CONCEPTS_PATH} は除外)、すべての .md ファイルのリストを取得して、{ファイル名(.md を除く): 相対パス} のインデックスを作成します。
3b: 論文とノートの照合
当日のおすすめファイル {DAILY_PAPERS_PATH}/YYYY-MM-DD-论文推荐.md を読み込み、各論文(### N. で始まる段落)について次の操作を行います。
- 論文タイトルから手法名/モデル名を抽出します(通常はタイトルのコロンより前にある略称です。例:「DM0」、「BPP」、「PA3FF」)
- 3a のノートインデックスと照合します(大文字と小文字は区別しません)
- 富化データの
method_namesも確認します(データが残っている場合)
3c: ノートリンクの挿入と振り分け表の修正
ノートが見つかった論文について、- **来源**: 行の後に 1 行挿入します。
- 📒 **笔记**: [[笔记名]]
ここで 笔记名 は .md 拡張子を除いたファイル名です(Obsidian が正しいパスを自動的に解決します)。
- その論文にすでに
📒 **已有笔记**または📒 **笔记**行がある場合は、重複して追加せずスキップします - Edit ツールを使って論文ごとに挿入し、ファイルの他の内容を損なわないようにします
3d: 振り分け表の wikilink の同期修正
paper-reader はノートの生成時にファイル名を独自に決めます(通常は DAPL などの手法名の略称)。そのため、振り分け表の [[wikilink]] と一致しない場合があります(例:振り分け表では [[Emerging Extrinsic Dexterity]] となっている)。したがって、リンクを反映する際は必ず確認して修正してください。
- 生成済みノートがある論文について、実際のノートファイル名を取得します(例:
DAPL) - 振り分け表(
## 分流表領域)で、その論文の[[...]]リンクを探します - wikilink のテキストが実際のノートファイル名と一致しない場合は、Edit を使って
[[実際のファイル名]]に置き換えます - 論文の詳細評価の見出しの下にも、一致しない wikilink がないか同様に確認し、修正します
Step 4: MOC インデックスの更新
AUTO_REFRESH_INDEXES=true の場合に限り実行します。
python3 ../_shared/generate_concept_mocs.py
python3 ../_shared/generate_paper_mocs.py
デフォルト設定ではこのスイッチは有効になっているため、新しく追加した概念ノートと論文ノートは通常、各分類ディレクトリページに自動的に反映されます。
Step 5: Git コミット
GIT_COMMIT_ENABLED=true の場合に限り実行し、必ず次の項目を先に確認してください。
VAULT_PATH/.gitが存在するgit add -Aの後、実際にステージ済みの変更がある
条件を満たした場合にのみ commit します。
cd {VAULT_PATH} && git add -A && git commit -m "daily papers: notes YYYY-MM-DD"
GIT_PUSH_ENABLED=true かつリポジトリにリモートが設定されている場合に限り push します。
出力
完了後、ユーザーに次の内容を伝えてください。
- 新しく作成した概念の数
- 生成した論文ノートの数
- 反映したノートリンクの数
- パイプラインがすべて完了したこと
注意事项
- 如果前置文件不存在,必须先运行前面的步骤
/paper-readerskill 会自动处理概念库补充,不要重复创建- 仅为"必读"论文生成笔记,"值得看"不生成,耗时正常,不是跳过的理由
- 默认自动刷新目录页,但默认不做 git commit / push
- 绝对禁止以下偷懒行为:
- 自己手写 70 行骨架笔记代替 paper-reader 输出
- 以"context overflow"为由跳过论文不生成笔记
- 看到文件已存在就跳过,不检查质量
- 生成笔记后不做质量验证
- 如果 context 真的接近上限:先保存已完成的笔记;只有在
GIT_COMMIT_ENABLED=true时才 commit。然后明确告知用户还有 N 篇未完成,需要在新会话中运行跑一下论文笔记继续。绝不能默默跳过