borghei/feature-flags-architect
> Feature flag strategy, lifecycle, and operations. Use when designing a flag taxonomy, planning a gradual rollout, building kill switches, auditing flag debt, defining governance, running progressive delivery, or rolling back via flags.
npx skills add https://github.com/borghei/Claude-Skills --skill feature-flags-architect
End-to-end feature flag design, rollout, and lifecycle management. Covers flag taxonomy (release vs ops vs experiment vs permission), gradual rollout patterns with blast-radius math, kill-switch runbooks, governance (who can flip what), and the flag-debt cleanup loop that keeps a codebase from drowning in stale flags.
This skill is provider-agnostic: the patterns work whether you run LaunchDarkly, Statsig, Unleash, Flagsmith, ConfigCat, GrowthBook, OpenFeature, or a homegrown system backed by Redis/DynamoDB/Postgres.
Every flag belongs to exactly one of these four types. The type determines the lifecycle, who can flip it, and whether it should auto-expire. Mixing types in one flag is a root cause of flag debt.
| Type | Purpose | Lifetime | Who flips | Auto-expire? |
|------|---------|----------|-----------|--------------|
| Release | Decouple deploy from release. Ship code dark, ramp to users. | Days to weeks | Engineer who owns the feature | Yes — remove after 100% rollout + 1 release |
| Ops | Kill switches, circuit breakers, throttles. Turn off risky behavior fast. | Permanent or long-lived | Oncall / SRE / platform team | No — but review quarterly |
| Experiment | A/B test, multi-arm bandit, hold-out group. Measure causal impact. | Weeks to months (test duration) | Product / data / growth | Yes — remove after winner is shipped |
| Permission | Entitle users to features based on plan, role, beta-list. | Permanent | Product / billing | No — but consolidate into entitlement system |
Decision rule when adding a flag: name the type. If you can't, the flag shouldn't exist yet — clarify intent first.
scripts/flag_audit.py.engineering/experiment-design for statistics.business-growth/paywall-upgrade-cro for the UX.Before designing or operating flags, confirm these inputs. If any is unknown or vague, ASK — do not assume:
flag_audit.py vs rollout_simulator.py vs kill_switch_runbook.py)--users/--profile and the runbook content)Stop rule: ask only the 2-3 that most change the output. If the user says "just draft it," proceed and list your assumptions at the top of the artifact.
| Tool | Purpose | Command |
|------|---------|---------|
| flag_audit.py | Scan a codebase for flag references, age, classification, and recommended action (optionally cross-reference a control-plane export) | python scripts/flag_audit.py --path . --format markdown |
| rollout_simulator.py | Model a rollout: per-step blast radius, time-to-detect, recommended schedule | python scripts/rollout_simulator.py --users 500000 --profile standard |
| kill_switch_runbook.py | Generate a kill-switch runbook (default state, flip procedure, validation, escalation) | python scripts/kill_switch_runbook.py --flag ops.recs.kill_switch --feature Recommendations --dependency recs-svc |
All scripts: standard library only, argparse CLI, JSON + human-readable output. Run --help for full usage.
Load the reference that matches the task — keep this file lean and pull detail on demand:
This skill covers: flag taxonomy and lifecycle, rollout ramps with blast-radius math, kill-switch design and runbooks, governance/audit requirements, and flag-debt cleanup — provider-agnostic across LaunchDarkly, Statsig, Unleash, Flagsmith, ConfigCat, GrowthBook, OpenFeature, and homegrown systems.
This skill does NOT cover: the statistical design of A/B tests (pair with product-team/experiment-design), the paywall/upgrade UX for entitlements (business-growth/paywall-upgrade-cro), or the metric instrumentation needed to make ramp decisions (engineering/observability-designer).
engineering/observability-designer — wire the metrics needed to make ramp decisionsengineering/incident-commander — flag-based rollback during incidentsengineering/chaos-engineering — verify kill switches actually work under fault injectionproduct-team/experiment-design (if available) — statistical design of A/B tests behind flagsTake borghei/feature-flags-architect from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.