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:

  1. Purpose - which of the four types below it is. If the answer is "two of them", that is two flags.
  2. Blast radius if the new path misbehaves (cosmetic / degraded / data-corrupting / revenue-affecting).
  3. Bucketing key - usually user id; sometimes account id so a whole team sees one variant.
  4. Owner (a person, not a team) and the removal condition.
  5. Safe default - the value served if the flag service is unreachable.

Step 2: Classify the flag - lifecycle follows type

Installs
–
GitHub Stars
19
First Seen
–