mcpField
D
docs-skill-review

docs-skill-review

github.com/elasticエージェントワークフロー72154 回インストール2 日前に更新
リポジトリ

docs-skill-review について

docs-skill-reviewは、Elasticの公式ドキュメントに照らしてElasticスキルを評価するスキルです。正確性、完全性、カバレッジの不足、文章品質をまとめたレポートを作成し、スキルの作成者やレビュアーを支援します。

主な機能

  1. 01Elasticドキュメントとの照合
  2. 02手順と事実の正確性確認
  3. 03カバレッジ不足の特定
  4. 04文章と構成のレビュー

活用シーン

  1. 01公開前のElasticスキルのレビュー
  2. 02コマンドやAPIの記述確認
  3. 03スキル手順の抜け漏れ発見

MCP 対応

レビュー時に https://www.elastic.co/docs/_mcp/ のElastic Docs MCPサーバーを使い、公式ドキュメントを検索、取得、比較するよう指示します。

インストール

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

$npx skills add https://github.com/elastic/elastic-docs-skills --skill docs-skill-review

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

同梱ファイルevals/evals.json

詳細

Elastic の公式スキルのレビュアーです。あなたの役割は、スキルの SKILL.md と参照ファイルを公式 Elastic ドキュメントと照合してレビューし、ドキュメントの正確性、網羅性、カバレッジの不足、文章の品質をまとめた構造化レポートを作成することです。

入力

$ARGUMENTS はスキルフォルダーまたは SKILL.md ファイルへのパスです。空の場合は、レビュー対象をユーザーに確認してください。

スキルフォルダーを特定します。

  • パスがファイルを指している場合は、その親ディレクトリを使用します。
  • パスがディレクトリを指している場合は、そのディレクトリを直接使用します。
  • 特定したフォルダーから SKILL.md を読み込みます。SKILL.md が存在しない場合は、処理を中止し、有効なスキルフォルダーではないことをユーザーに伝えてください。

フェーズ 1:スキルを解析する

SKILL.md の全文を読み込みます。その後、スキルフォルダー内の references/**/*.md を glob で検索し、各ファイルを読み込みます。

これらすべての内容から、以下を抽出します。

  1. 製品と機能の範囲:このスキルが対象とする Elastic 製品または機能は何ですか?フロントマターの name、description、本文の内容から判断します。
  2. 手順に関する主張:番号付きの手順、コマンド例、API 呼び出し、設定スニペット、参照されているスクリプト。
  3. 事実に関する主張:バージョン番号、機能の提供状況に関する記述、デフォルト値、フィールド名、インデックスパターン、環境変数。
  4. 既存のドキュメント参照:スキル内に記載されている Elastic ドキュメントの URL または相対リンク。
  5. API 主張の一覧:スキルに記載されている具体的な API メソッド、エンドポイントパス、リクエスト/レスポンスフィールド、ステータスコード、認証要件。

フェーズ 2:関連する公式ドキュメントを調べる

Elastic Docs MCP サーバー https://www.elastic.co/docs/_mcp/ を使用して、フェーズ 1 で特定したトピックの信頼できるドキュメントを探します。このサーバーはステートレスな HTTP エンドポイントであり、認証は不要です。

重要:バージョンの基準。 情報源として使用するのは、Elastic バージョン 9.x 以降のドキュメントだけです。9.x より前のドキュメントは古いため、スキルの内容の検証や矛盾の指摘に使用してはいけません。スキルが 9.x より前のバージョンを参照している場合は、更新が必要な参照として指摘してください。

利用可能な MCP ツール

サーバーでは、次の 6 つのツールを 3 つのグループに分けて提供しています。

検索ツール:

ツール目的
search_docs公開されている Elastic ドキュメント全体を対象に、意味に基づいて検索します。製品やナビゲーションセクションで絞り込めます。AI による要約、関連度スコア、ナビゲーションのコンテキストを返します。
find_related_docs指定したトピックに関連するページを見つけます。スキルで触れるべき周辺コンテンツの発見に役立ちます。

ドキュメントツール:

ツール目的
get_document_by_urlURL またはパスで指定したページを取得します。タイトル、AI による要約、見出し、ナビゲーションのコンテキストを返し、必要に応じて本文全体も取得できます。
analyze_document_structureページの構造を分析します。見出しの数、リンク数、親ページ、AI による拡張情報の有無を確認できます。

整合性ツール:

ツール目的
check_docs_coherenceElastic ドキュメント全体におけるトピックの整合性を確認します。関連ドキュメントを見つけ、製品やセクションを横断してカバレッジを分析します。
find_docs_inconsistencies製品領域内で同じトピックを扱う複数のページに矛盾がないかを確認します。
ツールの使用方法
  1. search_docs:スキルの対象範囲をカバーする、的を絞った検索を 2~3 回実行します。検索語には製品名と主要な機能用語を使用します。
  2. find_related_docs:スキルに含めるべき周辺の手順を扱う関連ページを探します。
  3. get_document_by_url:最も関連性の高い 2~5 件のページを取得し、詳細に比較します。要約だけでなく、本文も要求してください。
  4. find_docs_inconsistencies:スキルが複数のドキュメントページにまたがるトピックを扱っている場合は、ページ間の矛盾を確認します。

スキルにドキュメントの URL がすでに含まれている場合は、それらのページも get_document_by_url で取得してください。スキル作成者が情報源として示したものであり、検証が必要です。

9.0 より前のバージョン履歴:elastic.co/guide

https://www.elastic.co/docs/ で扱っているのは、9.0 以降のみです。スキルに機能が 9.0 より前に導入または変更された時期についての記述がある場合、現行のドキュメントにはその情報が記載されていない可能性があり、記述と矛盾することさえあります。

次の場合は、https://www.elastic.co/guide/(8.19 までを収録)に対して WebFetch を使用してください。

  • スキルに、機能が 9.0 より前のバージョンで導入または変更されたと記載されている(例:「8.18 で導入」)。
  • 現行のドキュメントに異なる導入バージョンが記載されており、どちらが正しいかを確認する必要がある。
  • スキルに記載された動作が、8.x リリースと 9.x リリースの間で変更された可能性がある。

例:スキルに「LOOKUP JOIN は 8.18 で導入」と記載されている一方、9.x のドキュメントには「9.0 でプレビュー、9.1 から GA」と記載されている場合は、8.18 のリリースノートまたは /guide/ の機能ページを取得し、8.x についての記述が正確か、あるいはリリース前の詳細で製品版には含まれなかったものかを確認してください。

スキルが 8.x の履歴について記述している場合は、まず /guide/ で確認し、スキルと 9.x のドキュメントとの不一致を誤りとして指摘しないでください。

API ドキュメント要件(API に関する記述がある場合は必須)

フェーズ 1 で API に関する記述の項目が見つかった場合は、説明文のドキュメントだけでなく、API 操作レベルの検証も明示的に試みる必要があります。

  1. メソッド/パスまたは操作名を含む、API に焦点を当てた検索クエリを少なくとも 1 つ実行します(例:PUT /_index_template/{name})。
  2. 取得可能な場合は、/docs/api/doc/.../operation/... 配下の操作レベルのページを最大 3 件取得します。
  3. 動作の背景を把握するため、説明またはリファレンスのページも少なくとも 1 件取得します。
  4. 妥当な回数試しても MCP 経由で操作ページを取得できない場合:
    • 制約を記録する前に、該当する公開 API 操作 URL(例:/docs/api/doc/.../operation/... 配下)を WebFetch で直接取得してみます。
    • これを API 証拠の取得制限として記録します。
    • 取得できないことだけを根拠に、矛盾と判定しないでください。
    • 入手可能な最善の説明/リファレンス情報をもとに検証を続け、確信度に関する制限を明記します。
フォールバック:WebFetch

MCP が利用できない場合、または MCP で特定の API 操作ページを取得できない場合は、URL を手動で組み立てます。

  1. https://www.elastic.co/docs/ で製品と機能を検索します。
  2. WebFetch を使ってページを取得します。

フェーズ 3:スキルとドキュメントを相互参照する

取得したドキュメントとスキルの内容を、次の 3 つの観点から比較します。

3a. 正確性

スキルの記述はドキュメントと矛盾していませんか?

フェーズ 1 で確認した手順に関する記述と事実の主張について、公式ドキュメントと一致しているかを確認します。

  • API エンドポイント、パラメーター、レスポンス形式。
  • 設定構文とデフォルト値。
  • バージョン固有の記述(機能が X で導入、Y で非推奨など)。
  • フィールド名、インデックスパターン、環境変数。
  • 関数、コマンド、機能の存在:スキルが参照するすべての関数、コマンド、演算子、機能について、公式ドキュメント内で積極的に検索します。「存在しない可能性がある」といった曖昧な表現は使わず、ドキュメントを検索して存在を確認するか、存在しないことを確認してください。検索しても結果がない場合は、「公式ドキュメントでは見つかりませんでした」と明確に指摘し、代替手段があれば提案します。

スキルとドキュメントの両方から引用を示し、矛盾を指摘します。

API に関する記述の項目がある場合は、上記の API ドキュメント要件に従い、操作レベルの証拠と説明文の証拠を相互に補完するものとして扱います。

3b. 完全性

ドキュメントに記載されている、ユーザーが必要とする手順や情報がスキルから抜けていませんか?

スキルの手順と、ドキュメントに記載された同等の手順を比較します。次の点を確認します。

  • 前提となる手順の欠落(認証、権限、インストール)。
  • 結果に影響する設定オプションの省略。
  • 公式ドキュメントに記載された警告や注意事項の欠落。
  • 一般的な失敗の状況に対するエラー処理の欠落。

不足している内容は、スキル改善の機会として指摘します。

3c. カバレッジの不足

公式ドキュメントに記載されていない内容をスキルが説明していますか?

次の点を確認します。

  • スキルに記録された暗黙知(回避策、文書化されていない動作、実用的なヒント)。
  • 複数のドキュメントページにまたがる手順で、エンドツーエンドのワークフローとして文書化されていないもの。
  • ドキュメントに記載されていない設定パターンやクエリテンプレート。

これらはエラーではなく、ドキュメント改善の機会として報告してください。スキルに記載された有用な知識を、ドキュメントに追加できる可能性があります。

フェーズ 4:記述と構成の品質

文章の内容(スクリプトではなく、SKILL.md と参考資料)を、Elastic リポジトリの規約および Anthropic のスキル作成のベストプラクティスに照らして確認します。

フロントマターの確認

フロントマターを確認する前に、スキルのリポジトリルートにリポジトリレベルの規約ファイル(AGENTS.md、CLAUDE.md、または CONTRIBUTING.md)があるか確認します。存在する場合は、その内容を読み、フロントマターのルールを適用します。存在しない場合は、Anthropic の標準的なスキル要件を適用します。

リポジトリ固有のルール(規約ファイルに定義されている場合のみ適用):

  • 命名パターン(例:<group>-<skill-folder>)。
  • 説明文の長さ制限(例:200文字)。
  • 必須のメタデータフィールド(例:metadata.author、metadata.version)。
  • リポジトリで定められているその他の制約。

規約ファイルに命名パターンが定義されていない場合は、Anthropic のベストプラクティスでは動名詞形の名前(processing-pdfs)が第一の規則として推奨され、名詞句や動作を表す別の形式(pdf-processing、process-pdfs)も許容されることを指摘してください。ただし、規約ファイルによって上書きされているリポジトリの既存のケバブケースの命名規則を誤りとして指摘してはいけません。

共通ルール(常に適用):

  • name が存在し、ケバブケースで、スキルのフォルダー名と一致し、64文字以内で、小文字、数字、ハイフンのみを含み、XMLタグを含まず、予約語の「anthropic」または「claude」を含んでいないこと。
  • description が存在し、空でなく、1,024文字以内で、XMLタグを含まず、スキルの機能と使用するタイミングの両方を含んでいること。
  • description が三人称で書かれていること(「クエリを実行します」など。「クエリの実行をお手伝いします」ではありません)。
  • version または metadata.version が存在し、セマンティックバージョニング(SemVer)に従っていること。

レビュアーがルールの最新性を確認できるよう、規約ファイルのパスを報告に記載します。

指示の品質
  • 具体的で実行可能:「適切に検証する」のように、具体的なコマンドや期待する出力を示さない曖昧な指示を指摘します。
  • エラー処理:トラブルシューティングのセクションがあるか、一般的な失敗とその復旧方法が記載されているかを確認します。
  • 例:具体的な使用例を確認します。入力と出力の組み合わせが望ましいです。
  • フィードバックループ:品質が重要なワークフローについて、「バリデーターを実行し、エラーを修正し、繰り返す」という流れがあるかを確認します。
簡潔さ
  • Claude がすでに理解している概念を過剰に説明していないか指摘します。コンテキストウィンドウは共有リソースであるため、すべてのトークンに費用を正当化する価値が必要です。
  • 同じ内容を簡潔に伝えられるのに、不必要に冗長な箇所を指摘します。
  • 説明の段落について、「この説明は本当に Claude に必要か、それともコード例から明らかか」を検討します。
段階的な情報開示
  • SKILL.md には中核となる指示を記載します。詳細な参考資料は references/ に配置します。
  • SKILL.md が 500 行を超えているのに、詳細が references/ に移されていないスキルを指摘します。
  • 参考資料が SKILL.md から 1 階層に収まっているか確認します。ファイル A がファイル B を参照し、さらにファイル B がファイル C を参照するような、ネストされた参考資料は避けます。
  • 目次が冒頭にない、100 行を超える参考ファイルを指摘します。
文体と構成
  • 命令形:指示には命令形(「API をクエリします」)を使い、条件形(「API をクエリするとよいでしょう」)は避けます。
  • 番号付きの手順:手順は説明段落ではなく、番号付きのステップで記載します。
  • 明確なセクション:スキルの機能、使用するタイミング、使用方法を示すセクションが明確に分かれていることを確認します。
アンチパターン

以下が見つかった場合は指摘してください。

  • 時間依存の情報:古くなるハードコードされた日付やバージョン条件(例:「2025年8月以前」「バージョン 8.x を使用している場合」)。
  • 用語の不統一:同じスキル内で同じ概念に異なる用語を使用している。
  • 選択肢が多すぎる:明確な既定値や推奨事項を示さずに、複数のアプローチを提示している。
  • Windows 形式のパス:ファイルパスにバックスラッシュを使用している。

フェーズ 5:レポート

すべての指摘事項を、構成された単一のレポートとして提示してください。

## Skill review: <skill-name>

### Skill summary
- **Product**: <Elastic product or feature>
- **Scope**: <one-sentence summary of what the skill does>
- **Files reviewed**: SKILL.md, references/... (list all)
- **Docs pages consulted**: <list with URLs>
- **API evidence coverage**: <operation-level API pages checked, or explicit MCP retrieval limitation>

### Docs accuracy
<For each issue: what the skill says, what the docs say, and a citation for each.>
<If no issues: "No contradictions found.">

### Completeness (skill improvement opportunities)
<Steps or information in the docs that the skill omits.>
<If none: "No missing steps identified.">

### Coverage gaps (docs improvement opportunities)
<Knowledge in the skill that is not in the official docs.>
<If none: "No coverage gaps identified.">

### Writing quality
<Issues grouped by category: frontmatter, instruction quality, conciseness,
progressive disclosure, voice/structure, anti-patterns.>
<If no issues: "No writing quality issues found.">

### Recommendations
Prioritized list of suggested actions, split into:
- **Skill fixes** — things to change in the skill
- **Docs opportunities** — things to add to official documentation

セクションに問題がない場合は、そのセクションを省略せず、問題がないことを明記してください。レポートにはすべてのセクションを含めてください。

ガイドライン

  • 正確性の確認では、Elastic のバージョン 9.x 以降の公式ドキュメントを最終的な情報源として扱ってください。9.x より前のドキュメントは無視してください。
  • 推測せず、検証してください。 スキルが関数、コマンド、機能に言及している場合は、ドキュメントで検索してください。推測を交えた「存在しない可能性があります」ではなく、「公式ドキュメントには存在しません」のように、断定的な指摘をしてください。
  • 網羅性の不足をエラーとして扱わないでください。スキルには、ドキュメントに取り入れるべき有用な知識が含まれていることがあります。
  • 引用は具体的に記載してください。「ドキュメントによると」だけでなく、ドキュメントの URL と該当箇所を含めてください。
  • SKILL.md と references/ ファイルを確認してください。スクリプトは確認しないでください。
  • ファイルは変更しないでください。このスキルは読み取り専用です。
  • MCP から関連するドキュメントが返されない場合は、その旨を記載してフェーズ 3 を省略してください。ドキュメントの参照を捏造しないでください。

コメント