⛩️

VibeCoding修行#3: ドキュメント丸ごとSkill化のススメ

に公開

はじめに:もうドキュメント丸ごとSkillにしたらいいのでは

近年、AI エージェントを使った開発は高速化が進んでいますが、その一方で悩ましい問題もあります。
特に 更新頻度が高いライブラリを扱う場合、エージェントが古い記法のままコードを生成してしまうことがあります。わずか数ヶ月前の書き方であっても、最新の API とは大きく異なることがあり、手戻りが発生しがちです。

さらに、LLM のモデル名についても、古い名称や非推奨モデル、実験段階のモデルを誤って使う可能性があり、これも安定した開発を阻害する原因になります。

こうした状況を改善するために、 LangGraph のドキュメントをまるごとスキル化した「langgraph-master」スキルを作成しました。

1. なぜ「既存ライブラリを丸ごとスキル化」すると開発が安定するのか

LLM に「LangGraph を使って○○を作ってほしい」と依頼すると、通常はモデル内部知識に頼ってコード生成が行われます。
しかしその内部知識は、ライブラリの更新速度に追いつきません。

  • StateGraph の初期化方法が古い
  • Checkpointer の API が違う
  • Model ID が非推奨になっている

このようなズレが蓄積すると、修正作業が増え、開発速度を下げてしまいます。

そこで有効なのが、 “ライブラリ公式ドキュメントの内容をエージェント側のスキルとして固定化する” というアプローチです。

スキル化すると:

  • LangGraph の用語・構造・ベストプラクティスがすべて安定
  • API の正しい使い方を常に参照する
  • モデルID(Claude / OpenAI / Gemini 等)も最新で固定
  • エージェントの回答がブレなくなる

特に LangGraph のように更新ペースが早いライブラリでは、この方式の効果が大きく、エージェントが“勝手に古い情報を使う”現象を防ぐことができます。

2. 事例紹介:「langgraph-master」スキル

実際に作成した langgraph-master スキルには、LangGraph ドキュメント全体を読み込んだ解説と、利用パターンが含まれます。

インストール

Claude Code を起動したら以下を実行してください。おそらく実行後にClaude Codeの再起動を求められますので再起動してください。

/plugin marketplace add hiroshi75/ccplugins
/plugin install langgraph-master-plugin@hiroshi75
/plugin install spec-manager-plugin@hiroshi75

⚠️二つ目のspec-master-pluginは仕様書作成のための自作プラグインで、今回のスキルの依存スキルとしています。

使い方

langgraphを使った開発をしようとすると、自動で起動します。

  • langgraphを使ったアプリの設計時
  • 同、実装時

実装は内蔵されているlanggraph-engineerというサブエージェントが可能な限り並列実装してくれますので、可能な限り速い開発になっています。(とはいえ、langgraphのプログラムは部品も多いのでのんびりお待ちください)

内部に含むドキュメント構成

スキル内には次のようなカテゴリ別文書(約 40 ファイル)が含まれています。これらは2025/11/20頃の最新版の内容です。

  • Core Concepts(State / Node / Edge)
  • Graph Architecture(Routing / Agent / Subgraph / Workflow)
  • Memory Management(Checkpointer / Store / Persistence)
  • Tool Integration(Tool Node / Command API)
  • Advanced(Streaming / Map-Reduce / Human-in-the-loop)
  • LLM Model IDs(Claude / Gemini / OpenAI の推奨モデル)
  • Examples(チャットボット / RAG エージェント)

これにより、LangGraph に関するエージェントの知識が最新・安定化されます。

現時点でのGemini, Claude, OpenAIの最新のモデルIDを LLM Model IDs に入れていますので、古いモデルをうっかり出力することもありません。

3. 実際の使い方:論文DeepResearchを作る

以下のようなREADME.mdを用意します。

# arxiv Research Agent

ユーザーから入力されたクエリに従って arxiv を英語で検索し、現在の課題や手法の概要の情報をまとめたレポートを提供する AI エージェントです。
検索はおおまかに 50 件程度を調査し、並列分析により高速に処理します。

## Technology Stack

- Python
- langgraoh
- LLM は gemini-2.5-flash を使う(.env に API キーを設定してあります)
- arxiv (python 用の arxiv ライブラリを使用)

Claude Codeで以下を実行

@README.md にあるシステムを作りたい

で、もしかしたら細かい仕様をいくつか聞かれるかもしれませんが、基本的にあとは受け身で完成します。

4. こうしたスキルはどう作るのか:skill-creator を使う方法

今回のようなドキュメント丸ごとスキルそのものは Anthropic謹製のskill-creatorで作ることができます

langgraph-master スキルを作った際は:

  1. LangGraph 公式ドキュメントのトップページ URL を与え 「(URL) このドキュメント全体を読んで LangGraph で開発を行うための専門スキルを作ってください。ドキュメントの各章をそれぞれ短いmarkdownにしてまとめ、それを読み込む構成にし、各markdownファイル名は構成がわかりやすいように番号付きの英文ファイル名にしてください。」
  2. 生成されたスキルを微修正して完成

まとめ

  • 更新の早いライブラリでは、AI が古い情報を使ってしまう問題が深刻
  • 既存ライブラリを 丸ごとスキル化 するとエージェント開発が安定する
  • langgraph-master スキルはその例として、LangGraph の公式ドキュメントを統合
  • 最新の API / モデル名 / ベストプラクティスを常に固定できる
  • skill-creator を使うと、こうしたスキルを容易に作成可能

LangGraph だけでなく、他のライブラリにも応用できる方法なので、エージェント開発を日常的に行う方には特に有効だと思います。例えばNext.jsで「Next.js16でAppRouterを使い、ServerActionsを優先し、なるべくAPI Routeをつかわない」という方針を練り込んだスキルを使えば、非常に安定すると思います。

Discussion