All skills

Scripted, branded onboarding for LaunchDarkly. Fixed sequence with LaunchDarkly voice and tone. Enforces step completion before advancing. Redirects drift. Use when the user wants to set up LaunchDarkly from scratch or asks to start onboarding.

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

This session only. Nothing lands on disk.

referencessdksnippetsandroid-client-sdk.md

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

Android — SDK detail

Install the dependency: Install the SDK documents two Gradle styles—the same Maven coordinate, different syntax. Pick the one that matches your app module:

// Gradle Groovy — typically app/build.gradle
implementation 'com.launchdarkly:launchdarkly-android-client-sdk:5.+'
// Gradle Kotlin DSL — typically app/build.gradle.kts
implementation("com.launchdarkly:launchdarkly-android-client-sdk:5.+")

Import the SDK: Use the imports that match your language (Import the SDK). Observability is optional (separate launchdarkly-observability-android dependency; requires Android client SDK v5.9+).

Kotlin:

import com.launchdarkly.sdk.*
import com.launchdarkly.sdk.android.*

// Optional observability plugin, requires LaunchDarkly Android Client SDK v5.9+
// import com.launchdarkly.observability.plugin.Observability
// import com.launchdarkly.sdk.android.integrations.Plugin

Java:

import com.launchdarkly.sdk.*;
import com.launchdarkly.sdk.android.*;

// Optional observability plugin, requires LaunchDarkly Android Client SDK v5.9+
// import com.launchdarkly.observability.plugin.Observability;
// import com.launchdarkly.sdk.android.integrations.Plugin;

The init snippet below matches the onboarding initialization example: use a placeholder mobile key first, then wire a real value from build configuration (see optional Gradle section). BuildConfig.LAUNCHDARKLY_MOBILE_KEY is not defined unless you add buildConfigField yourself—do not paste it without the Gradle setup.

Includes: Copy-paste onboarding sample below (Kotlin). Place inside your Application subclass (for example onCreate()); this refers to that Application instance.

import com.launchdarkly.sdk.*
import com.launchdarkly.sdk.android.*

// Optional observability plugin, requires LaunchDarkly Android Client SDK v5.9+
// import com.launchdarkly.observability.plugin.Observability
// import com.launchdarkly.sdk.android.integrations.Plugin

val ldConfig = LDConfig.Builder(AutoEnvAttributes.Enabled)
    .mobileKey("YOUR_MOBILE_KEY")
    .build()

// A "context" is a data object representing users, devices, organizations, and other entities.
val context = LDContext.create("EXAMPLE_CONTEXT_KEY")

// If you don't want to block execution while the SDK tries to get
// latest flags, move this code into an async IO task and await on its completion.
val client: LDClient = LDClient.init(this, ldConfig, context, 5)

Replace "YOUR_MOBILE_KEY" with your Mobile key from LaunchDarkly Project settings > Environments (see Apply: environment configuration). Never commit real keys in source.

Optional — BuildConfig + Gradle (Kotlin DSL): Enable BuildConfig and pass the key from a non-committed gradle.properties or local.properties value:

// app/build.gradle.kts — excerpt
android {
    buildFeatures {
        buildConfig = true
    }
    defaultConfig {
        val key = (project.findProperty("LAUNCHDARKLY_MOBILE_KEY") as String?)?.trim().orEmpty()
        buildConfigField("String", "LAUNCHDARKLY_MOBILE_KEY", "\"$key\"")
    }
}

Then change .mobileKey("YOUR_MOBILE_KEY") to .mobileKey(BuildConfig.LAUNCHDARKLY_MOBILE_KEY) and set LAUNCHDARKLY_MOBILE_KEY=… where Gradle can read it (for example ~/.gradle/gradle.properties or a CI secret), not in a committed file.

Source: SKILL.md on GitHub

2 warnings1mo3 checks · Risk SAFE
  • Gen Agent Trust Hub1mo

    This skill provides a structured onboarding experience for LaunchDarkly, automating project detection, SDK installation, and MCP configuration. It adheres to security best practices by using OAuth for authentication, requiring user consent for secret management, and ensuring credentials are stored in git-ignored environment files.

  • Socket1mo

    1 alert: gptAnomaly

  • Snyk1mo

    Risk: MEDIUM · 1 issue

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

Last checked against GitHub 2 months ago.

Activeupdated 2 months ago
metadata
{
  "author": "launchdarkly",
  "version": "0.1.0"
}
Other metadata
compatibility
Requires npx and an MCP-compatible coding agent (Cursor, Claude Code, Windsurf, GitHub Copilot, etc.)

README badge

README badge for launchdarkly/experimental-agent-skills/onboardingv2