From launchdarkly
Creates and configures LaunchDarkly feature flags that match existing codebase patterns. Guides exploration of SDK usage, naming conventions, and flag types before creation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/launchdarkly:launchdarkly-flag-createThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You're using a skill that will guide you through introducing a new feature flag into a codebase. Your job is to explore how flags are already used in this codebase, create the flag in LaunchDarkly in a way that fits, add the evaluation code matching existing patterns, and verify everything is wired up correctly.
You're using a skill that will guide you through introducing a new feature flag into a codebase. Your job is to explore how flags are already used in this codebase, create the flag in LaunchDarkly in a way that fits, add the evaluation code matching existing patterns, and verify everything is wired up correctly.
This skill requires the remotely hosted LaunchDarkly MCP server to be configured in your environment.
Required MCP tools:
create-flag: create a new feature flag in a projectget-flag: verify the flag was created correctlyOptional MCP tools (enhance workflow):
list-flags: browse existing flags to understand naming conventions and tagsupdate-flag-settings: update flag metadata (name, description, tags, temporary/permanent status)Before creating anything, understand how this codebase uses feature flags.
Find the SDK. Search for LaunchDarkly SDK imports or initialization:
launchdarkly, ldclient, ld-client, LDClient in importspackage.json, requirements.txt, go.mod, Gemfile, or equivalent for the SDK dependencyFind existing flag evaluations. Search for variation calls to understand the patterns this codebase uses:
variation(), boolVariation(), useFlags(), etc.Understand conventions. Look at existing flags to learn:
kebab-case, snake_case, camelCase?Check LaunchDarkly project conventions. Optionally use list-flags to see existing flags:
Based on what the user needs, choose the appropriate flag configuration. See Flag Types and Patterns for the full guide.
Quick decision:
| User intent | Flag kind | Variations |
|---|---|---|
| "Toggle a feature on/off" | boolean | true / false |
| "Gradually roll out a feature" | boolean | true / false |
| "A/B test between options" | multivariate (string) | User-defined values |
| "Configure a numeric threshold" | multivariate (number) | User-defined values |
| "Serve different config objects" | multivariate (JSON) | User-defined values |
Defaults to apply:
temporary: true unless the user explicitly says this is a permanent/long-lived flag. Most flags are release flags that should eventually be cleaned up.key from the name if not provided (e.g., "New Checkout Flow" -> new-checkout-flow), but match the codebase's naming convention if one exists.Use create-flag with the configuration determined in Step 2.
After creation:
offVariation to everyone until targeting is turned on.Now add the code to evaluate the flag, matching the patterns you found in Step 1.
See SDK Evaluation Patterns for implementation examples by language and framework.
Confirm the flag is properly set up:
get-flag to confirm it was created with the right configuration.If the user wants to change flag metadata (not targeting), use update-flag-settings. Supported changes:
| Change | Instruction |
|---|---|
| Rename | {kind: "updateName", value: "New Name"} |
| Update description | {kind: "updateDescription", value: "New description"} |
| Add tags | {kind: "addTags", values: ["tag1", "tag2"]} |
| Remove tags | {kind: "removeTags", values: ["old-tag"]} |
| Mark as temporary | {kind: "markTemporary"} |
| Mark as permanent | {kind: "markPermanent"} |
Multiple instructions can be batched in a single call. These changes are project-wide, not environment-specific.
Important: Metadata updates (above) are separate from targeting changes (toggle, rollout, rules). If the user wants to change who sees what, direct them to the flag targeting skill.
npx claudepluginhub launchdarkly/ai-tooling --plugin launchdarklyOrchestrates LaunchDarkly setup in an existing codebase: roadmap, resumable log, MCP config, companion skill installs, SDK install with detect/plan/apply, and first flag creation.
Creates a feature flag management guide and lifecycle playbook covering taxonomy, rollout, monitoring, cleanup, and governance for a service or team.
Operational discipline for feature flags as production infrastructure: flag types, naming, targeting, rollout strategy, lifecycle, governance, stale flag management, and technical debt patterns.