Agent Skills: Feature Flag System

Implement feature flags (toggles) for controlled feature rollouts, A/B testing, canary deployments, and kill switches. Use when deploying new features gradually, testing in production, or managing feature lifecycles.

UncategorizedID: aj-geddes/useful-ai-prompts/feature-flag-system

Install this agent skill to your local

pnpm dlx add-skill https://github.com/aj-geddes/useful-ai-prompts/tree/HEAD/skills/feature-flag-system

Skill Files

Browse the full folder contents for feature-flag-system.

Download Skill

Loading file tree…

skills/feature-flag-system/SKILL.md

Skill Metadata

Name
feature-flag-system
Description
>

Feature Flag System

Table of Contents

Overview

Implement feature flags to decouple deployment from release, enable gradual rollouts, A/B testing, and provide emergency kill switches.

When to Use

  • Gradual feature rollouts
  • A/B testing and experiments
  • Canary deployments
  • Beta features for specific users
  • Emergency kill switches
  • Trunk-based development
  • Dark launching
  • Operational flags (maintenance mode)
  • User-specific features

Quick Start

Minimal working example:

interface FlagConfig {
  key: string;
  enabled: boolean;
  description: string;
  rules?: FlagRule[];
  variants?: FlagVariant[];
  createdAt: Date;
  updatedAt: Date;
}

interface FlagRule {
  type: "user" | "percentage" | "attribute" | "datetime";
  operator: "in" | "equals" | "contains" | "gt" | "lt" | "between";
  attribute?: string;
  values: any[];
}

interface FlagVariant {
  key: string;
  weight: number;
  value: any;
}

interface EvaluationContext {
  userId?: string;
// ... (see reference guides for full implementation)

Reference Guides

Detailed implementations in the references/ directory:

| Guide | Contents | |---|---| | Feature Flag Service (TypeScript) | Feature Flag Service (TypeScript) | | React Hook for Feature Flags | React Hook for Feature Flags | | Feature Flag with Analytics | Feature Flag with Analytics | | LaunchDarkly-Style SDK | LaunchDarkly-Style SDK | | Admin UI for Feature Flags | Admin UI for Feature Flags |

Best Practices

✅ DO

  • Use descriptive flag names
  • Document flag purpose and lifecycle
  • Implement gradual rollouts
  • Track flag evaluations
  • Clean up old flags regularly
  • Use feature flags for experiments
  • Implement kill switches for critical features
  • Test both enabled and disabled states
  • Use consistent hashing for stable rollouts
  • Provide admin UI for non-technical users

❌ DON'T

  • Use flags for permanent configuration
  • Accumulate technical debt with old flags
  • Skip flag cleanup
  • Make flags too granular
  • Hard-code flag checks everywhere
  • Skip analytics and monitoring