Labsco
launchdarkly logo

sdk-install

by launchdarkly · part of launchdarkly/experimental-agent-skills

Install and initialize the correct LaunchDarkly SDK during onboarding by running nested skills in order: detect, plan, apply. Parent onboarding Step 6 is first flag.

🧩 One of 6 skills in the launchdarkly/experimental-agent-skills package — works on its own, and pairs well with its siblings.

This is the playbook your agent receives when the skill activates — you don't need to read it to use the skill, but it's here to audit before installing.

LaunchDarkly SDK Install (onboarding)

Installs and initializes the right LaunchDarkly SDK for the user’s project by following three nested skills in order. Do not skip ahead to feature flags here—the parent LaunchDarkly onboarding continues with Step 6: First feature flag using Create first feature flag.

Key types (summary)

SDK TypeVariable (logical)Source in LaunchDarkly
Server-sideLAUNCHDARKLY_SDK_KEYEnvironments → SDK key
Client-sideClient-side ID (bundler-prefixed env names)Environments → Client-side ID
MobileLAUNCHDARKLY_MOBILE_KEYEnvironments → Mobile key

Never hardcode keys. Full env rules, consent, and bundler tables: Apply code changes Step 2.

Workflow — run these nested skills in order

Execute all three unless the detect decision tree short-circuits (e.g. skip to apply only). Each nested skill may contain decision points — some blocking (marked D<N> -- BLOCKING, where you must call your structured question tool and wait for the user's response before continuing) and some non-blocking (where you present information and continue unless the user objects). Do NOT batch tool calls across blocking boundaries.

OrderNested skillRole
1Detect repository stackLanguage, package manager, monorepo target, entrypoint, existing LD usage
2Generate integration planSDK choice, files to change, env plan -- presented to user (non-blocking; see plan SKILL.md D6)
3Apply code changesInstall package(s), .env / secrets with consent, init code, compile check (both tracks when dual-SDK plan)

Shared references for all steps: SDK recipes, SDK snippets.

After Step 3 completes

Continue with the parent skill:

Do not add standalone “sample flag” evaluation in this skill unless the user explicitly needs a throwaway check; the parent flow creates the first flag in order.

Guidelines

  • Match existing codebase conventions for imports, config, and style.
  • Prefer TypeScript in TypeScript projects.
  • If the project uses a shared config layer, initialize LaunchDarkly there.
  • Add .env.example entries when the project uses dotenv.
  • Dependency scope: Add only LaunchDarkly SDK package(s) from the recipe unless the user explicitly approves upgrading or adding other packages (Apply — Permission before changing other dependencies).

Edge cases

  • Multiple environments (e.g. Next.js server + client) or user asked for frontend + backend: Use a dual-SDK plan and apply both packages and both inits—never summarize the second SDK as done without lockfile + entrypoint evidence.
  • Monorepo: Integrate the package the user chose in parent onboarding; stay within that subtree.
  • SDK already installed and initialized: Parent may skip this handoff—see parent Edge Cases and detect decision tree.
  • Unsupported or uncommon stack: Use SDK recipes and the full SDK catalog.

References