configure-feature-flags について
OpenFeature に基づく機能フラグ基盤の設定と監査を支援するスキルです。プロジェクトの状態を調べ、SDK、プロバイダー、中継プロキシ、テストの設定を案内します。
主な機能
- 01言語とフラグプロバイダーの検出
- 02SDKとプロバイダー設定の監査
- 03SDKとプロバイダーの設定
- 04中継プロキシ基盤の構築
- 05インメモリテスト設定の作成
- 06確認のみと自動修正に対応
活用シーン
- 01機能フラグ設定の完全性評価
- 02新規プロジェクトへのOpenFeature導入
- 03GO Feature Flagまたはflagdの設定
- 04機能フラグの単体テスト準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ laurigates/ claude-plugins --skill configure-feature-flagsインストール後、Claude Code で/configure-feature-flagsを入力して読み込まれたか確認します。
同梱ファイルREFERENCE.md
詳細
/configure:feature-flags
プラグイン可能なプロバイダーを備えた OpenFeature 標準を使用して、フィーチャーフラグのインフラストラクチャを確認および設定します。
このスキルを使用する場合
| 次の場合にこのスキルを使用します... | 次の場合は別の方法を使用します... |
|---|---|
| 新しいプロジェクトにフィーチャーフラグのインフラストラクチャを追加する | YAML 内の個々のフラグ定義を作成または編集する |
| プロバイダー(GOFF、flagd、LaunchDarkly)を使って OpenFeature SDK をセットアップする | 特定のフラグ評価で予期しない値が返される原因をデバッグする |
| 既存のフィーチャーフラグ設定に不足がないか監査する | フィーチャーフラグを使用するアプリケーションロジックを記述する |
| リレープロキシのインフラストラクチャを設定する(Docker、Kubernetes) | LaunchDarkly または Split のダッシュボード設定を管理する |
| フィーチャーフラグ用のテストヘルパーとメモリ内プロバイダーを追加する | エラートラッキングを設定する(代わりに /configure:sentry を使用) |
コンテキスト
- Package JSON: !
find . -maxdepth 1 -name \'package.json\' - Python プロジェクト: !
find . -maxdepth 1 -name \'pyproject.toml\' - Go プロジェクト: !
find . -maxdepth 1 -name \'go.mod\' - Cargo プロジェクト: !
find . -maxdepth 1 -name \'Cargo.toml\' - OpenFeature SDK: !
find . -maxdepth 1 \( -name package.json -o -name pyproject.toml -o -name Cargo.toml -o -name go.mod \) -exec grep -l 'openfeature' {} + - GOFF 設定: !
find . -maxdepth 2 -name 'flags.goff.yaml' -o -name 'flags.goff.yml' - Docker compose: !
find . -maxdepth 1 -name 'docker-compose*.yml' -o -name 'docker-compose*.yaml' - プロジェクト標準: !
find . -maxdepth 1 -name \'.project-standards.yaml\'
パラメーター
$ARGUMENTS から解析します。
--check-only: 変更を加えずに準拠状況を報告します--fix: 確認を求めずにすべての修正を自動適用します--provider <provider>: プロバイダーの検出結果を上書きします(goff、flagd、launchdarkly、split)
バージョンの確認
重要: フィーチャーフラグを設定する前に、WebSearch または WebFetch を使用して SDK とプロバイダーの最新バージョンを確認します。
- OpenFeature JS SDK: npm を確認します
- OpenFeature Python SDK: PyPI を確認します
- GO Feature Flag: GitHub リリースを確認します
- flagd: GitHub リリースを確認します
実行
次のフィーチャーフラグ設定ワークフローを実行します。
ステップ 1: プロジェクトの言語と既存のセットアップを検出する
既存のフィーチャーフラグのインフラストラクチャを確認します。
| 指標 | 言語 | 検出されたプロバイダー |
|---|---|---|
package.json 内の @openfeature/server-sdk | Node.js | OpenFeature(プロバイダーを確認) |
package.json 内の @openfeature/web-sdk | ブラウザー JS | OpenFeature Web |
package.json 内の @openfeature/react-sdk | React | OpenFeature React |
pyproject.toml 内の openfeature-sdk | Python | OpenFeature Python |
@openfeature/go-feature-flag-provider | Node.js | GO Feature Flag |
docker-compose 内の go-feature-flag-relay-proxy | 任意 | GO Feature Flag Relay |
docker-compose/k8s 内の flagd | 任意 | flagd プロバイダー |
ステップ 2: 現在の状態を分析する
フィーチャーフラグのセットアップが完全か確認します。
- プロジェクトの言語に対応する OpenFeature SDK がインストールされていることを確認します
- プロバイダーパッケージがインストールされていることを確認します
- アプリケーションの起動時にプロバイダーが初期化されていることを確認します
- 評価コンテキストの設定を確認します
- フック(ロギング、テレメトリー)が設定されていることを確認します
- GOFF の場合:フラグ設定ファイルが存在し、リレープロキシが設定されていることを確認します
- flagd の場合:コンテナー/サービスが設定され、gRPC/HTTP エンドポイントがあることを確認します
ステップ 3: 準拠レポートを生成する
書式付きの準拠レポートを出力します。
Feature Flag Compliance Report
==============================
Project: [name]
Language: [detected]
Provider: [detected or None]
OpenFeature SDK: [status per check]
Provider Config: [status per check]
Infrastructure: [status per check]
Overall: [X issues found]
Recommendations: [list specific fixes]
--check-only が指定されている場合は、ここで終了します。
ステップ 4:SDK をインストールし、プロバイダーを設定する(--fix またはユーザーが確認した場合)
検出された言語に基づき、選択したプロバイダーとともに OpenFeature SDK をインストールして設定します。REFERENCE.md のコードテンプレートを使用します。
- OpenFeature SDK とプロバイダーパッケージをインストールする
- フィーチャーフラグのクライアントラッパーモジュールを作成する
- 評価コンテキストのヘルパーを作成する
- HTTP フレームワーク(Express、FastAPI など)向けのミドルウェアを作成する
ステップ 5:フラグ設定を作成する
一般的なパターンを網羅するサンプルフラグを含む flags.goff.yaml を作成します。
- シンプルなブール値フラグ
- パーセンテージロールアウト
- 複数バリアントフラグ(A/B テスト)
- 環境固有のフラグ
- ユーザー固有のオーバーライド
- スケジュールされたロールアウト
REFERENCE.md のフラグテンプレートを使用します。
ステップ 6:インフラストラクチャを設定する
- リレープロキシ用の docker-compose エントリを作成する(ローカル開発用)
- 必要に応じて、本番環境向けの Kubernetes マニフェストを作成する
ステップ 7:テスト設定を作成する
フィーチャーフラグの単体テストでインメモリプロバイダーを使用するテストファイルを作成します。
ステップ 8:標準の追跡情報を更新する
.project-standards.yaml を更新します。
components:
feature_flags: "2025.1"
feature_flags_sdk: "openfeature"
feature_flags_provider: "[goff|flagd|launchdarkly]"
ステップ 9:完了レポートを出力する
SDK のインストール、プロバイダーの設定、フラグファイルの作成、次の手順(リレーの起動、アプリでの初期化、コードでのフラグの使用)など、行った変更をすべて要約して出力します。
詳細なコードテンプレート、フラグ設定のパターン、インフラストラクチャのマニフェストについては、REFERENCE.md を参照してください。
エージェント向けの最適化
| コンテキスト | コマンド |
|---|---|
| コンプライアンスの簡易チェック | /configure:feature-flags --check-only |
| GOFF プロバイダーで自動修正 | /configure:feature-flags --fix --provider goff |
| フラグ設定を検証 | goff lint --file flags.goff.yaml |
| リレープロキシの正常性を確認 | `curl -s http://localhost:1031/health |
| 設定済みフラグを一覧表示 | `curl -s http://localhost:1031/v1/feature/flags |
| SDK のインストールを確認(JS) | `jq -r '.dependencies |
フラグ
| フラグ | 説明 |
|---|---|
--check-only | 修正を提案せずにステータスを報告する |
--fix | 確認を求めずにすべての修正を自動適用する |
--provider <provider> | プロバイダーの検出結果を上書きする(goff、flagd、launchdarkly、split) |
例
# Check compliance and offer fixes
/configure:feature-flags
# Check only, no modifications
/configure:feature-flags --check-only
# Auto-fix with GO Feature Flag provider
/configure:feature-flags --fix --provider goff
# Configure for LaunchDarkly
/configure:feature-flags --fix --provider launchdarkly
エラー処理
- パッケージマネージャーが見つからない場合:SDK をインストールできないため、手動での手順を提示する
- プロバイダーがサポートされていない場合:サポート対象のプロバイダーを列挙し、代替案を提案する
- リレープロキシに接続できない場合:Docker/K8s の設定を確認する
- フラグの構文が無効な場合:デプロイ前に
goff lintで検証する
関連項目
/configure:all- すべてのコンプライアンスチェックを実行する/configure:sentry- エラー追跡(ロールバックのため、フィーチャーフラグと併用されることがよくあります)- OpenFeature のドキュメント:https://openfeature.dev
- GO Feature Flag のドキュメント:https://gofeatureflag.org