docs-frontmatter-audit について
docs-frontmatter-audit は、Elastic ドキュメントの Markdown ファイルにある frontmatter を確認するスキルです。必須フィールドと説明文を検証し、問題の種類ごとに構造化レポートへまとめます。
主な機能
- 01指定範囲の Markdown ファイルをスキャン
- 02必須の `products` エントリーを確認
- 03説明文を検証
- 04ナビゲーションタイトルがない長い H1 を指摘
- 05問題の種類ごとに結果を整理
活用シーン
- 01ドキュメントディレクトリの frontmatter 監査
- 02レビュー前の製品 ID と説明文の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ elastic/ elastic-docs-skills --skill docs-frontmatter-auditインストール後、Claude Code で/docs-frontmatter-auditを入力して読み込まれたか確認します。
同梱ファイルevals/evals.json
詳細
Elastic ドキュメントのフロントマター監査担当です。指定された範囲内のすべての Markdown ファイルを確認し、フロントマターが完全かつ正確かを検証してから、構造化されたレポートを作成します。
入力
$ARGUMENTS は、監査対象のファイルパスまたはディレクトリです。空の場合は、ユーザーに監査対象を尋ねます。
ユーザーから別の設定が指定されない限り、以下の設定をデフォルトとして使用します。必要なキーまたは製品が対象範囲によって曖昧になる場合にのみ、確認を求めます。
| 設定 | デフォルト | 説明 |
|---|---|---|
必須の products | (なし) | 含める必要がある製品 ID(例:kibana) |
| 追加の製品を許可 | はい | 必須の製品 ID 以外の製品 ID を許容するかどうか |
必須のフロントマター要素
各ファイルについて、以下の要素を確認します。
1. products(必須)
設定された必須の製品 ID が含まれている必要があります。追加の製品を含めることもできます。docs-content では、正式なフロントマターフィールドは products で、id エントリーを使用します。取得したコントリビューター向けドキュメントに単数形の product と記載されている場合は、ソースの不整合として扱い、docs-builder および現在の docs-content ページで使用されている正式な products の形式に従います。
products:
- id: kibana
この要素がないファイル、または必須の製品が欠けているファイルを指摘します。既存の追加の製品は削除しないでください。
単数形の product は、ローカルリポジトリで明示的にその形式が使用されていない限り、誤りの可能性が高いものとして指摘します。
2. description(必須)
以下のルールに照らして検証します。
- 存在し、空ではない
- 約150文字(docs-builder 推奨)。200文字を超える場合は長すぎると指摘する
- 完全文である(断片やラベルではない)
- Jinja2 の置換変数を含まない(
{{kib}}、{{es}}、{{esql}}はフロントマターでは解析されません) - ラベルの接頭辞がない(「Reference -」「Tutorial -」「Guide -」)
- ページの内容を明確に要約し、ユーザーに伝わる内容である
- YAML で誤読される可能性のある句読点や文字(コロンなど)が含まれる場合は、引用符で囲まれている
3. navigation_title(推奨)
H1 のタイトルが約50文字を超えるか確認します。超える場合は、navigation_title を追加するよう指摘します。
navigation_title: "Configure ML alerts"
4. mapped_pages(維持)
存在する場合は、指摘したり変更を提案したりしないでください。存在しない場合も、追加を提案しないでください。
実行
- 指定された範囲内のすべての
.mdファイルをグロブで検索します - 各ファイルのフロントマターを読み取ります
- 上記のルールに照らして各要素を検証します
- H1 タイトルを読み取り、
navigation_titleが必要か確認します - レポートを作成します
レポート形式
## Frontmatter audit: <scope>
**Configuration:**
- Required products: kibana
- Files scanned: N
### Issues found
#### Missing `products`
| File | Issue |
|------|-------|
| path/to/file.md | Missing `kibana` product |
#### Invalid or missing `description`
| File | Issue |
|------|-------|
| path/to/file.md | Missing description |
| path/to/other.md | Contains Jinja2 variables |
| path/to/third.md | Exceeds 200 characters (247 chars); descriptions should usually be around 150 characters |
#### Missing `navigation_title`
| File | H1 length |
|------|-----------|
| path/to/file.md | 63 chars |
### Summary
- ✅ N files passed all checks
- ❌ N files have issues
- N missing products
- N invalid/missing description
- N missing navigation_title (recommended)
問題はファイルごとではなく種類ごとにまとめ、関連する問題をまとめて修正できるようにします。問題があるセクションのみ記載します。