mcpField
P
ppw:literature

ppw:literature

github.com/lylll9436生産性39075 回インストール31 週間前に更新
リポジトリ

ppw:literature について

ppw:literatureはSemantic Scholar MCPで学術論文を検索し、番号付きの結果から選択した論文のBibTeXを、MCPの返却データだけで作成します。文献検索や引用情報の整理に使えますが、論文本文の執筆・改稿は行わず、MCPが利用できない場合は処理を中止します。

主な機能

  1. 01論文を検索して番号付きで表示
  2. 02ユーザーによる論文選択
  3. 03MCPのデータだけでBibTeXを作成
  4. 04取得できない引用フィールドを省略
  5. 05検索前にMCPの利用可否を確認

活用シーン

  1. 01テーマに関連する学術論文を探す
  2. 02検索結果から引用論文を選ぶ
  3. 03選択した論文のBibTeXを作成

MCP 対応

Semantic Scholar MCPで論文を検索し、要旨などのメタデータを取得して、返却データからBibTeXを作成します。事前確認でMCPを利用できない場合は処理を中止し、設定方法を案内します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/lylll9436/paper-polish-workflow-skill --skill ppw:literature

インストール後、Claude Code で/ppw:literatureを入力して読み込まれたか確認します。

詳細

目的

この Skill は Semantic Scholar MCP を使用して学術文献を検索し、番号付きのインタラクティブな検索結果リスト(論文は最大 10 件)を提示します。ユーザーが特定の論文を選択するまで待機した後、MCP から返されたデータのみを使用して、検証済みの BibTeX エントリを生成します。ワークフローを開始する前に、事前チェックで MCP が利用可能であることを確認します。利用できない場合、機能を制限した状態で続行するのではなく、設定手順を示してただちに処理を拒否します。ユーザーが論文を選択した後、引用を確定する前に論文が実際に関連していることを確認するよう促す、必須のハルシネーション防止確認プロンプトを表示します。この Skill は論文の内容を執筆または書き換えるものではなく、検索、選択、引用エントリの生成のみを行います。

トリガー

以下をユーザーが依頼したときに有効になります:

  • トピックに関する学術論文の検索
  • 参考文献の BibTeX または引用エントリの生成
  • 文献探し、関連論文の検索、引用形式の生成

呼び出し例:

  • 「都市ヒートアイランドに関する論文を探して」/「都市ヒートアイランドに関する文献を探して」
  • 「時空間分析に関する文献を検索して」/「時空間分析に関連する文献を検索して」
  • 「引用の BibTeX を生成して」/「BibTeX の引用形式を生成して」

モード

モードデフォルト動作
directはい1 回の検索 → 検索結果リスト → ユーザーが選択 → BibTeX を生成。反復なし
batch未対応 — 検索ごとにセッション内でユーザーの選択が必要

デフォルトモード: direct。検索は 1 回のみです。検索結果に満足できない場合は、異なるキーワードで Skill を再度呼び出します。

参考資料

必須(常に読み込み)

なし。このタスクは検索のため、表現パターンのファイルは必要ありません。

リーフヒント

なし。

参考ファイルは読み込まれません。論文のメタデータはすべて、実行時に Semantic Scholar MCP から取得されます。

質問戦略

Skill は会話形式で検索入力を収集します。質問は最大 2 つです。

  1. 検索クエリ(必須):検索するトピックまたはキーワードです。トリガーメッセージに記載されていない場合にのみ尋ねます。
  2. 検索結果の件数(任意):表示する検索結果の件数です。デフォルトは 5 件、最大は 10 件です。

トリガーメッセージにトピックが記載されている場合は、質問 1 を省略してすぐに進みます。

ワークフロー

ステップ 0:ワークフローメモリの確認
  • .planning/workflow-memory.json を読み込みます。ファイルがない、または空の場合は、ステップ 1 に進みます。
  • 直近 1~2 件のログエントリに、ログ内でしきい値以上の回数出現した ppw:literature を含む認識済みパターンがあるか確認します。アルゴリズムの詳細は skill-conventions.md > Workflow Memory > Pattern Detection を参照してください。
  • パターンが見つかった場合は、AskUserQuestion を使って次の推奨を提示します。
    • 質問:「よく使われるワークフローが検出されました:[pattern](N 回出現)。ppw:literature を direct モードでそのまま実行しますか?」
    • 選択肢:「はい、続行」/「いいえ、通常どおり続行」
  • ユーザーが承諾した場合:モードを direct に設定し、質問戦略の質問を省略します。
  • ユーザーが断った場合、または AskUserQuestion が利用できない場合:通常モードで続行します。
ステップ 1:MCP の事前チェック
  1. {"query": "test", "limit": 1} を指定して mcp__semantic-scholar__papers-search-basic を呼び出します。

  2. 呼び出しに成功した場合:ステップ 2 に進みます。

  3. 呼び出しに失敗した場合、またはツールが利用できない場合:次のメッセージを表示してただちに処理を拒否します。

    "Semantic Scholar MCP は利用できません。この Skill を使用するには:

    1. Claude Code の Settings → MCP Servers を開きます
    2. Semantic Scholar サーバーを追加します(サーバーキー:semanticscholar)
    3. Claude Code を再起動して、もう一度お試しください"

    MCP が利用できない場合は、この時点以降に進んではいけません。

ステップ 2:検索クエリの収集
  1. トリガーメッセージに検索トピックが記載されている場合は、そこから抽出します。
  2. トピックが記載されていない場合は、「どのトピックまたはキーワードを検索しますか?」と尋ねます。
  3. 検索結果の件数を確認します(デフォルト:5 件)。
  • ワークフローの記録: .planning/workflow-memory.json に {"skill": "ppw:literature", "ts": "<ISO timestamp>"} を追記します。ファイルがない場合は [] として作成します。ログの長さが 50 以上の場合は、最も古いエントリを削除します。
ステップ 3:検索を実行して結果カードを作成する
  1. ユーザーのクエリと結果件数を指定して、mcp__semantic-scholar__papers-search-basic を呼び出します。

  2. 返された各論文について、検索結果の abstract フィールドが空の場合は、mcp__semantic-scholar__get-paper-abstract を呼び出して抄録の抜粋を取得します。

  3. 次の形式で番号付きの結果カードを表示します。

    **[1] Title of the Paper**
    Authors: Smith, J.; Lee, K. · Year: 2023 · Citations: 142
    > "One sentence from abstract describing the core contribution..."
    
    **[2] Another Relevant Paper**
    Authors: Zhang, W. · Year: 2022 · Citations: 89
    > "Abstract not available"
    

表示の最後に、次の文を表示します:"論文を選択してください(番号を入力)。キャンセルするには「none」と入力してください。"

ステップ 4:ユーザーによる選択
  1. ユーザーが番号または「none」を入力するまで待ちます。

  2. 「none」の場合:「検索をキャンセルしました。」と応答して、セッションを終了します。

  3. 範囲外の番号の場合:表示されたリストから有効な番号を再入力するようユーザーに求めます。

  4. 有効な番号の場合:論文のタイトルを再掲して、選択内容を確認します。

  5. 必須の確認プロンプトを表示します(省略しないでください)。

    "引用する主張が選択した論文によって実際に裏付けられていることを確認してください。タイトルだけを根拠にしないでください。"

ステップ 5:BibTeX を生成する
  1. 選択した論文について、MCP から返されたフィールドのみを使って BibTeX エントリを作成します。

  2. 引用キーの形式:firstAuthorLastnameLowercaseYYYYfirstKeyword(例:smith2023urban)。

  3. ジャーナル論文には @article、会議論文には @inproceedings、プレプリントには @misc を使用します。MCP から返された論文の種類に従ってください。

  4. MCP からフィールド(volume、pages、DOI)が返されなかった場合は、そのフィールドを省略します。事前知識で補完しないでください。

  5. BibTeX をコードフェンス内に表示します。

    @article{smith2023urban,
      title     = {Full title from MCP},
      author    = {Last, First and Last2, First2},
      journal   = {Journal name from MCP},
      year      = {2023},
      volume    = {101},
      pages     = {101943},
      doi       = {10.1016/j.compenvurbsys.2023.101943}
    }
    

出力仕様

出力形式条件
bibtex_entryBibTeX コードブロック(@article、@inproceedings、または @misc)ユーザーが論文を選択した後

すべてのフィールド値は、MCP から返された論文レコードの情報を使ってください。事前知識で欠落フィールドを補わず、省略してください。

BibTeX の例(すべてのフィールドは MCP データに基づく):

@article{li2022spatiotemporal,
  title  = {Spatiotemporal Analysis of Urban Land Use Change},
  author = {Li, Wei and Wang, Fang},
  journal = {Computers, Environment and Urban Systems},
  year   = {2022},
  volume = {95},
  pages  = {101812},
  doi    = {10.1016/j.compenvurbsys.2022.101812}
}

エッジケース

状況対応
MCP の事前チェックに失敗ステップ 1 の正確なセットアップ手順を示して拒否し、検索を続行しない
検索結果が 0 件「'[query]' に該当する論文が見つかりませんでした。より一般的なキーワードを試すか、別の語句で再実行してください。」
結果の abstract フィールドがない結果カードに「抄録はありません」と表示し、論文を省略しない
ユーザーが範囲外の番号を選択表示されたリストから有効な番号を再入力するよう求める
ユーザーが「none」と入力「検索をキャンセルしました。」と応答してセッションを終了
MCP が論文以外の種類を返す適切に @inproceedings または @misc を使用し、@article を強制しない
MCP から DOI が返されないdoi フィールドを省略し、コメントを追加する:% DOI not available — please verify manually

フォールバック

シナリオフォールバック
Semantic Scholar MCP が利用できないセットアップ手順(ステップ 1)を示して直ちに拒否する。部分的なフォールバックモードは使用しない
論文 1 件の get-paper-abstract 呼び出しに失敗抄録を「抄録はありません」とし、残りの結果の表示を続ける
構造化されたやり取りが利用できない検索クエリを通常のテキストで質問し、会話内で番号付きリストを使って続行する
基本検索の結果が不十分ユーザーに「結果が不十分な場合は、より具体的なキーワードで Skill を再実行してください」と伝える(1 回のみ)

例

ユーザー:「都市のヒートアイランド緩和に関する論文を探してください」

Skill:[事前チェックが問題なく完了]→ {"query": "urban heat island mitigation", "limit": 5} を指定して mcp__semantic-scholar__papers-search-basic を呼び出し、結果を表示します。

**[1] Urban Heat Island Mitigation through Green Infrastructure**
Authors: Smith, J.; Lee, K. · Year: 2023 · Citations: 142
> "This study evaluates green roof and tree-planting strategies for reducing UHI intensity in dense urban cores."

**[2] Cool Pavements and Their Effect on Urban Thermal Comfort**
Authors: Zhang, W.; Chen, L. · Year: 2022 · Citations: 89
> "A field experiment comparing reflective pavement materials across five climate zones."

論文を選択してください(番号を入力)。キャンセルするには「none」と入力してください。

ユーザー:「1」

Skill:「選択した論文:Urban Heat Island Mitigation through Green Infrastructure(Smith, J.; Lee, K., 2023)。」

"引用する主張が選択した論文によって実際に裏付けられていることを確認してください。タイトルだけを根拠にしないでください。"

Skill(ユーザーの確認後):

@article{smith2023urban,
  title   = {Urban Heat Island Mitigation through Green Infrastructure},
  author  = {Smith, John and Lee, Kwang-Ho},
  journal = {Computers, Environment and Urban Systems},
  year    = {2023},
  volume  = {101},
  pages   = {101943},
  doi     = {10.1016/j.compenvurbsys.2023.101943}
}

Skill: literature-skill 規約:references/skill-conventions.md

コメント