omnibus-instrument-logs について
既存プロジェクトへの PostHog ログ収集追加や、OTLP ログエクスポートの初期設定を支援するコーディングスキルです。技術スタックの特定から設定、構造化ログの追加までを案内し、既存のログ処理を維持します。
主な機能
- 01言語とログ構成の検出
- 02PostHog OTLP エクスポート設定
- 03既存ログへの収集機能追加
- 04構造化ログ属性の追加
- 05複数のプラットフォームと言語に対応
活用シーン
- 01機能変更後の PostHog ログ追加
- 02ログエクスポートの初期設定
- 03構造化イベントのコードレビュー
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ posthog/ skills --skill omnibus-instrument-logsインストール後、Claude Code で/omnibus-instrument-logsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/best-practices.mddatadog.mddebug-logs-mcp.mdgo.mdjava.mdlink-session-replay.mdnextjs.mdnodejs.mdother.mdpython.mdsearch.mdstart-here.mdtroubleshooting.md詳細
PostHog ログキャプチャの追加
このスキルを使用して、新規または変更したコードに PostHog ログキャプチャを追加します。機能の実装後や PR のレビュー後に使用し、意味のあるログイベントが構造化プロパティとともに記録されるようにします。PostHog のログエクスポートがまだ設定されていない場合は、このスキルで OTLP エクスポーターの初期設定も行います。あらゆるプラットフォームや言語に対応しています。
対応プラットフォーム:Next.js、Node.js、Python、Go、Java、Datadog、および OpenTelemetry を介したあらゆる言語。
手順
次の手順を順番どおりに実行します。
STEP 1: コードベースを分析し、プラットフォームを特定します。
- 言語、フレームワーク、既存のログ設定を特定します。
- ログライブラリ(winston、pino、logging module、logrus、log4j、serilog など)を探します。
- パッケージマネージャーを特定するため、ロックファイルを探します。
- 既存の PostHog ログエクスポート設定を確認します。OTLP エクスポーターがすでに設定されている場合は、STEP 5 に進み、新しいコードのログキャプチャを追加します。
STEP 2: ログキャプチャについて調べます。(PostHog ログエクスポートがすでに設定されている場合はスキップします。) 2.1. 以下のリファレンスファイルから、特定したプラットフォームに該当するものを見つけます。このファイルは OTLP エクスポーターの設定と既存のログとの統合に関する正確な情報源です。今すぐ読みます。 2.2. 該当するリファレンスがない場合は、代替として「Other Languages」のリファレンスを使用します。汎用的な OpenTelemetry の方法を解説しています。
STEP 3: 依存関係をインストールします。(PostHog ログエクスポートがすでに設定されている場合はスキップします。)
- 特定したプラットフォーム用の OpenTelemetry SDK と OTLP エクスポーターパッケージをインストールします。
- 依存関係ファイルを手動で編集せず、パッケージマネージャーのインストールコマンドを使用します。
- パッケージは必ずバックグラウンドタスクとしてインストールします。完了を待たず、すぐにほかの作業に進みます。
STEP 4: OTLP エクスポーターを設定します。(PostHog ログエクスポートがすでに設定されている場合はスキップします。)
- PostHog のログでは OpenTelemetry プロトコルを使用します。PostHog の取り込みエンドポイントを指定して、OTLP エクスポーターを設定します。
- 正確な設定方法については、プラットフォーム別のリファレンスに従います。
STEP 5: 既存のログと統合します。
- 既存のログと並行して PostHog ログエクスポーターを追加します。既存のログハンドラーや出力先を置き換えないでください。
- 既存ファイルの基本的なアーキテクチャを変更しないでください。追加は最小限かつ対象を絞って行います。
- ファイルに書き込む前に、必ずそのファイルを読みます。
STEP 6: 構造化プロパティを追加します。
- PostHog でのフィルタリングや検索に使えるよう、ログに構造化されたキーと値のプロパティが含まれていることを確認します。
- プレーンテキストのメッセージより、キーと値のプロパティを含む構造化ログ形式を優先します。
STEP 7: 環境変数を設定します。
- env-file-tools MCP サーバーが接続されている場合は、check_env_keys の後に set_env_values を使用して、PostHog API キー、ホスト、OpenTelemetry エンドポイントを設定します。
- 値をハードコードせず、コード内ではこれらの環境変数を参照します。
リファレンスファイル
references/nextjs.md- Next.js ログのインストール - ドキュメントreferences/nodejs.md- Node.js ログのインストール - ドキュメントreferences/python.md- Python ログのインストール - ドキュメントreferences/go.md- Go ログのインストール - ドキュメントreferences/java.md- Java ログのインストール - ドキュメントreferences/datadog.md- Datadog ログのインストール - ドキュメントreferences/other.md- その他の言語のログのインストール - ドキュメントreferences/start-here.md- ログの利用開始 - ドキュメントreferences/search.md- ログの検索 - ドキュメントreferences/best-practices.md- ログ記録のベストプラクティス - ドキュメントreferences/troubleshooting.md- ログのトラブルシューティング - ドキュメントreferences/link-session-replay.md- セッションリプレイのリンク - ドキュメントreferences/debug-logs-mcp.md- MCP でログをデバッグ - ドキュメント
各プラットフォームのリファレンスには、具体的な OTLP 設定、SDK のセットアップ、統合パターンが記載されています。ユーザーのスタックに合ったものを選んでください。
主な原則
- 環境変数:PostHog のキーと OpenTelemetry のエンドポイントには、常に環境変数を使用してください。ハードコードしないでください。
- 最小限の変更:既存のロギングにログのエクスポートを追加してください。既存のロギングコードを置き換えたり、構成し直したりしないでください。
- OpenTelemetry:PostHog のログでは OpenTelemetry プロトコルを使用します。PostHog の取り込みエンドポイントを指定した OTLP エクスポーターを設定してください。
- 構造化ロギング:プレーンテキストのメッセージよりも、キーと値のプロパティを含む構造化ログ形式を優先してください。