Communitygithub.com

Piyush-Nagar/coding-agents-skills

見えないものは直せません。オブザーバビリティはインシデント後に後付けするものではなく、設計段階から組み込むものです。プロダクションに関する質問に答えるためにコード変更が必要なら、それは計装が間違っています。

coding-agents-skills とは?

このスキルは、AIエージェント(Claude Code、Coder、Codexなど)がアプリケーションやシステムのオブザーバビリティを正しく設計・実装するためのガイドラインを提供します。ログ、メトリクス、トレースという三本柱の活用方法、構造化ログの必須化、全ログ行への相関IDの埋め込み、エンドポイントごとのREDメトリクス(Rate/Errors/Duration)やリソースごとのUSEメトリクス(Utilization/Saturation/Errors)の適用、OpenTelemetryによるクロスサービスコールのトレース、SLOベースのアラート設定、ヘルスチェックとレディネスチェックの分離、適切なログレベルと1イベント1ログの原則、PIIや機密情報のログ禁止、アラートに必ずランブックを紐付けることなどを明示しています。また、プロダクションへのSSHデバッグ、頻発する無視アラート、コンテキストのないエラーログ、平均値のみのメトリクス、ユーザージャーニーを無視したダッシュボードといったレッドフラグも定義しており、AIエージェントがコード生成やレビュー、トラブルシューティングの際にオブザーバビリティのベストプラクティスを自動適用できるよう支援します。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Piyush-Nagar/coding-agents-skills/tree/HEAD/backend/core/nfr/observability

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

オブザーバビリティ

見えないものは直せません。オブザーバビリティはインシデント後に後付けするものではなく、設計段階から組み込むものです。プロダクションに関する質問に答えるためにコード変更が必要なら、それは計装が間違っています。

ルール

  • 三本柱:ログ、メトリクス、トレース。 それぞれ異なる質問に答えます — 何が起きたか(ログ)、どれくらい&どの程度頻繁に(メトリクス)、なぜ遅かったか(トレース)。3つすべてが必要です。
  • 構造化ログのみ。 JSON(またはそれに類する形式)。スケール環境では grep は戦略になりません。
  • すべてのログ行に相関/トレースID。 サービス間の境界を越えてヘッダーで伝搬します。1つのIDでリクエストの全体像をつなぎ合わせます。
  • すべてのエンドポイントにREDメトリクス。 Rate(レート)、Errors(エラー)、Duration(持続時間、P50/P95/P99付き)。リグレッションを検出するための最低限の指標です。
  • すべてのリソースにUSEメトリクス。 Utilization(使用率)、Saturation(飽和度)、Errors(エラー) — CPU、メモリ、プール、キュー、ディスク、ネットワークに対して。
  • すべてのクロスサービスコールをトレース。 OpenTelemetry を使用します。DBクエリやキャッシュヒットもスパンとして取得します。
  • 生のメトリクスではなく、SLOに基づいてアラートを発報。 「CPU > 80%」は午前3時に人間を無駄に起こします。「P99レイテンシがSLOを5分間超過」は実際のユーザー体験の問題を捉えます。
  • ヘルスチェックとレディネスチェックは異なるエンドポイント。 /health = 「生きています、再起動しないでください。」 /ready = 「今すぐトラフィックを受け入れられます。」 そのように扱ってください。
  • 適切なレベルでログを出力し、イベントごとに1回だけ出力。 INFO はリクエストライフサイクル、WARN は復旧可能な問題、ERROR は人間の対応が必要なもの。重複ログはダッシュボードを誤ったものにします。
  • PIIや機密情報をログに記録しない。 アペンダーでマスクしてください。呼び出し元が覚えているとは期待しないでください。
  • すべてのアラートはランブック(対応手順書)を参照する。 文書化されたアクションがないアラートは、ページングを装ったSlack通知に過ぎません。

レッドフラグ

  • プロダクションをデバッグするためにPodにSSH接続する。
  • 日常的に発報されて無視されるアラート。(アラート疲れは信頼性の問題です。)
  • コンテキスト、ID、スタックトレースなしで "error occurred" とだけ言うログ。
  • パーセンタイルなしで平均値のみを示すメトリクス。
  • サービスごとのダッシュボードはあっても、ユーザージャーニーごとのダッシュボードがゼロ。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

関連スキル