| name | feature-flags |
| description | Feature flags patterns including LaunchDarkly, Statsig, Vercel Edge Config, environment-based toggles, gradual rollouts, and user targeting |
| layer | utility |
| category | backend |
| triggers | ["feature flag","feature toggle","LaunchDarkly","Statsig","Edge Config flags","gradual rollout","canary release","user targeting","A/B test flag"] |
| inputs | ["feature name","rollout strategy","targeting rules","flag provider"] |
| outputs | ["flag implementation","targeting config","rollout plan","cleanup checklist"] |
| linksTo | ["vercel","monitoring","cicd"] |
| linkedFrom | ["ship","optimize","cook"] |
| preferredNextSkills | ["monitoring","cicd"] |
| fallbackSkills | ["vercel","env-vars"] |
| riskLevel | low |
| memoryReadPolicy | selective |
| memoryWritePolicy | none |
| sideEffects | ["May add SDK dependency (LaunchDarkly, Statsig, @vercel/edge-config)","May modify middleware or layout for provider wrappers"] |
Feature Flags Skill
Purpose
Feature flags decouple deployment from release. Ship code to production behind flags, then control visibility through configuration rather than code changes. This skill covers provider-based and DIY flag systems with safe rollout patterns.
Key Patterns
Strategy Comparison
| Approach | Best For | Latency | Cost |
|---|
| Environment variables | Simple on/off per environment | Zero | Free |
| Vercel Edge Config | Edge-fast reads, small flag sets | ~1ms | Free tier available |
| LaunchDarkly | Enterprise targeting, analytics | ~20ms | Paid |
| Statsig | A/B testing + flags combined | ~15ms | Free tier available |
| Database flags | Custom rules, full ownership | Varies | Self-hosted |
Environment-Based Toggles (Simplest)
const flags = {
newCheckout: process.env.NEXT_PUBLIC_FLAG_NEW_CHECKOUT === "true",
betaDashboard: process.env.FLAG_BETA_DASHBOARD === "true",
} as const;
export type Flag = keyof typeof flags;
export function isEnabled(flag: Flag): boolean {
return flags[flag];
}
(()) {
;
}