mcpField
D
docs-check-style

docs-check-style

github.com/elasticドキュメント72151 回インストール2 日前に更新
リポジトリ

docs-check-style について

Elastic ドキュメントのスタイルガイドに沿って文書をレビューするスキルです。最新のガイダンス、Vale の結果、手動レビューを組み合わせ、ファイルを変更せずに問題を報告します。

主な機能

  1. 01最新の Elastic スタイルガイダンス取得
  2. 02既存の Vale 出力を読むか Vale を実行
  3. 03Markdown ファイルを手動レビュー
  4. 04問題を分類して報告し自動修正はしない

活用シーン

  1. 01提出前の Elastic ドキュメントレビュー
  2. 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 menuKibanaの左側にある主要なナビゲーションパネル。「main menu」、「side navigation」、「side nav」、「sidenav」、「navbar」、「primary navigation」
    Solution viewナビゲーションメニューを制御する、スペースごとの設定。—
    Classic viewSolution 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:レポートを作成する

調査結果を構造化されたレポートとして提示します。問題を領域ごとに分類してください。問題ごとに、次の情報を記載します。

  1. ファイルと行番号 — path/to/file.md:42
  2. 領域 — 次のいずれか:声とトーン、言葉の選択、文法・スペル、書式、アクセシビリティ、UI ライティング
  3. 問題 — 問題点
  4. 提案 — 修正方法
レポート形式
## 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行の要約を付けてください。

スタイルガイドの参照先

さらに詳しく調査するには、次のページを参照してください。

コメント