claude-skills/

Anthropic公式スキル・プラグインの日本語ディレクトリ

last sync 1h ago
スキルOfficialmonitoring

📊create-honeycomb-board

プラグイン
honeycomb

説明

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.

ユースケース

  • Honeycomb でダッシュボードを作成するとき
  • サービスの健全性を可視化したいとき
  • ゴールデンシグナルを監視するボードが必要なとき
  • クエリと SLO を含むボードを設計するとき
  • 監視用ボードをセットアップするとき

本文(日本語訳)

Honeycombダッシュボードの作成

create_board MCP ツールを使用して、Honeycomb(監視データを可視化するサービス)にダッシュボードを構築します。 更新ツールはないため、作成前に十分に検討して定義する必要があります。

ダッシュボード構築時は、その目的と対象とする時間範囲を考慮してください。例えば:

  • サービス用ダッシュボード:サービスの健全性、パフォーマンス、ビジネス指標を常に監視するもの。問題の診断や調査、テキストパネルでのグラフの要約は不要。ダッシュボードは、閲覧時点でのサービスの健全性をあるがままに表現するべきです。

  • 機能用ダッシュボード:機能の利用傾向とビジネスへの影響を見るもの。時間範囲は7日間とし、インフラ関連の指標やサービス依存関係は含めません。

  • 問題用ダッシュボード:インシデント(障害)の発生中または発生後に作成されるもの。時間範囲はインシデント固有のものとし、調査結果と現象の解釈を含めます。確認すべきパターンの説明も適切です。

ワークフロー

SLO(サービスレベル目標)の確認

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 の使用を検討してください。

提案するダッシュボードをユーザーに表示する — 必ず、例外なく

各パネルについて以下を表示してください:

  • テキストパネル:ダッシュボードに表示される完全なマークダウンコンテンツを表示します。ダッシュボードは更新できないため、ユーザーは作成前に正確な文言を確認する必要があります。
  • SLO パネル:SLO 名、目標値、現在の達成率を表示します。
  • クエリパネル:名前、説明、グラフの種類、表示形式、クエリへのリンクrun_query の結果メタデータから得た query_url)を表示します。結果の要点を簡潔に述べてください。
  • 予定されているレイアウト(サイズと構成)
  • タグ:ダッシュボードに追加予定のタグを表示します。
  • プリセットフィルター(ある場合)

最後に「このようなダッシュボードを作成します。進めても大丈夫でしょうか?」と確認してください。

この段階は必須です。 ユーザーが「作成して」「信頼してる」「プレビューは不要」と言った場合でも、計画を表示してください。未確認のものを有意義に承認することはできません。作成後にダッシュボードを更新する方法はなく、唯一の修正方法は削除して作り直すことです。事前に計画を示すことで、ユーザーが不要と思っていても保護することができます。

唯一の例外:ユーザーがこの会話内で特定の計画をすでにレビューして承認している場合は、先に進んでかまいません。

ダッシュボードの作成

create_boardpanels 配列とともに呼び出します。すべてのパネルには 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"]
}

完了後

ユーザーにダッシュボードへのリンクを提供します。

関連リファレンス

  • クエリの構築パターンと計算フィールドについて:query-patterns スキル
  • SLO の解釈とアラート設定の設計について:slos-and-triggers スキル
原文(English)を表示

Create a Honeycomb Board

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:

  • a board for a service. This should be timeless, looking at the service's health, performance, and business metrics. Do not do any problem diagnosis or investigation when building this board. Do not express opinions or summarize graphs in text panels. The board should be a representation of the service's health at whatever moment someone looks at it.
  • a board for a feature. This should look at the feature's usage trends, and its impact on the business. This board would have a time frame of 7 days, and would not include any infrastructure metrics or service dependencies.
  • a board for a problem. This might be created during an incident, or afterward. This one would have a time frame specific to the incident. It would include investigations, and your opinions about what is happening. Patterns of what to look for are appropriate here.

Workflow

Gather SLOs

Use get_slos to list SLOs in the environment. Relevant SLOs will go on the board as slo panels.

Gather descriptive context

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.

Build candidate queries

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.

Run and check queries

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.

Plan the layout

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.).

Show the proposed board to the user — always, without exception

For each panel, display:

  • Text panels: Show the full markdown content that will appear on the board. The user needs to review the exact wording before creation since boards can't be updated.
  • SLO panels: Show the SLO name, target, and current compliance.
  • Query panels: Show the name, description, chart type, display style, and a link to the query (the query_url from the run_query result metadata). Briefly describe what the results showed.
  • Planned layout (sizing and groupings)
  • Tags: Display the tags you plan to add to the board.
  • Any preset filters

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.

Create the board

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"]
}

Follow up

Link the user to the board.

Cross-References

  • For query construction patterns and calculated fields: query-patterns skill
  • For SLO interpretation and burn alert design: slos-and-triggers skill

原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。

honeycomb:create-honeycomb-board — Anthropic公式 Claude Skill 日本語版