launchdarkly-guarded-rollout

작성자: launchdarkly

점진적인 트래픽 증가, 메트릭 모니터링, 자동 롤백을 통해 보호된 롤아웃을 구성합니다. 안전하게 기능을 점진적으로 출시할 때 사용합니다…

npx skills add https://github.com/launchdarkly/ai-tooling --skill launchdarkly-guarded-rollout

LaunchDarkly Guarded Rollouts

You're using a skill that will guide you through configuring guarded rollouts in LaunchDarkly. Your job is to design rollout stages, select monitoring metrics, configure regression thresholds, and start the rollout.

Prerequisites

This skill requires the remotely hosted LaunchDarkly MCP server to be configured in your environment.

Required MCP tools:

  • start-guarded-rollout -- start a progressive rollout with monitoring
  • get-flag -- inspect the flag and its variations
  • list-metrics -- find metrics to monitor during the rollout

Optional MCP tools:

  • stop-guarded-rollout -- halt an active rollout immediately
  • toggle-flag -- ensure the flag is turned on before starting
  • create-metric -- create metrics if they don't exist

Core Concepts

What Are Guarded Rollouts?

A guarded rollout progressively increases traffic to a new feature flag variation through a series of stages. At each stage, LaunchDarkly monitors selected metrics for regressions. If a regression is detected, the rollout can automatically pause and notify the team — or even roll back.

Key Components

ComponentDescription
Test variationThe new variation being rolled out
Control variationThe existing/baseline variation
StagesSteps with increasing traffic percentage and monitoring windows
MetricsWhat to monitor for regressions (error rate, latency, etc.)
Regression thresholdHow much a metric can degrade before triggering action
On regressionWhether to notify, rollback, or both when a threshold is breached

Rollout Weight Units

Rollout weights use thousandths (basis points):

  • 1000 = 1%
  • 10000 = 10%
  • 50000 = 50%
  • 100000 = 100%

Monitoring Window

The monitoring window is specified in milliseconds:

  • 3600000 = 1 hour
  • 86400000 = 24 hours
  • 604800000 = 7 days

Core Principles

  1. Start Small: Begin with a low percentage (1-5%) to catch issues early
  2. Monitor What Matters: Choose metrics that reflect user experience
  3. Set Realistic Thresholds: Too tight = false alarms; too loose = missed regressions
  4. Allow Time: Each stage needs enough monitoring time for signal to emerge
  5. Have a Rollback Plan: Always configure at least notification on regression

Workflow

Step 1: Prepare

Before starting a guarded rollout:

  1. Use get-flag to inspect the flag — note the variation IDs for test and control
  2. Use list-metrics to find metrics suitable for monitoring
  3. Ensure the flag is on in the target environment (use toggle-flag if needed)
  4. Confirm there's no active guarded rollout on this flag already

Step 2: Design Stages

Plan the rollout progression. A typical pattern:

StageTrafficMonitoring WindowPurpose
11%1 hourSmoke test — catch obvious crashes
210%24 hoursEarly signal on metrics
350%24 hoursConfidence building
4100%24 hoursFull rollout with monitoring

Step 3: Configure Metrics

Select metrics that indicate problems:

Metric TypeExampleThresholdAction
Error rateapi-error-rate0.05 (5% increase)Rollback
Latencyp99-response-time0.2 (20% increase)Notify
Conversioncheckout-completed0.1 (10% decrease)Notify + Rollback

Step 4: Start the Rollout

Use 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
    }
  ]
}

Step 5: Verify

  1. Use get-flag to confirm the guarded rollout is active
  2. Check that the flag shows the rollout configuration in the environment
  3. Monitor for any immediate regression notifications

Report results:

  • Guarded rollout started with N stages
  • M metrics being monitored
  • First stage at X% traffic for Y hours

Stopping a Rollout

If issues arise or you need to halt the rollout:

{
  "projectKey": "my-project",
  "flagKey": "new-checkout-flow",
  "environmentKey": "production"
}

This immediately stops the progressive rollout and locks the flag at its current state.

Edge Cases

SituationAction
Flag is offTurn it on first with toggle-flag — rollouts require the flag to be on
Active rollout existsStop it first with stop-guarded-rollout before starting a new one
No suitable metricsCreate metrics first with create-metric
Approval requiredIf the environment requires approvals, the tool will return an approval URL

What NOT to Do

  • Don't start a guarded rollout on a flag that's turned off
  • Don't skip the monitoring window design — rushing through stages defeats the purpose
  • Don't set regression thresholds to 0 — small fluctuations are normal
  • Don't forget to configure at least one metric — a rollout without monitoring is just a regular rollout

launchdarkly의 다른 스킬

aiconfig-online-evals
launchdarkly
더 이상 사용되지 않는 리디렉션 — 이 스킬은 online-evals로 이름이 변경되었습니다. 이 스킬을 사용하지 말고 online-evals를 호출하세요. 이전 참조를 위해 유지됩니다…
aiconfig-tools
launchdarkly
더 이상 사용되지 않는 리디렉션 — 이 스킬은 tools로 이름이 변경되었습니다. 이 스킬을 사용하지 말고 tools를 호출하세요. 이전에 aiconfig-tools를 참조하던 항목들이 계속 연결되도록 유지됩니다.
launchdarkly-flag-targeting
launchdarkly
LaunchDarkly 기능 플래그 타겟팅을 제어하며, 플래그 켜기/끄기 전환, 비율 롤아웃, 타겟팅 규칙, 개별 타겟, 플래그 복사 등을 포함합니다.
launchdarkly-flag-drift
launchdarkly
코드 내 SDK 폴백 기본값과 LaunchDarkly 기본 규칙(폴스루) 간의 기능 플래그 불일치를 감지하고 조정합니다. 플래그의 기본값이…
snippets
launchdarkly
프롬프트 스니펫을 생성하고 관리합니다 — 구성 변형 프롬프트 내에서 참조되는 재사용 가능한 텍스트 블록입니다. 일반적인 지침, 페르소나, 가드레일을 유지합니다…
create-skill
launchdarkly
LaunchDarkly agent-skills 저장소에 새로운 스킬을 추가합니다. 새로운 SKILL.md를 생성하거나, 카탈로그에 스킬을 추가하거나, 저장소 규칙에 맞게 조정할 때 사용합니다.…
skill-name
launchdarkly
이 스킬이 수행하는 작업과 에이전트가 이를 사용해야 하는 시점에 대한 명확한 설명입니다. 에이전트가 관련 작업을 식별하는 데 도움이 되는 키워드를 포함하세요.
agent-graphs
launchdarkly
에이전트 그래프를 생성하고 관리합니다 — 핸드오프 로직이 있는 엣지로 연결된 구성(config)들의 방향성 그래프입니다. 구성이 라우팅되는 다중 에이전트 워크플로우를 구축할 때 사용하세요…