Feature Flags
Installation
SKILL.md
Feature Flags
Flags decouple deploy from release: code ships dark and turns on safely, in stages, with an instant off switch. The costly mistake this skill prevents is flag debt - every flag is a fork in your codebase that doubles the test matrix, and a flag without an owner and a removal deadline set at creation becomes permanent dead code that someone flips three years later during an incident with no idea what it does.
Operating procedure
Step 1: Gather inputs
Before creating any flag, collect:
- Purpose - which of the four types below it is. If the answer is "two of them", that is two flags.
- Blast radius if the new path misbehaves (cosmetic / degraded / data-corrupting / revenue-affecting).
- Bucketing key - usually user id; sometimes account id so a whole team sees one variant.
- Owner (a person, not a team) and the removal condition.
- Safe default - the value served if the flag service is unreachable.