Feature flags
Skill christopherlouet/claude-base/.claude/skills/feature-flags
Opinionated Claude Code foundation — Explore → TDD → Audit workflow, auto-detected stack presets (nextjs, fastapi, astro, ...), curl | bash install. MIT.
npx -y skills add christopherlouet/claude-base --skill feature-flagsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 5 stars5 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Feature flags and toggles management. Trigger when the user wants to implement feature flagging, A/B testing, or progressive deployment.
SKILL.md
2.6 KB, as published. Nobody here has run it
Feature Flags (pointer)
SDK code, targeting rules syntax and dashboard integration drift on each vendor release and are canonical at:
- LaunchDarkly — launchdarkly.com/docs (SaaS, advanced targeting + experimentation)
- Unleash — docs.getunleash.io (self-hosted open source)
- ConfigCat — configcat.com/docs (SaaS, generous free tier)
- PostHog Feature Flags — posthog.com/docs/feature-flags (paired with product analytics; see also recipe)
- OpenFeature — openfeature.dev (vendor-neutral SDK standard — use to avoid lock-in)
Use-case taxonomy (version-agnostic)
| Type | Purpose | Lifetime |
|---|---|---|
| Release toggle | Deploy inactive code; flip on after smoke test | Short (days/weeks) |
| Experiment toggle | A/B test; emits exposure events for analysis | Bounded by experiment duration |
| Ops toggle | Circuit breakers, kill switches, degraded modes | Long-lived |
| Permission toggle | Feature gating by role/plan/cohort | Permanent (treat like config) |
Choose by lifetime: short → cheap implementation, long-lived → invest in observability + naming discipline.
Foundation discipline (keep across releases)
- Default OFF: every flag defaults to its conservative value (usually off). A flag that ships defaulting to ON is a hidden behaviour change.
- 2-sprint rule: remove release toggles within 2 sprints of full rollout. Stale flags accrue as tech debt — surface them via
qa-tech-debt. - Log every evaluation: missing evaluation logs make debugging "why did user X see variant Y" impossible. Vendor SDKs offer this; if rolling custom, log it.
- No business logic in flag values: a flag is a boolean (or enum); complex conditions belong in code paths the flag selects, not inside the flag service.
- Naming convention:
<scope>_<feature>_<variant>(e.g.checkout_express_enabled). Scope-first sorts/filters cleanly in dashboards.
See also
growth-ab-testskill — experiment design, sample-size, exposure analysis (consumes experiment toggles)qa-tech-debt— flag-debt scan surfaces stale flags past the 2-sprint windowdev-tdd— flag-gated code paths must be tested in BOTH states (on/off), not just the new path