Honeycomb でクエリ(データベースへの問い合わせ)と SLO(サービス品質目標)を含むボード(ダッシュボード)を設計して作成します。 **次のような場合に使用:** - 「ボードを作成してほしい」 - 「ダッシュボードを作ってほしい」 - 「Honeycomb でダッシュボードを設定してほしい」 - 「サービスのヘルスダッシュボードを可視化してほしい」 - 「ゴールデンシグナル(システムの健全性を示す重要な指標)ダッシュボードを作ってほしい」 - 「監視用ボードをセットアップしてほしい」 - その他、Honeycomb でボードまたはダッシュボードを設計・作成・構築することに関するリクエスト全般
Design and then create a board (dashboard) in Honeycomb with queries and SLOs. Trigger phrases: "create a board", "make a board", "build a dashboard", "create a Honeycomb board", "make a dashboard in Honeycomb", "set up a board", "dashboard for my service", "visualize service health", "golden signals dashboard", "set up monitoring board", or any request to design and create or build a Honeycomb board or dashboard.
create_board MCP ツールを使用して、Honeycomb(監視データを可視化するサービス)にダッシュボードを構築します。
更新ツールはないため、作成前に十分に検討して定義する必要があります。
ダッシュボード構築時は、その目的と対象とする時間範囲を考慮してください。例えば:
サービス用ダッシュボード:サービスの健全性、パフォーマンス、ビジネス指標を常に監視するもの。問題の診断や調査、テキストパネルでのグラフの要約は不要。ダッシュボードは、閲覧時点でのサービスの健全性をあるがままに表現するべきです。
機能用ダッシュボード:機能の利用傾向とビジネスへの影響を見るもの。時間範囲は7日間とし、インフラ関連の指標やサービス依存関係は含めません。
問題用ダッシュボード:インシデント(障害)の発生中または発生後に作成されるもの。時間範囲はインシデント固有のものとし、調査結果と現象の解釈を含めます。確認すべきパターンの説明も適切です。
get_slos を使用して環境内の SLO を一覧表示します。関連する SLO はダッシュボードの slo パネルとして表示されます。
Read/Grep/Glob を使ってコードとドキュメントを確認し、サービスまたは機能を理解します。この情報を使ってテキストパネルを作成し、GitHub やドキュメントへのリンクを貼ります。
これはダッシュボードの目的によって大きく異なります。
Honeycomb 環境の確認:get_workspace_context で利用可能な環境を確認します。get_environment でデータセット(各データセットは OTEL_SERVICE_NAME に対応)を探します。
コード文脈の把握:使用されている言語と、カスタム属性(よく app. で始まる)を確認します。カスタム項目は分類(カテゴリ別表示)やビジネス指標の有力な候補となります。
カラム(列)の発見:find_columns または get_dataset_columns を使用します。標準以外のカラムに特に注目してください。それらはアプリケーション固有のものです。
既存クエリの確認:find_queries で他のユーザーがすでに実行したクエリを確認します。get_triggers でアラート対象を確認します。何が重要かを示す手がかりになります。
時間範囲:デフォルトは2時間。流量の少ないサービスは8〜24時間。機能の利用状況ダッシュボードは7日間。すべてのパネルで統一してください。
グラフは6〜12個を目指してください。数値パネル(統計情報を数字で表示)はボーナス扱いで、数には含めません。
ユーザーに候補クエリを理由付きで提示してから実行してください。何を含めるべきか、各種類の書き方については ${CLAUDE_PLUGIN_ROOT}/skills/create-honeycomb-board/references/board-queries.md を参照してください。
各候補クエリに対して run_query を使用します。各結果はクエリ実行 ID(QR-abc123 のような形式)を返します。ダッシュボード構築時、これをパネルの id として使用します。
エラーを修正し、興味深い結果が得られなかったクエリは削除します。
視覚的な流れを考慮し、ダッシュボードを表現力豊かにします。ダッシュボードは12列のグリッドを使用します。数値パネルは並べて配置でき、ヒートマップ(色分けされた図表)は全幅を使い、分類表示は高さを活かすことができます。サイズ例は ${CLAUDE_PLUGIN_ROOT}/skills/create-honeycomb-board/references/board-layout.md を参照してください。
ビューアが対話的にダッシュボードをフィルタリングしたい場合(ルート、地域、アカウントレベルなど)、preset_filters の使用を検討してください。
各パネルについて以下を表示してください:
run_query の結果メタデータから得た query_url)を表示します。結果の要点を簡潔に述べてください。最後に「このようなダッシュボードを作成します。進めても大丈夫でしょうか?」と確認してください。
この段階は必須です。 ユーザーが「作成して」「信頼してる」「プレビューは不要」と言った場合でも、計画を表示してください。未確認のものを有意義に承認することはできません。作成後にダッシュボードを更新する方法はなく、唯一の修正方法は削除して作り直すことです。事前に計画を示すことで、ユーザーが不要と思っていても保護することができます。
唯一の例外:ユーザーがこの会話内で特定の計画をすでにレビューして承認している場合は、先に進んでかまいません。
create_board を panels 配列とともに呼び出します。すべてのパネルには type フィールド("query"、"slo"、"text")が必要です。これは適用される他のフィールドを決定します。フィールドの完全なリファレンスは ${CLAUDE_PLUGIN_ROOT}/skills/create-honeycomb-board/references/board-layout.md を参照してください。
{
"environment_slug": "production",
"name": "Checkout Service",
"description": "...",
"panels": [
{
"type": "text",
"content": "## Checkout Service\nOwned by Platform team. [Source](https://github.com/...)"
},
{
"type": "slo",
"id": "SLO-abc123",
"size": { "width": 4 }
},
{
"type": "query",
"id": "QR-abc123",
"name": "Request Rate",
"chart_type": "stat",
"display_style": "chart",
"size": { "width": 4 }
},
{
"type": "query",
"id": "QR-def456",
"name": "Error Rate",
"chart_type": "stat",
"display_style": "chart",
"size": { "width": 4 }
},
{
"type": "query",
"id": "QR-ghi789",
"name": "Latency Distribution",
"description": "Overall request latency as a heatmap",
"chart_type": "default",
"display_style": "chart",
"size": { "width": 12, "height": 3 }
}
],
"preset_filters": [{ "column": "http.route", "alias": "Route" }],
"tags": ["team:platform", "tier:critical"]
}
ユーザーにダッシュボードへのリンクを提供します。
Build a board (dashboard) in Honeycomb using the create_board MCP tool.
There is no update tool — define it well before creating.
When building a board, think about the purpose and time frame involved. Some examples:
Use get_slos to list SLOs in the environment. Relevant SLOs will go on the board as slo panels.
Look at the code and docs (using Read/Grep/Glob) to understand the service or feature. Use this to write a text panel. Link to GitHub or documentation if you can.
This will vary greatly depending on the purpose of the board.
Description of the application and link to the code - great for a service board.
What is the feature, and what business impact does it have? - great for a feature board.
What is the problem, and what is the impact? What patterns do we see? - great for a problem board.
Get Honeycomb context: Call get_workspace_context for available environments. Use get_environment to find datasets — each dataset corresponds to an OTEL_SERVICE_NAME.
Code context: Look at the language and any custom attributes (often prefixed app.). Custom fields are prime candidates for breakdowns and business metrics.
Discover columns: Use find_columns or get_dataset_columns. Pay special attention to non-standard columns — those are specific to the application.
Find queries: Use find_queries to see what people have already queried. Check get_triggers for what they alert on — those indicate what matters.
Time range: Default to 2 hours. Use 8–24 hours for lower-volume services. Use 7 days for feature usage boards. Keep it consistent across all panels.
Aim for 6–12 graphs. Stat panels are bonus — they don't count against this limit.
List your candidate queries for the user with reasons before running them. See ${CLAUDE_PLUGIN_ROOT}/skills/create-honeycomb-board/references/board-queries.md for what to include and how to write each kind.
Use run_query for each candidate query. Each result returns a query run PK (like QR-abc123) — you'll use this as the panel id when building the board.
Fix errors. Eliminate queries that return no interesting results.
Think about visual flow and how to make the board expressive. The board uses a 12-column grid — stat panels can sit side-by-side, a heatmap deserves full width, breakdowns benefit from extra height. See ${CLAUDE_PLUGIN_ROOT}/skills/create-honeycomb-board/references/board-layout.md for sizing examples.
Consider preset_filters if viewers will want to slice the board interactively (by route, region, account tier, etc.).
For each panel, display:
query_url from the run_query result metadata). Briefly describe what the results showed.End with: "Here's the board I'd create. Shall I go ahead?"
This step is non-negotiable. If the user says "just create it", "I trust you", or "skip the preview" — show the plan anyway. The user cannot meaningfully confirm something they haven't seen. There is no way to update a board after creation; the only fix is to delete it and start over. Showing the plan first protects them even when they think they don't need it.
The one exception: if the user has already reviewed and approved a specific plan in this conversation, you may proceed.
Call create_board with a panels array. Every panel requires a type field — "query", "slo", or "text" — that determines what other fields apply. See ${CLAUDE_PLUGIN_ROOT}/skills/create-honeycomb-board/references/board-layout.md for the full field reference.
{
"environment_slug": "production",
"name": "Checkout Service",
"description": "...",
"panels": [
{
"type": "text",
"content": "## Checkout Service\nOwned by Platform team. [Source](https://github.com/...)"
},
{
"type": "slo",
"id": "SLO-abc123",
"size": { "width": 4 }
},
{
"type": "query",
"id": "QR-abc123",
"name": "Request Rate",
"chart_type": "stat",
"display_style": "chart",
"size": { "width": 4 }
},
{
"type": "query",
"id": "QR-def456",
"name": "Error Rate",
"chart_type": "stat",
"display_style": "chart",
"size": { "width": 4 }
},
{
"type": "query",
"id": "QR-ghi789",
"name": "Latency Distribution",
"description": "Overall request latency as a heatmap",
"chart_type": "default",
"display_style": "chart",
"size": { "width": 12, "height": 3 }
}
],
"preset_filters": [{ "column": "http.route", "alias": "Route" }],
"tags": ["team:platform", "tier:critical"]
}
Link the user to the board.
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。