feature-flags-ruby について
Ruby アプリケーションに PostHog のフィーチャーフラグを追加するスキルです。実装の指針を示し、PostHog MCP サーバーが接続されていればフラグを管理する方法も案内します。
主な機能
- 01PostHog フィーチャーフラグの導入
- 02ブール値フラグの優先
- 03サーバーサイド評価の優先
- 04Ruby SDK の初期化と終了処理の案内
- 05PostHog MCP ツールによるフラグ管理
活用シーン
- 01Ruby アプリにフィーチャーフラグの判定を追加
- 02可能な場合はサーバーサイドで評価して画面のちらつきを回避
- 03MCP ツールでフラグを作成、更新、管理
MCP 対応
PostHog MCP サーバーの接続を確認し、利用可能であればフラグの作成、一覧表示、更新、削除にそのツールを使うよう案内します。
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ posthog/ skills --skill feature-flags-rubyインストール後、Claude Code で/feature-flags-rubyを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/adding-feature-flag-code.mdbest-practices.mdruby.md詳細
Ruby 向け PostHog フィーチャーフラグ
このスキルは、Ruby アプリケーションへの PostHog フィーチャーフラグの追加を支援します。
参考ファイル
references/ruby.md- Ruby のフィーチャーフラグのインストール - ドキュメントreferences/adding-feature-flag-code.md- フィーチャーフラグのコードの追加 - ドキュメントreferences/best-practices.md- フィーチャーフラグのベストプラクティス - ドキュメント
API の詳細やフレームワーク固有のパターンについては、ドキュメントを参照してください。
主な原則
- 環境変数:PostHog のキーには常に環境変数を使用してください。ハードコードしないでください。
- 最小限の変更:既存のロジックにフィーチャーフラグのコードを追加してください。既存のコードを置き換えたり、再構成したりしないでください。
- まずはブール値のフラグ:ユーザーから多変量フラグを明示的に求められない限り、デフォルトではブール値のフラグチェックを使用してください。
- 可能な限りサーバーサイドで:UI のちらつきを避けるため、サーバーサイドでのフラグ評価を優先してください。
PostHog MCP ツール
PostHog MCP サーバーが接続されているか確認してください。利用可能な場合は、フィーチャーフラグ管理(フラグの作成、一覧表示、更新、削除)に関するツールを探してください。ユーザーにダッシュボードでの手動操作を求めるのではなく、これらのツールを使って PostHog 上のフラグを直接管理してください。
フレームワークのガイドライン
- posthog-ruby は Ruby SDK の gem 名です(Gemfile に
gem 'posthog-ruby'を追加)が、require 'posthog'で読み込みます(require 'posthog-ruby'ではありません)。 - スクリプトや CLI でインスタンスベースの初期化を行う場合は、PostHog::Client.new(api_key: key, host: host) を使用してください。
- CLI やスクリプトでは、終了前に必ず client.shutdown を呼び出してください。そうしないと、すべてのイベントが失われます。
- 適切にクリーンアップするため、ensure ブロック内で shutdown を呼び出す begin/rescue/ensure を使用してください。
- capture と identify は、ハッシュ引数を 1 つだけ受け取ります:client.capture(distinct_id: 'user_123', event: 'my_event', properties: { key: 'value' })
- capture_exception は位置引数を取ります(キーワード引数ではありません):client.capture_exception(exception, distinct_id, additional_properties)。
distinct_id:のキーワード構文は使用しないでください。
コメント
Markdown 対応