
configs-variations
Experiment with configs by creating and managing variations. Helps you test different models, prompts, and parameters to find what works best through systematic experimentation.
- Installs
- 1.8K
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/launchdarkly/ai-tooling --skill configs-variations- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads configs-variations automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Config Variations
You're using a skill that will guide you through testing and optimizing configs through variations. Your job is to design experiments, create variations, and systematically find what works best.
Prerequisites
This skill requires the remotely hosted LaunchDarkly MCP server to be configured in your environment.
Primary MCP tool:
clone-ai-config-variation-- clone a baseline variation with selective overrides (recommended for experimentation)
Alternative MCP tools (for more control):
get-ai-config-- review existing variations before adding new onescreate-ai-config-variation-- create new variations from scratch
Optional MCP tools:
update-ai-config-variation-- refine a variation after creationdelete-ai-config-variation-- remove variations that didn't work out
Core Principles
- Test One Thing at a Time: Change model OR prompt OR parameters, not all at once
- Have a Hypothesis: Know what you're trying to improve
- Measure Results: Use metrics to compare variations
- Verify via Tool: The agent fetches the config to confirm variations exist
Workflow
Step 1: Identify What to Optimize
What's the problem? Cost, quality, speed, accuracy? How will you measure success?
Step 2: Design the Experiment
| Goal | What to Vary |
|---|---|
| Reduce cost | Cheaper model (e.g., gpt-4o-mini) |
| Improve quality | Better model or more detailed prompt |
| Reduce latency | Faster model, lower max_tokens |
| Increase accuracy | Different model family (Claude vs GPT-4) |
Step 3: Create Variations (Recommended: Clone with Overrides)
Use clone-ai-config-variation to duplicate the baseline and override only what you're testing. The tool reads the source variation, merges your overrides, and creates the new variation. Everything you don't pass is inherited from the source automatically.
Required fields:
sourceVariationKey-- the baseline to clone fromkeyandname-- identifiers for the new variation (e.g.,gpt4o-mini-cost-test)
Override ONLY the fields you are testing. Leave all other fields unset -- do not pass them even if you know their current values. The clone tool inherits them from the source. This enforces the one-variable-at-a-time principle:
- Testing a cheaper model? Pass only
modelConfigKeyandmodelName. Do NOT passinstructions,messages, orparameters. - Testing different instructions? Pass only
instructions. Do NOT passmodelConfigKeyormodelName. - Testing a parameter? Pass only
parameters. Do NOT pass model or prompt fields.
The response returns both the source and created variation, so you can immediately verify the diff.
Step 3 (Alternative): Create from Scratch
If you need full control, use get-ai-config first to review the current state, then create-ai-config-variation with all fields specified manually. Always fetch before creating so you understand the existing config's mode, model, and parameters.
Step 4: Verify
If you used clone-ai-config-variation, the response includes both source and created variations for immediate comparison. Otherwise, use get-ai-config to confirm.
Report results:
- Variations created with correct models and parameters
- Only the intended variable differs between variations
- Flag any issues
Note on API responses: After calling a creation or clone tool, treat a successful response as confirmation that the operation succeeded. The API response may not echo back every field you sent (e.g., model fields may show defaults). Do not retry or assume failure based on response field values alone -- verify with get-ai-config if needed.
modelConfigKey Format
Required for models to display in the UI. Format: {Provider}.{model-id}:
OpenAI.gpt-4o,OpenAI.gpt-4o-miniAnthropic.claude-sonnet-4-5,Anthropic.claude-3-5-sonnet
Safety: Protect the Baseline
When the user wants to try a different model, prompt, or parameters, always create a new variation alongside the baseline. Never modify or delete the existing baseline variation. This applies even if the user says "replace" or "switch" -- the correct action is to create a new variation and let targeting/rollouts control traffic, not to edit the original.
- Use
clone-ai-config-variationorcreate-ai-config-variationto add the new variation - Do NOT use
update-ai-config-variationon the baseline to change its model or instructions - Do NOT use
delete-ai-config-variationon the baseline - Explain to the user that keeping the baseline enables comparison and safe rollback
What NOT to Do
- Don't test too many things at once -- change one variable per variation
- Don't pass unchanged fields when cloning -- let the tool inherit them from the source
- Don't forget modelConfigKey (variations without it show as "NO MODEL" in the UI)
- Don't make decisions on small sample sizes
- Don't modify or remove the baseline variation -- create new variations alongside it
- Don't use
update-ai-config-variationto "replace" a baseline -- create a new variation instead
More resources
To learn more about creating and managing variations, read Create and manage config variations.
Related Skills
configs-create-- Create the initial configconfigs-update-- Refine based on learnings
FAQ
What does the configs-variations skill do?
Experiment with configs by creating and managing variations. Helps you test different models, prompts, and parameters to find what works best through systematic experimentation.
How do I install configs-variations?
Run npx skills add https://github.com/launchdarkly/ai-tooling --skill configs-variations in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/configs-variations/ (personal) or .claude/skills/configs-variations/ (project).
Which AI agents can use configs-variations?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is configs-variations safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains configs-variations?
It is published by launchdarkly in launchdarkly/ai-tooling. It has 1,823 recorded installs.
More from launchdarkly/ai-tooling
onboarding
launchdarkly/ai-tooling
Scripted onboarding for LaunchDarkly: quiet execution, fixed sequence, SDK install, first flag with a live reveal, MCP offered afterwards. Enforces step completion before advancing and redirects drift. Use when adding LaunchDarkly, setting up or integrating feature flags in a project, SDK integration, or 'onboard me'.
launchdarkly-flag-discovery
launchdarkly/ai-tooling
Audit your LaunchDarkly feature flags to understand the landscape, find stale or launched flags, and assess removal readiness. Use when the user asks about flag debt, stale flags, cleanup candidates, flag health, or wants to understand their flag inventory.
launchdarkly-flag-create
launchdarkly/ai-tooling
Create and configure LaunchDarkly feature flags in a way that fits the existing codebase. Use when the user wants to create a new flag, wrap code in a flag, add a feature toggle, or set up an experiment. Guides exploration of existing patterns before creating.
launchdarkly-flag-targeting
launchdarkly/ai-tooling
Control LaunchDarkly feature flag targeting including toggling flags on/off, percentage rollouts, targeting rules, individual targets, and copying flag configurations between environments. Use when the user wants to change who sees a flag, roll out to a percentage, add targeting rules, or promote config between environments.
launchdarkly-flag-cleanup
launchdarkly/ai-tooling
Safely remove a feature flag from code while preserving production behavior. Use when the user wants to remove a flag from code, delete flag references, or create a PR that hardcodes the winning variation after a rollout is complete.
launchdarkly-metric-choose
launchdarkly/ai-tooling
Choose the right metrics for a LaunchDarkly experiment, guarded rollout, or release policy. Use when the user wants to know which metrics to use, which is the primary metric for an experiment, what guardrails to add, or which events to monitor in a rollout. Surfaces what will auto-attach from existing release policies before making additional recommendations.
Popular ai & agents skills
google-agents-cli-publish
google/agents-cli
This skill should be used when the user wants to "publish an agent", "publish my ADK agent", "register an agent with Gemini", "publish to Gemini" (formerly Gemini Enterprise), or needs guidance on the agents-cli publish gemini command. Also use when the user wants to "manage agents in Agent Registry", "list/update/delete registered agents", or "register an MCP server". Covers ADK vs A2A registration modes, programmatic and interactive usage, flag reference, auto-detection from deployment metadata, Agent Registry fleet management, and troubleshooting. Part of the agents-cli skills suite. Do NOT use for deployment (use google-agents-cli-deploy).
google-agents-cli-eval
google/agents-cli
This skill should be used when the user wants to "run an evaluation", "evaluate my agent", "evaluate my ADK agent", "write an eval dataset", "analyze eval failures", "compare eval results", "optimize agent", or needs guidance on the Gemini platform eval methodology and the Quality Flywheel. Covers eval metrics, dataset schema, LLM-as-judge scoring, and common failure causes. Applies to any agents-cli project, whatever framework the agent is written in. Do NOT use for agent API code patterns (ADK: use google-agents-cli-adk-code), deployment (use google-agents-cli-deploy), or project scaffolding (use google-agents-cli-scaffold).
skill-creator
anthropics/skills
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
codex-pet
prime-skills/runcomfy-agent-skills
Codex Pet generator on RunComfy. Build a Codex-compatible Codex Pet spritesheet.webp + pet.json from a single reference image, drop it into ${CODEXHOME:-$HOME/.codex}/pets/ / and Codex picks it up as a custom Codex Pet next to the 8 built-ins. This skill produces the exact Codex Pet atlas Codex expects (1536x1872 PNG/WebP, 8 cols x 9 rows, 192x208 cells, 9 animation states — idle, running-right, running-left, waving, jumping, failed, waiting, running, review). Calls OpenAI GPT Image 2 edit ONCE via the local RunComfy CLI as runcomfy run openai/gpt-image-2/edit to produce a canonical Codex Pet pose, then assembles all 9 animation rows programmatically with ImageMagick micro-transforms — no Codex Pro, no $imagegen, no OPENAIAPIKEY required, only RUNCOMFYTOKEN. Triggers on "codex pet", "create codex pet", "make codex pet", "hatch codex pet", "/hatch image", "desktop pet codex", "codex pets", "spritesheet.webp", or any explicit ask to build a custom pet for OpenAI Codex.
full-output-enforcement
leonxlnx/taste-skill
Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.
executing-plans
obra/superpowers
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available