mcpField
O
omnibus-instrument-feature-flags

omnibus-instrument-feature-flags

github.com/posthog開発7699 回インストール今日更新
リポジトリ

omnibus-instrument-feature-flags について

アプリへの PostHog のフィーチャーフラグ追加や SDK 設定を支援するコーディングスキルです。プロジェクトの技術スタックを判定し、対応する資料を参照して、フラグ設定や段階的な公開、最小限のコード変更を進めます。

主な機能

  1. 01言語とフレームワークの判定
  2. 02プラットフォーム別 SDK 資料の参照
  3. 03PostHog MCP によるフラグの検索・作成
  4. 04公開条件と対象の計画
  5. 05環境変数を使った最小限のフラグ判定

活用シーン

  1. 01実装した機能の有効化を制御
  2. 02プルリクエストのレビュー時にフラグを追加
  3. 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.md
android.md
api.md
best-practices.md
dotnet.md
elixir.md
flutter.md
go.md
ios.md
java.md
next-js.md
nodejs.md
php.md
python.md
react-native.md
react.md
ruby.md
rust.md
web.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 のちらつきを防ぐため、サーバーサイドでのフラグ評価を優先してください。

コメント