mcpField
D
daily-papers-notes

daily-papers-notes

github.com/huangkiki生産性1.3k78 回インストール今日更新
リポジトリ

daily-papers-notes について

daily-papers-notesは、論文推薦ワークフローの第3段階で、概念を整理し重要論文のObsidianノートを作成するユーザー向けです。必読論文についてpaper-readerを呼び出し、ノートへのリンクを追記して、設定に応じてインデックスを更新します。

主な機能

  1. 01推薦内容から概念を抽出して分類
  2. 02必読論文のノート作成にpaper-readerを呼び出し
  3. 03ノートの品質を検証してリンクを追記
  4. 04設定に応じて概念・論文インデックスを更新

活用シーン

  1. 01必読論文の詳細なノートを作成
  2. 02論文関連の概念を追加して分類
  3. 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_PATH
  • NOTES_PATH
  • CONCEPTS_PATH
  • DAILY_PAPERS_PATH
  • AUTO_REFRESH_INDEXES
  • GIT_COMMIT_ENABLED
  • GIT_PUSH_ENABLED
  • ENRICHED_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 の場合のみです

以降のステップでは、上記の変数を一貫して使用してください。

事前チェック

  1. /tmp/daily_papers_enriched.json が存在するか確認します
  2. 今日のおすすめファイル {DAILY_PAPERS_PATH}/YYYY-MM-DD-论文推荐.md が存在するか確認します
  3. どちらかが存在しない場合は、先行ステップを実行する必要があることをユーザーに伝え、停止します

ワークフロー

Step 1: 概念ライブラリの補完

1a: 概念リストの抽出

  1. 今日のおすすめファイルをスキャンし、すべての [[...]] リンクを抽出します
  2. /tmp/daily_papers_enriched.json の method_names リストから、すべての手法名も抽出します
  3. 統合して重複を除去します

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: 論文ノートの生成

おすすめ論文の完全な論文ノートを生成します。

  1. 今日のおすすめファイルから振り分け表を読み取り、「必読」とマークされた論文を選びます(「読む価値あり」と「スキップ可」の論文についてはノートを生成しません)
  2. 既存ノートの品質を確認します(ファイルの有無だけで判断しないでください)。
    • 📒 **ノート** マークが付いている論文については、Glob で対応するノートファイルを見つけ、行数を確認します
    • 行数が 100 未満の場合は骨組みだけのノートと見なし、必ず再生成します(古いファイルを削除し、paper-reader を再度呼び出します)
    • 行数が 100 以上で、## 关键公式 と ## 关键图表 を含むもののみ合格と見なし、スキップできます
  3. 生成または再生成が必要な各論文について、Task agent を使用して /paper-reader skill を呼び出します(arXiv リンクを渡します)。
    • 固定の出力パスを指定しないでください。ファイル名と分類ディレクトリは paper-reader 自身に決めさせます
    • paper-reader は手法名の略称をファイル名として使用し(例:DAPL.md)、適切なサブディレクトリに自動分類します
    • agent の完了後、find または Glob で実際に生成されたノートファイルのパスとファイル名を見つけ、Step 3 での反映に備えて記録します
  4. ノートの生成後、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 内で定義されています)。

🔍 生成後の品質検証(各論文で必ず実行)

各ノートの生成後、直ちに次の項目を検証してください。

  1. ファイルの行数が 120 以上(これを下回る場合は内容が不完全です)
  2. $$ または $ の LaTeX 数式を含む(少なくとも 2 か所)
  3. ![ の画像参照を含む(少なくとも 1 枚)
  4. ## 关键公式 と ## 实验结果 のセクション見出しを含む
  5. いずれかの条件を満たさない場合は、ファイルを削除して再生成します
Step 3: ノートリンクの反映

すべての論文ノートの生成後、当日のおすすめファイルにノートリンクを反映します。

3a: 既存ノートの収集

Glob を使用して {NOTES_PATH}/ 以下のすべてのサブディレクトリをスキャンし({CONCEPTS_PATH} は除外)、すべての .md ファイルのリストを取得して、{ファイル名(.md を除く): 相対パス} のインデックスを作成します。

3b: 論文とノートの照合

当日のおすすめファイル {DAILY_PAPERS_PATH}/YYYY-MM-DD-论文推荐.md を読み込み、各論文(### N. で始まる段落)について次の操作を行います。

  1. 論文タイトルから手法名/モデル名を抽出します(通常はタイトルのコロンより前にある略称です。例:「DM0」、「BPP」、「PA3FF」)
  2. 3a のノートインデックスと照合します(大文字と小文字は区別しません)
  3. 富化データの method_names も確認します(データが残っている場合)

3c: ノートリンクの挿入と振り分け表の修正

ノートが見つかった論文について、- **来源**: 行の後に 1 行挿入します。

- 📒 **笔记**: [[笔记名]]

ここで 笔记名 は .md 拡張子を除いたファイル名です(Obsidian が正しいパスを自動的に解決します)。

  • その論文にすでに 📒 **已有笔记** または 📒 **笔记** 行がある場合は、重複して追加せずスキップします
  • Edit ツールを使って論文ごとに挿入し、ファイルの他の内容を損なわないようにします

3d: 振り分け表の wikilink の同期修正

paper-reader はノートの生成時にファイル名を独自に決めます(通常は DAPL などの手法名の略称)。そのため、振り分け表の [[wikilink]] と一致しない場合があります(例:振り分け表では [[Emerging Extrinsic Dexterity]] となっている)。したがって、リンクを反映する際は必ず確認して修正してください。

  1. 生成済みノートがある論文について、実際のノートファイル名を取得します(例:DAPL)
  2. 振り分け表(## 分流表 領域)で、その論文の [[...]] リンクを探します
  3. wikilink のテキストが実際のノートファイル名と一致しない場合は、Edit を使って [[実際のファイル名]] に置き換えます
  4. 論文の詳細評価の見出しの下にも、一致しない 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 の場合に限り実行し、必ず次の項目を先に確認してください。

  1. VAULT_PATH/.git が存在する
  2. 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-reader skill 会自动处理概念库补充,不要重复创建
  • 仅为"必读"论文生成笔记,"值得看"不生成,耗时正常,不是跳过的理由
  • 默认自动刷新目录页,但默认不做 git commit / push
  • 绝对禁止以下偷懒行为:
    • 自己手写 70 行骨架笔记代替 paper-reader 输出
    • 以"context overflow"为由跳过论文不生成笔记
    • 看到文件已存在就跳过,不检查质量
    • 生成笔记后不做质量验证
  • 如果 context 真的接近上限:先保存已完成的笔记;只有在 GIT_COMMIT_ENABLED=true 时才 commit。然后明确告知用户还有 N 篇未完成,需要在新会话中运行 跑一下论文笔记 继续。绝不能默默跳过

コメント