omnibus-instrument-feature-flags について
アプリへの PostHog のフィーチャーフラグ追加や SDK 設定を支援するコーディングスキルです。プロジェクトの技術スタックを判定し、対応する資料を参照して、フラグ設定や段階的な公開、最小限のコード変更を進めます。
主な機能
- 01言語とフレームワークの判定
- 02プラットフォーム別 SDK 資料の参照
- 03PostHog MCP によるフラグの検索・作成
- 04公開条件と対象の計画
- 05環境変数を使った最小限のフラグ判定
活用シーン
- 01実装した機能の有効化を制御
- 02プルリクエストのレビュー時にフラグを追加
- 03SDK 未導入のプロジェクトに PostHog を設定
MCP 対応
PostHog MCP サーバーが接続されている場合、そのツールでフィーチャーフラグを検索または作成します。env-file-tools MCP サーバーを使って環境変数を確認・設定することもできます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ posthog/ skills --skill omnibus-instrument-feature-flagsインストール後、Claude Code で/omnibus-instrument-feature-flagsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/adding-feature-flag-code.mdandroid.mdapi.mdbest-practices.mddotnet.mdelixir.mdflutter.mdgo.mdios.mdjava.mdnext-js.mdnodejs.mdphp.mdpython.mdreact-native.mdreact.mdruby.mdrust.mdweb.md詳細
PostHog のフィーチャーフラグを追加する
このスキルを使用して、新機能や変更した機能を制御する PostHog のフィーチャーフラグを追加します。機能を実装した後やプルリクエストをレビューした後に使用すると、フィーチャーフラグによる制御で安全に段階的なロールアウトを行えます。PostHog がまだインストールされていない場合は、このスキルで初期 SDK セットアップも行えます。あらゆるプラットフォームや言語に対応しています。
対応プラットフォーム:React、Next.js、React Native、Web(JavaScript)、Node.js、Python、PHP、Ruby、Go、Java、Rust、.NET、Elixir、Android、iOS、Flutter、REST API。
手順
以下の手順を順番どおりに実行してください。
STEP 1: コードベースを分析し、プラットフォームを特定します。
- 依存関係ファイル(package.json、requirements.txt、go.mod、Gemfile、composer.json など)を確認し、言語とフレームワークを特定します。
- ロックファイル(pnpm-lock.yaml、package-lock.json、yarn.lock、bun.lockb)を確認し、パッケージマネージャーを特定します。
- PostHog の既存のセットアップ(SDK の初期化、環境変数など)を確認します。PostHog がすでにインストールされ、初期化されている場合は、STEP 3 に進みます。
STEP 2: 計測方法を調べます。(PostHog がすでにセットアップされている場合はスキップします。) 2.1. 検出したプラットフォームに合致する以下のリファレンスファイルを見つけてください。このファイルは、SDK の初期化、フラグの評価方法、フレームワーク固有のパターンに関する信頼できる情報源です。すぐに読んでください。 2.2. 該当するリファレンスがない場合は、一般知識とウェブ検索を利用してください。検索の主な情報源として posthog.com/docs を使用します。
STEP 3: フィーチャーフラグを作成するか、既存のものを見つけます。
- PostHog MCP サーバーが接続されているか確認します。利用できる場合は、そのツールを使って、ユーザーが計測したい既存のフィーチャーフラグを検索するか、新しいものを作成します。
- MCP サーバーを利用できない場合は、PostHog ダッシュボードでフラグを作成するようユーザーに指示します。
STEP 4: リリース条件を計画します。
- ロールアウト戦略(パーセンテージによるロールアウト、ユーザーのターゲティング、グループのターゲティングなど)を決定します。
- コード内でフィーチャーフラグを使って新機能を制御する方法を計画します。
STEP 5: 機能を計測します。
- プラットフォーム固有のリファレンスパターンに従って、フィーチャーフラグのコードを追加します。
- UI のちらつきを避けるため、可能な場合はサーバーサイド評価を使用します。
- 既存ファイルの基本的なアーキテクチャは変更しないでください。追加は最小限かつ対象を絞って行います。
- ファイルを書き込む前に、必ずそのファイルを直前に読んでください。
STEP 6: 環境変数を設定します。
- env-file-tools MCP サーバーが接続されている場合は、check_env_keys を使って既存のキーを確認してから、set_env_values を使って PostHog の API キーとホストを作成または更新します。
- ハードコードする代わりに、コード内でこれらの環境変数を参照します。
リファレンスファイル
references/react.md- React のフィーチャーフラグのインストール - ドキュメントreferences/react-native.md- React Native のフィーチャーフラグのインストール - ドキュメントreferences/web.md- Web のフィーチャーフラグのインストール - ドキュメントreferences/nodejs.md- Node.js のフィーチャーフラグのインストール - ドキュメントreferences/python.md- Python のフィーチャーフラグのインストール - ドキュメントreferences/php.md- PHP のフィーチャーフラグのインストール - ドキュメントreferences/ruby.md- Ruby のフィーチャーフラグのインストール - ドキュメントreferences/go.md- Go のフィーチャーフラグのインストール - ドキュメントreferences/java.md- Java のフィーチャーフラグのインストール - ドキュメントreferences/rust.md- Rust のフィーチャーフラグのインストール - ドキュメントreferences/dotnet.md- .NET のフィーチャーフラグのインストール - ドキュメントreferences/elixir.md- Elixir のフィーチャーフラグのインストール - ドキュメントreferences/android.md- Android のフィーチャーフラグのインストール - ドキュメントreferences/ios.md- iOS のフィーチャーフラグのインストール - ドキュメントreferences/flutter.md- Flutter のフィーチャーフラグのインストール - ドキュメントreferences/api.md- API のフィーチャーフラグのインストール - ドキュメントreferences/next-js.md- Next.js - ドキュメントreferences/adding-feature-flag-code.md- フィーチャーフラグコードの追加 - ドキュメントreferences/best-practices.md- フィーチャーフラグのベストプラクティス - ドキュメント
各プラットフォームのリファレンスには、SDK 固有のインストール方法、フラグの評価方法、コード例が記載されています。ユーザーのスタックに合ったものを選んでください。一覧にない場合は、代わりに API リファレンスを使用してください。
主要な原則
- 環境変数:PostHog のキーには必ず環境変数を使用してください。ハードコードしないでください。
- 変更は最小限に:既存のロジックを置き換えたり、再構成したりせず、既存のロジックにフィーチャーフラグのコードを追加してください。
- まずはブール値フラグ:ユーザーが多変量フラグを明示的に求めない限り、ブール値フラグのチェックを基本としてください。
- 可能な場合はサーバーサイドで:UI のちらつきを防ぐため、サーバーサイドでのフラグ評価を優先してください。