All skills
launchdarkly avatar

/onboarding

@45fcc25 official

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'.

Use this Skill: https://skilld.dev/gh/launchdarkly/agent-skills/onboarding

This session only. Nothing lands on disk.

referencessdksnippetsdotnet-server-sdk.md

≈849 tokens on demand. Your agent reads this file only when SKILL.md points to it.

.NET (Server) — SDK detail

Target the current major server SDK on NuGet (LaunchDarkly.ServerSdk); follow the docs for version compatibility (.NET SDK reference).

Install: From the project directory (Install the SDK):

dotnet add package LaunchDarkly.ServerSdk

Optional observability (.NET observability) — requires server SDK 8.10+:

dotnet add package LaunchDarkly.Observability

Import: Namespace differs from the package name (same page — import):

using LaunchDarkly.Sdk;
using LaunchDarkly.Sdk.Server;

// Optional — LaunchDarkly.Observability package; requires server SDK 8.10+
// using LaunchDarkly.Observability;

Initialize: Use Configuration.Builder(sdkKey) with StartWaitTime (docs recommend a short wait so a bad network does not hang forever). Construct LdClient before builder.Build() (Initialize the client). In production, register LdClient as a singleton in DI instead of creating one per request.

Includes: Minimal ASP.NET Core Program.cs–style sample. SDK key: LAUNCHDARKLY_SDK_KEY (Apply: environment configuration).

using LaunchDarkly.Sdk;
using LaunchDarkly.Sdk.Server;

var builder = WebApplication.CreateBuilder(args);

var sdkKey = Environment.GetEnvironmentVariable("LAUNCHDARKLY_SDK_KEY");
if (string.IsNullOrWhiteSpace(sdkKey))
{
    Console.Error.WriteLine(
        "LAUNCHDARKLY_SDK_KEY is not set. Use Project settings > Environments > SDK key.");
    Environment.Exit(1);
}

var ldConfig = Configuration.Builder(sdkKey)
    .StartWaitTime(TimeSpan.FromSeconds(5))
    .Build();

// Construct the client before Build() per LaunchDarkly docs.
using var ldClient = new LdClient(ldConfig);

var app = builder.Build();

if (!ldClient.Initialized)
{
    Console.Error.WriteLine("LaunchDarkly client did not initialize within StartWaitTime.");
    Environment.Exit(1);
}

// For onboarding only — events are normally flushed in the background.
ldClient.Flush();
Console.WriteLine("LaunchDarkly client ready.");

// app.MapGet(...);
app.Run();

Optional — observability (SDK 8.10+): After adding LaunchDarkly.Observability, follow the ObservabilityPlugin.Builder(builder.Services) example in Initialize the client inside Configuration.Builder’s Plugins chain.

Source: SKILL.md on GitHub

2 warnings16d4 checks · Risk SAFE
  • Gen Agent Trust Hub16d

    The skill provides a guided, multi-step onboarding workflow to integrate LaunchDarkly SDKs into a project. It strictly enforces safe defaults such as isolated git branches, avoiding hardcoded secrets by guiding users on environment variable setup with explicit consent, and leverages standard tools or hosted Model Context Protocol (MCP) integrations with no hazardous behaviors identified.

  • Socket16d

    1 alert: gptAnomaly

  • Snyk16d

    Risk: LOW · No issues

  • ZeroLeaks5mo

    Scan incomplete

Signed by skilld at 45fcc25. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 days ago.

Activeupdated last month
metadata
{
  "author": "launchdarkly",
  "version": "0.3.0"
}
Other metadata
compatibility
Requires an MCP-capable coding agent and `npx` on PATH for optional skill installs. SDK keys, client-side IDs, and mobile keys are only needed when the SDK key step runs.
  • MCP
  • TypeScript
  • launchdarkly
  • feature-flags
  • sdk
  • onboarding
  • integration
  • javascript

README badge

README badge for launchdarkly/agent-skills/onboarding

Orchestrates LaunchDarkly SDK setup in an existing codebase: creates a resumable onboarding log, explores the repo to detect the language and framework, installs companion flag-management skills, configures the LaunchDarkly MCP server, installs and initializes the SDK, and scaffolds a first feature flag. Designed for projects adding LaunchDarkly from scratch or integrating feature flags into an existing codebase.

Generated from the current SKILL.md.

Does this skill require a LaunchDarkly account upfront?
No. Steps 0–3 (log, explore, detect, install skills) run without an account. Account status is confirmed naturally during Step 4 via MCP OAuth, or surfaced at Step 5 if you need to provide SDK keys manually.
What coding agent platforms does this work with?
It requires an MCP-capable coding agent (like Cursor or Claude Code). Task tracking uses your agent's native tool if available (TodoWrite in Cursor, TaskCreate in Claude Code), or falls back to an in-chat checklist.
Do I need SDK keys or API tokens before starting?
No. The skill defers credential collection until the step that actually uses them — MCP uses OAuth (Step 4), and the SDK install collects keys only when wiring environment variables (Step 5).
Can I pause and resume onboarding later?
Yes. Step 0 writes a living onboarding log file (LAUNCHDARKLY_ONBOARDING.md) that tracks progress, so a new session or another agent can pick up where you left off.
What if I do not have the MCP server configured?
The skill falls back to ldcli or REST API for SDK discovery and flag creation, though MCP is preferred. Onboarding remains completable without it.

Generated from the current SKILL.md. These answers refresh after source changes.