Skills
Skill 35 of 49
Configure guarded rollouts with progressive traffic increases, metric monitoring, and automatic rollback.
3 minutes · 622 words · 17 sections
Install
npx skills add launchdarkly/ai-tooling --skill launchdarkly-guarded-rolloutnpx skills add launchdarkly/ai-tooling/plugin marketplace add launchdarkly/ai-toolingThe first command installs just this skill, by the name in its SKILL.md; the second installs the whole repository.
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.
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 monitoringget-flag – inspect the flag and its variationslist-metrics – find metrics to monitor during the rolloutOptional MCP tools:
stop-guarded-rollout – halt an active rollout immediatelytoggle-flag – ensure the flag is turned on before startingcreate-metric – create metrics if they don’t existA 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.
| Component | Description |
|---|---|
| Test variation | The new variation being rolled out |
| Control variation | The existing/baseline variation |
| Stages | Steps with increasing traffic percentage and monitoring windows |
| Metrics | What to monitor for regressions (error rate, latency, etc.) |
| Regression threshold | How much a metric can degrade before triggering action |
| On regression | Whether to notify, rollback, or both when a threshold is breached |
Rollout weights use thousandths (basis points):
1000 = 1%10000 = 10%50000 = 50%100000 = 100%The monitoring window is specified in milliseconds:
3600000 = 1 hour86400000 = 24 hours604800000 = 7 daysBefore starting a guarded rollout:
get-flag to inspect the flag — note the variation IDs for test and controllist-metrics to find metrics suitable for monitoringtoggle-flag if needed)Plan the rollout progression. A typical pattern:
| Stage | Traffic | Monitoring Window | Purpose |
|---|---|---|---|
| 1 | 1% | 1 hour | Smoke test — catch obvious crashes |
| 2 | 10% | 24 hours | Early signal on metrics |
| 3 | 50% | 24 hours | Confidence building |
| 4 | 100% | 24 hours | Full rollout with monitoring |
Select metrics that indicate problems:
| Metric Type | Example | Threshold | Action |
|---|---|---|---|
| Error rate | api-error-rate | 0.05 (5% increase) | Rollback |
| Latency | p99-response-time | 0.2 (20% increase) | Notify |
| Conversion | checkout-completed | 0.1 (10% decrease) | Notify + Rollback |
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
}
]
}get-flag to confirm the guarded rollout is activeReport results:
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.
| Situation | Action |
|---|---|
| Flag is off | Turn it on first with toggle-flag — rollouts require the flag to be on |
| Active rollout exists | Stop it first with stop-guarded-rollout before starting a new one |
| No suitable metrics | Create metrics first with create-metric |
| Approval required | If the environment requires approvals, the tool will return an approval URL |
Configure guarded rollouts with progressive traffic increases, metric monitoring, and automatic rollback. Use when releasing features gradually with safety thresholds.
The verbatim description from this skill’s front matter — the string an agent matches on to decide whether to load it.
skills/feature-flags/launchdarkly-guarded-rollout/SKILL.mdmain, last pushed 21 September 2026.SKILL.md, not by matching a directory convention. 8 distinct layouts observed: skills/agentcontrol/*/SKILL.md, skills/experiments/*/SKILL.md, skills/feature-flags/*/SKILL.md, skills/metrics/*/SKILL.md, skills/observability/*/SKILL.md, skills/onboarding/*/SKILL.md, skills/onboarding/sdk-install/*/SKILL.md, skills/*/SKILL.md.h1 and no skipped levels:.claude-plugin/marketplace.json by LaunchDarkly, declaring 1 plugin. It is read for editorial metadata only — never as the skill index, which is always the repository tree./launchdarkly/ai-tooling.md, and each skill at its own .md URL.