Flipt Feature Flag Management
Use this skill to manage Flipt feature flags for controlled feature rollouts.
Running Commands
Use the included script:
node .claude/skills/flipt/flipt.mjs <command> [options]
Commands
| Command | Description |
|---|---|
list | List all flags |
get <key> | Get details for a specific flag |
create <key> | Create a new boolean flag |
enable <key> | Enable a flag (set to true) |
disable <key> | Disable a flag (set to false) |
delete <key> | Delete a flag (requires confirmation) |
Options
| Flag | Description |
|---|---|
--description <text>, -d | Description for new flag |
--enabled | Create flag as enabled (default: disabled) |
--json | Output results as JSON |
--quiet, -q | Minimal output |
--force, -f | Skip confirmation prompts |
Examples
# List all flags node .claude/skills/flipt/flipt.mjs list # Get a specific flag node .claude/skills/flipt/flipt.mjs get gift-card-vendor-waifu-way # Create a new flag (disabled by default) node .claude/skills/flipt/flipt.mjs create my-new-feature -d "Enable new feature for testing" # Create a flag that's enabled immediately node .claude/skills/flipt/flipt.mjs create my-feature --enabled -d "Already enabled feature" # Enable a flag node .claude/skills/flipt/flipt.mjs enable my-new-feature # Disable a flag node .claude/skills/flipt/flipt.mjs disable my-new-feature # Delete a flag (with confirmation) node .claude/skills/flipt/flipt.mjs delete old-flag # Delete without confirmation node .claude/skills/flipt/flipt.mjs delete old-flag --force # JSON output for scripting node .claude/skills/flipt/flipt.mjs list --json
GitOps Integration
Flipt uses GitOps - flags are stored in the civitai/flipt-state repository. Changes made via the API are temporary and will be overwritten on the next Git sync (every 30 seconds).
For permanent changes, edit the repository directly:
# Clone the state repo gh repo clone civitai/flipt-state /tmp/flipt-state # Edit civitai-app/default/features.yaml # Add your flag under the `flags:` section # Commit and push cd /tmp/flipt-state git add -A && git commit -m "Add new feature flag" && git push
Flag Format in YAML
flags: - key: my-feature-flag name: my-feature-flag type: BOOLEAN_FLAG_TYPE description: Description of what this flag controls enabled: false # Optional: rollout rules rollouts: - threshold: percentage: 50 value: true - segment: keys: - moderators operator: OR_SEGMENT_OPERATOR value: true
Safety Notes
- API changes are temporary: The Git repo is the source of truth
- Test before enabling: Use segments for gradual rollout
- Coordinate with team: Others may be editing the same flags
Environment Setup
Copy .env.example to .env and configure:
cp .claude/skills/flipt/.env.example .claude/skills/flipt/.env
The skill needs FLIPT_URL and FLIPT_API_TOKEN to connect to Flipt.