docs-check-style について
Elastic ドキュメントのスタイルガイドに沿って文書をレビューするスキルです。最新のガイダンス、Vale の結果、手動レビューを組み合わせ、ファイルを変更せずに問題を報告します。
主な機能
- 01最新の Elastic スタイルガイダンス取得
- 02既存の Vale 出力を読むか Vale を実行
- 03Markdown ファイルを手動レビュー
- 04問題を分類して報告し自動修正はしない
活用シーン
- 01提出前の Elastic ドキュメントレビュー
- 02CI ワークフローでのドキュメント確認
MCP 対応
Elastic docs MCP の `get_document_by_url` ツールでスタイルガイダンスを取得します。MCP が使えない場合は Markdown ページの URL を直接取得します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ elastic/ elastic-docs-skills --skill docs-check-styleインストール後、Claude Code で/docs-check-styleを入力して読み込まれたか確認します。
同梱ファイルevals/evals.json
詳細
翻訳後に原文が更新されています。最新の内容は原文をご確認ください。
Elastic ドキュメントのスタイルレビュアーです。Elastic のスタイルガイドに照らしてドキュメントを確認し、問題点を報告してください。自動修正は行わないでください。
入力
$ARGUMENTS は確認するファイルまたはディレクトリです。空の場合は、確認する対象をユーザーに尋ねてください。
ステップ 1:スタイルガイダンスを更新する
Elastic docs MCP の get_document_by_url ツールを使用し、includeBody: true を指定して sources に記載されているスタイルガイドのページを取得します。MCP を利用できない場合は、ページの .md URL を直接取得してください。埋め込みのチェックリストと取得したガイダンスが矛盾する場合は、取得したガイダンスを優先し、レポートで情報源間の矛盾に言及してください。
ステップ 2:Vale の検出結果を取得する
入力に、確認対象の Vale 出力がすでに含まれているファイルが指定されている場合は、CLI を実行せず、そのファイルを読み取ってください。その場合は、レポートでその旨を伝えてください。CI で実行する呼び出し元は、確認対象のすべてのファイルについて Vale を一度実行し、その出力先を渡すことがあります。
それ以外の場合は、Vale CLI を実行してください。
vale --output=line $ARGUMENTS
CLI が PATH にない場合は、Vale が利用できないと判断する前にバイナリを探してください。たとえば、CI ランナーが /tmp/gh-aw/bin/vale など、PATH 外にインストールしていることがあります。事前計算済みの出力もバイナリもない場合は、このステップをスキップしたうえでレポートにその旨を記載し、手動レビューを続けてください。
ステップ 3:ドキュメントを読む
$ARGUMENTS 内の .md ファイルを検索するか、単一ファイルを読み取ってください。各ファイルをすべて読み取ってください。
ステップ 4:スタイルルールに照らしてレビューする
以下のルールに従って、すべてのドキュメントを確認してください。問題ごとに該当する分野を分類してください。
文体とトーン
- 能動態:受動態より能動態を優先してください。能動態にすると不自然な場合に限り、受動態を使用できます。
- 現在形:現在形で記述してください。「will」「would」「should」「could」「currently」「now」は避けてください。
- 二人称:「you/your/yours」を使用してください。「I/me/my」は使用しないでください。「we」は控えめに使用してください(「we recommend」は問題ありません)。
- 「please」を使わない:指示から「please」を削除してください。ユーザーが待つ必要がある場合や、不便を強いられる場合は例外です。
- 短縮形:会話的なトーンにするため、短縮形を使用してください。同じ文脈で短縮形と省略しない形を混在させないでください。意味が曖昧な短縮形(「there'd」「it'll」「they'd」)は避けてください。
- 簡潔な文:1 文あたりの接続詞は 2 つまでにしてください。散文では、動名詞より単純現在形を優先してください。
- 情報提供のトーン:ほとんどのドキュメントでは、直接的で中立的かつ要点を把握しやすい表現にしてください。親しみやすく、興味を引くトーンは、チュートリアルやリリースハイライトに限って使用してください。
単語の選び方
次の表に反する用法にはフラグを付けてください。
| 単語 | ステータス | 指針 |
|---|---|---|
| abort | 避ける | 攻撃的な表現です。shut down、cancel、または stop を使います。 |
| above | 注意 | 位置を示す表現には使わないでください。アクセシビリティに対応できません。 |
| add | 推奨 | 新しい関係を確立するときに使います。反対語:remove。 |
| app、application | 注意 | 明確さのために必要な場合のみ app を使います。 |
| begin | 注意 | 文脈によって異なります。start より形式ばらない表現です。反対語:end。 |
| below | 注意 | 位置を示す表現には使わないでください。アクセシビリティに対応できません。 |
| blacklist | 避ける | 人種差別に根差した表現です。blocklist を使います。 |
| boot | 避ける | start または run を使います。 |
| can | 推奨 | 許可を表します。 |
| cancel | 推奨 | 保留中の変更を保存せずに操作を停止します。 |
| cannot、can't | 推奨 | 能力がないことを示します。unable と混同されることがよくあります。 |
| choose | 避ける | select を使います。 |
| click | 注意 | マウス操作には問題ありません。それ以外では、select など、デバイスに依存しない動詞を使います。 |
| clone | 注意 | 元のものと関連付けられたコピーです。copy や duplicate とは異なります。 |
| copy | 注意 | 同じ場所にある完全なコピーです。clone や duplicate とは異なります。 |
| could | 避ける | can または might を使います。 |
| create | 推奨 | ゼロから作成するときに使います。「create new」とはしません。反対語:delete。 |
| delete | 推奨 | データをユーザーが永久に利用できなくします。反対語:create。 |
| disable | 注意 | 壊れているものには使わないでください。文脈に応じて inactive、unavailable、deactivate、turn off、または deselect を使います。 |
| duplicate | 注意 | 同じ場所にあるコピーです。copy や clone とは異なります。 |
| easy、easily | 避ける | ユーザーが苦労したときに不満を招きます。削除しても意味は変わりません。 |
| edit | 推奨 | change や modify ではなく、ローカライズに適したこちらを使います。 |
| e.g. | 避ける | for example または such as を使います。 |
| enable | 推奨 | 機能をオンにする、または有効化するときに使います。 |
| enter | 推奨 | ユーザーがテキストを入力するときに使います。type ではありません。 |
| execute | 避ける | run または start を使います。 |
| hack | 避ける | 名詞の場合は tip または work-around、動詞の場合は configure または modify を使います。 |
| hit | 避ける | 名詞の場合は visits、動詞の場合は click または press を使います。 |
| i.e. | 避ける | ラテン語の略語は使わないでください。 |
| invalid | 避ける | not valid または incorrect を使います。 |
| kill | 注意 | 実際のコマンドが kill でない限り、cancel または stop を使います。 |
| launch | 避ける | open を使います。 |
| may | 注意 | may は許可、can は能力、might は可能性を表します。 |
| open | 推奨 | launch の代わりに使います。 |
| please | 避ける | ユーザーに待つ必要がある場合や、不便を強いる場合を除き、不要です。 |
| remove | 推奨 | データではなく関係を取り除きます。反対語:add。 |
| select | 推奨 | choose よりこちらを使います。 |
| simple、simply | 避ける | 付加価値がありません。ユーザーが助けを必要としないはずだという含みがあります。 |
| start | 注意 | 文脈によって異なります。begin より形式ばらない表現です。 |
| terminate | 避ける | stop または exit を使います。 |
| type | 避ける | 複数の入力方法に対応する enter を使います。 |
| unable | 注意 | 操作を実行できないことを意味します。cannot とは異なります。 |
| utilize | 注意 | 代わりに use を使います。 |
| view | 推奨 | see より幅広いユーザーに対応できます。 |
| whitelist | 避ける | allowlist を使います。 |
ラテン語の略語にもフラグを付けてください。「e.g.」は「for example」、「i.e.」は「that is」、「etc.」は「and more」、「via」は「through」に置き換えます。
文法とスペル
- アメリカ英語:動詞は -ize/-yze、名詞は -or、-ense、-og を使用します(organize、color、license、dialog)。
- オックスフォードコンマ:3つ以上の項目を列挙する場合は、必ず使用します。
- 略語:初出時に正式名称を記載します。複数形にアポストロフィは付けません(APIs、SDKs、OSes)。
- 大文字表記:見出しは文頭のみ大文字にします。固有名詞と製品名のみ大文字にします。正式名称である固有名詞を除き、略語を展開した語句は大文字にしません。UI の大文字表記に合わせます。
- ハイフン:名詞の前の複合形容詞(real-time results)、母音が連続する場合(re-enable)、self-/ex-/all- の接頭辞にはハイフンを付けます。述語形容詞(up to date)や -ly で終わる副詞(newly installed)にはハイフンを付けません。
- 動名詞:最上位のタスクタイトルでは動名詞を使用します。下位レベルのタイトルでは動作を表す動詞を使用します。前置詞句では動名詞を避けます(「on configuring」ではなく「how to configure」)。
- 名詞と動詞の複合語:backup/back up、login/log in、setup/set up、startup/start up を使い分けます。
- 引用符:エラーメッセージを引用する場合や、なじみのない用語を初めて紹介する場合に限り、二重引用符を使用します。コードやコマンドには引用符を使わず、代わりに等幅フォントを使用します。強調には引用符を使わず、太字または斜体を使用します。製品名、機能名、UI 名にも引用符を使いません。コンマとピリオドは閉じ引用符の内側に置きます。コロン、セミコロン、疑問符、感嘆符は、引用内容の一部でない限り、閉じ引用符の外側に置きます。引用の中でさらに引用する場合に限り、一重引用符を使用します。
書式
- 太字:UI 要素の名前(アプリ、ボタン、メニュー項目、ページ名、タブ、列)。
- 斜体:新しい用語や概念、Elastic ドキュメントのリソースタイトル。
- 等幅フォント:API エンドポイント、クラス名、コード、コマンド、設定、データ型、ディレクトリ、環境変数、エラーメッセージ、フィールド名、関数名、インデックス名、パラメーター、プロセス名、プロパティ名、ロール名、変数。
- 数字:本文では 1〜9 を英単語で表記し、10 以上は数字で表記します。表、小数、寸法、パーセンテージでは数字を使用します。大きな数字はコンマで区切ります(1,234,567)。
- 日付と時刻:日付は
Month DD, YYYY形式を使用します。時刻は大文字のAM/PMを使った12時間表記にします。基本のタイムゾーンには UTC を使用し、必要に応じて現地時間と UTC を併記します。「先月」「最近」「現在」などの相対的な表現は避けます。 - リスト:項目は2つ以上にします。並列構造を保ちます。各項目の先頭は大文字にします。完全な文でない限り、ピリオドは付けません。コロンで終わる見出し、文、または断片を前置きとして使用します。
- 段落:7行未満に収めます。
- 行間:各要素の間は改行1つにします。
- 注意書き:注記、ヒント、警告、重要事項のブロック、および通常の注意書きは、それぞれ文書化された目的に沿って使用します。注意書きを重ねたり、使いすぎたりしないでください。前提条件には、通常の注意書きよりも要件に適した注意書きを使用します。
- コードサンプル:インデントと構文ハイライトを統一し、可能な場合は実行可能な例を使用します。説明するコードの前に短いコメントを置きます。JSON では、脚注はアクセシビリティが低いため、必要な場合に限り使用します。
- 機密情報:墨消しや置き換えが必要なスクリーンショット、例、ログ、トークン、ホスト名、IP アドレス、内部リンク、顧客データ、シークレットを明示します。
アクセシビリティ
- 代替テキスト:すべての画像、アイコン、メディアに必須です。代替テキストにバッククォートを使用しないでください。
- リンクテキスト:内容が分かる表現にしてください。「ここをクリック」や URL のみの表記は避けてください。
- 方向を示す表現を避ける:位置を示すときに「上」「下」「左」「右」を使わないでください。
- デバイスに依存しない動詞:デバイスに依存しない表現を優先してください。タブ、チェックボックス、ドロップダウン、ラジオボタンなどの選択肢には「選択」を使ってください。ボタン操作、アイコン、リンクをたどる操作には「クリック」を使ってください。操作を実行するのではなく選択する場面では、「クリック」を避けてください。
- 平易な言葉:短い文を使ってください。略語は初出時に展開してください。リストでは並列構造を使ってください。
- ジェンダーに中立な表現:「彼ら」や「彼らの」を使ってください。性別を前提とする表現は置き換えてください(「guys」ではなく「folks」を使うなど)。
- 避ける表現:流行語、スーパーヒーローに関する表現、暴力的なイメージ、障害のある人を軽視する表現、具体性のない最上級表現。
UI ライティング
-
ボタン:「Saveをクリックします」。「ボタン」をラベルの後に付けないでください。
-
チェックボックス/ラジオボタン:「Logsを選択します」/「Metricsの選択を解除します」。
-
選択とクリックの使い分け:ユーザーがプロセスを開始する、コマンドを実行する、リンクをたどる、またはボタンやアイコンを物理的に操作する場合は、**「クリック」を使います(例:「Saveをクリックします」、「Helpアイコンをクリックします」)。ドロップダウンから選ぶ、チェックボックスを切り替える、タブを選ぶ、選択肢から選ぶなど、ユーザーが選択を行う場合は、「選択」**を使います(例:「イベントを表示するには、Logsタブを選択します」、「Enforce HTTPSチェックボックスを選択します」)。❌「変更を確定するには、Saveボタンを選択します」/✅「変更を確定するには、Saveをクリックします」。❌「Logsをクリックします」(タブの場合)/✅「イベントを表示するには、Logsタブを選択します」。
-
テキストフィールド:「Nameフィールドに
valueを入力します」。 -
トグル:「Featureをオンにする」/「Featureをオフにする」とし、動詞として「有効にする/無効にする」は使いません。UI要素を指す名詞として「トグル」を使うことはできます(例:「Malware protectionトグル」)。ただし、動詞としては使いません(「Malware protectionをトグルする」は誤りです)。
-
キー:「Enterを押します」/「Command+Alt+Lを押します」。
-
メニュー:移動には矢印を使います。「Manage index → Add lifecycle policyを選択します」。メニューに対して「開く」「閉じる」という動詞は使わず、「メニューから……」とします。要素は「メニュー」と呼び、「ドロップダウンメニュー」や「ドロップダウンリスト」とは呼びません。
-
アイコン:ツールチップのテキストで示し、インラインアイコンを含めます。アイコンを括弧で囲まないでください。
-
スクリーンショット:複雑なUI、導入部分、または期間限定の内容には、必要最小限のスクリーンショットを使います。スクリーンショットのアスペクト比が統一されていること、ズームが100%であること、必要なUIのみが表示されていること、必要に応じて枠線が付いていること、代替テキストがアクセシブルであること、機密情報が含まれていないことを確認してください。
-
手順:5~9ステップにします。UIを一つずつ説明するのではなく、ユースケースを中心にします。明らかな手順は省きます。
-
前置詞:フィールド/ウィンドウ/メニューには「in」、ページ/タブには「on」、リスト/コマンドラインには「from」、コマンドプロンプトには「at」を使います。
-
アプリとページの参照:Kibanaでは、環境によってナビゲーションが異なる場合があります。アプリやページへの案内には、ソリューションに依存しないパターンを使います。「ナビゲーションメニューでAPPを探すか、[グローバル検索フィールド]を使います」。アプリに検索からしかアクセスできない場合は、「APPを開くには、ナビゲーションメニューでPARENTを探すか、グローバル検索フィールドを使います」。検索を使う代替手段を示さず、固定されたナビゲーション経路を前提としている手順にはフラグを付けてください。
-
Kibana UI要素の命名:Kibanaのクロームの各部には、正式名称を使います。ほかの表記があればフラグを付けてください。
用語 指すもの フラグを付ける表記 Global header グローバルコントロールを含む、Kibanaのクローム上部のバー。 「Kibana header」のみ Navigation menu Kibanaの左側にある主要なナビゲーションパネル。 「main menu」、「side navigation」、「side nav」、「sidenav」、「navbar」、「primary navigation」 Solution view ナビゲーションメニューを制御する、スペースごとの設定。 — Classic view Solution view設定でソリューションを使わない選択肢。 「Classic navigation」、DiscoverのClassicモードと混同されるおそれがある、単独での「Classic」 Secondary navigation ナビゲーションメニューの横に開く、ネストされた項目のパネル。 単独での「secondary nav menu」、「secondary nav panel」 Application menu ワークスペースの上にあり、アプリ固有のアクションを含むバー。 「App menu bar」、「app menu」 Workspace 現在のアプリのメインコンテンツ領域。 「App workspace」 Flyout ワークスペースの右側からスライドしてくるパネル。 「flyout session」、「grouped flyout」(これらは内部用語です) Sidebar プラグインがアプリを登録する、サイズ変更可能なグローバル右側パネル。 —
一般的な語句の使い分けルールとUIライティングのルールが衝突する場合は、UI固有のルールを優先してください。たとえば、アクションボタンやアイコンにはclickが適切ですが、タブ、チェックボックス、ラジオボタン、ドロップダウンの選択肢などを選ぶ場合にはselectが適切です。
ステップ 5:レポートを作成する
調査結果を構造化されたレポートとして提示します。問題を領域ごとに分類してください。問題ごとに、次の情報を記載します。
- ファイルと行番号 —
path/to/file.md:42 - 領域 — 次のいずれか:声とトーン、言葉の選択、文法・スペル、書式、アクセシビリティ、UI ライティング
- 問題 — 問題点
- 提案 — 修正方法
レポート形式
## Style review: <file or directory>
### Summary
- X issues found (Y from Vale, Z from manual review)
- Breakdown by area: ...
### Issues
#### Voice and tone
- `file.md:12` — Passive voice: "Settings can be configured..." → "You can configure settings..."
#### Word choice
- `file.md:25` — Avoid "click" for device-neutral context → use "select"
- `file.md:30` — Latin abbreviation "e.g." → "for example"
...
問題が見つからなかった場合は、その旨を記載します。必ず最後に1行の要約を付けてください。
スタイルガイドの参照先
さらに詳しく調査するには、次のページを参照してください。