launchdarkly-guarded-rollout について
LaunchDarkly のガード付きロールアウトを計画して開始するスキルです。設定済みの LaunchDarkly MCP サーバーを使い、段階、監視指標、回帰しきい値、対応策の設定を案内します。
主な機能
- 01フラグと利用可能な指標の確認
- 02段階的なトラフィック増加の計画
- 03監視時間としきい値の設定
- 04回帰発生時の対応策の選択
- 05ガード付きロールアウトの開始と確認
- 06進行中のロールアウトの停止
活用シーン
- 01機能フラグのバリエーションを段階的に公開
- 02エラー率、レイテンシ、コンバージョンの監視
- 03問題発生時のロールアウト停止
MCP 対応
リモートでホストされた LaunchDarkly MCP サーバーの設定が必要です。ツールを使ってフラグと指標を確認し、ロールアウトの開始・停止を行います。フラグの切り替えや指標の作成も任意で利用できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ launchdarkly/ ai-tooling --skill launchdarkly-guarded-rolloutインストール後、Claude Code で/launchdarkly-guarded-rolloutを入力して読み込まれたか確認します。
詳細
LaunchDarkly ガード付きロールアウト
あなたは、LaunchDarkly でガード付きロールアウトを構成する手順を案内するスキルを使用しています。あなたの役割は、ロールアウトのステージを設計し、監視メトリクスを選択し、リグレッションしきい値を構成し、ロールアウトを開始することです。
前提条件
このスキルを使用するには、リモートでホストされている LaunchDarkly MCP サーバーが環境内に構成されている必要があります。
必須の MCP ツール:
start-guarded-rollout-- 監視付きの段階的ロールアウトを開始しますget-flag-- フィーチャーフラグとそのバリエーションを検査しますlist-metrics-- ロールアウト中に監視するメトリクスを検索します
オプションの MCP ツール:
stop-guarded-rollout-- アクティブなロールアウトを即座に停止しますtoggle-flag-- 開始前にフィーチャーフラグがオンになっていることを確認しますcreate-metric-- メトリクスが存在しない場合に作成します
基本概念
ガード付きロールアウトとは?
ガード付きロールアウトは、一連のステージを通じて新しいフィーチャーフラグのバリエーションへのトラフィックを段階的に増加させます。各ステージで、LaunchDarkly は選択されたメトリクスにリグレッションがないか監視します。リグレッションが検出されると、ロールアウトは自動的に一時停止してチームに通知できます。あるいはロールバックすることもできます。
主要な構成要素
| 構成要素 | 説明 |
|---|---|
| テストバリエーション | ロールアウトされる新しいバリエーション |
| コントロールバリエーション | 既存の/ベースラインのバリエーション |
| ステージ | トラフィックの割合が増加する手順と監視ウィンドウ |
| メトリクス | リグレッションを監視する対象(エラー率、レイテンシなど) |
| リグレッションしきい値 | アクションをトリガーする前にメトリクスがどの程度悪化できるか |
| リグレッション発生時 | しきい値に達したときに通知、ロールバック、またはその両方を行うか |
ロールアウトの重みの単位
ロールアウトの重みは 1000 分の 1(ベーシスポイント)を使用します:
1000= 1%10000= 10%50000= 50%100000= 100%
監視ウィンドウ
監視ウィンドウはミリ秒で指定します:
3600000= 1 時間86400000= 24 時間604800000= 7 日間
基本原則
- 小さく始める: 問題を早期に発見するため、低い割合(1〜5%)から始めます
- 重要なものを監視する: ユーザーエクスペリエンスを反映するメトリクスを選択します
- 現実的なしきい値を設定する: 厳しすぎると誤警報が発生し、緩すぎるとリグレッションを見逃します
- 時間を確保する: 各ステージには、シグナルが現れるのに十分な監視時間が必要です
- ロールバック計画を用意する: リグレッション発生時に少なくとも通知は必ず構成します
ワークフロー
ステップ 1: 準備
ガード付きロールアウトを開始する前に:
get-flagを使用してフィーチャーフラグを検査します — テストとコントロールのバリエーション ID を確認しますlist-metricsを使用して、監視に適したメトリクスを検索します- 対象の環境でフィーチャーフラグがオンになっていることを確認します(必要に応じて
toggle-flagを使用します) - このフィーチャーフラグにアクティブなガード付きロールアウトがすでに存在しないことを確認します
ステップ 2: ステージの設計
ロールアウトの進行を計画します。一般的なパターン:
| ステージ | トラフィック | 監視ウィンドウ | 目的 |
|---|---|---|---|
| 1 | 1% | 1 時間 | スモークテスト — 明らかなクラッシュを検出します |
| 2 | 10% | 24 時間 | メトリクスに関する初期シグナル |
| 3 | 50% | 24 時間 | 信頼性の向上 |
| 4 | 100% | 24 時間 | 監視付きの完全なロールアウト |
ステップ 3: メトリクスの構成
問題を示すメトリクスを選択します:
| メトリクスの種類 | 例 | しきい値 | アクション |
|---|---|---|---|
| エラー率 | api-error-rate | 0.05(5% 増加) | ロールバック |
| レイテンシ | p99-response-time | 0.2(20% 増加) | 通知 |
| コンバージョン | checkout-completed | 0.1(10% 減少) | 通知 + ロールバック |
ステップ 4: ロールアウトの開始
start-guarded-rollout を使用します:
{
"projectKey": "my-project",
"flagKey": "new-checkout-flow",
"environmentKey": "production",
"testVariationId": "variation-id-for-new-flow",
"controlVariationId": "variation-id-for-current-flow",
"randomizationUnit": "user",
"stages": [
{"rolloutWeight": 1000, "monitoringWindowMilliseconds": 3600000},
{"rolloutWeight": 10000, "monitoringWindowMilliseconds": 86400000},
{"rolloutWeight": 50000, "monitoringWindowMilliseconds": 86400000},
{"rolloutWeight": 100000, "monitoringWindowMilliseconds": 86400000}
],
"metrics": [
{
"metricKey": "api-error-rate",
"onRegression": {"notify": true, "rollback": true},
"regressionThreshold": 0.05
},
{
"metricKey": "checkout-completed",
"onRegression": {"notify": true, "rollback": false},
"regressionThreshold": 0.1
}
]
}
ステップ 5: 確認
get-flagを使用して、ガード付きロールアウトがアクティブであることを確認します- フィーチャーフラグが環境内でロールアウト構成を表示していることを確認します
- 即時のリグレッション通知がないか監視します
結果を報告する:
- ガード付きロールアウトが N 個のステージで開始されました
- M 個のメトリクスが監視されています
- 最初のステージは X% のトラフィックで Y 時間実行されます
ロールアウトの停止
問題が発生した場合、またはロールアウトを中断する必要がある場合:
{
"projectKey": "my-project",
"flagKey": "new-checkout-flow",
"environmentKey": "production"
}
これにより、段階的なロールアウトが即座に停止され、フィーチャーフラグは現在の状態で固定されます。
エッジケース
| 状況 | 対応 |
|---|---|
| フィーチャーフラグがオフ | まず toggle-flag でオンにしてください — ロールアウトにはフィーチャーフラグがオンの状態が必要です |
| アクティブなロールアウトが存在する | 新しいロールアウトを開始する前に、stop-guarded-rollout で既存のものを停止してください |
| 適切なメトリクスがない | まず create-metric でメトリクスを作成してください |
| 承認が必要 | 環境で承認が必要な場合、ツールは承認 URL を返します |
やってはいけないこと
- オフになっているフィーチャーフラグに対してガード付きロールアウトを開始しないでください
- 監視ウィンドウの設計を省略しないでください — 各段階を急いで通過すると、本来の目的が損なわれます
- 回帰しきい値を 0 に設定しないでください — 小さな変動は正常です
- 少なくとも 1 つのメトリクスの設定を忘れないでください — 監視のないロールアウトは、単なる通常のロールアウトにすぎません