onboarding
Scripted onboarding for LaunchDarkly: quiet execution, fixed sequence, SDK install, first flag with a live reveal, MCP offered afterwards.
Skill by launchdarklyOfficial
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/launchdarkly-onboarding
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/onboarding
What's inside
- Skill name
onboarding- Description
- 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'.
- License
- Apache-2.0
- 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.
- Metadata
- author: launchdarkly · version: 0.3.0
- Instructions
- 316 lines in SKILL.md · view on GitHub
Files (38)
- README.md
- SKILL.md
- marketplace.json
- SKILL.md · mcp-configure/
- mcp-config-templates.md · mcp-configure/references/
- mcp-ui-links.md · mcp-configure/references/
- recipes.md · references/sdk/
- android-client-sdk.md · references/sdk/snippets/
- apex-server-sdk.md · references/sdk/snippets/
- browser-frameworks-sdk.md · references/sdk/snippets/
- cpp-client-sdk.md · references/sdk/snippets/
- cpp-server-sdk.md · references/sdk/snippets/
- dotnet-client-sdk.md · references/sdk/snippets/
- dotnet-server-sdk.md · references/sdk/snippets/
- edge-sdks.md · references/sdk/snippets/
- electron-client-sdk.md · references/sdk/snippets/
- erlang-server-sdk.md · references/sdk/snippets/
- flutter-client-sdk.md · references/sdk/snippets/
- go-server-sdk.md · references/sdk/snippets/
- haskell-server-sdk.md · references/sdk/snippets/
- ios-client-sdk.md · references/sdk/snippets/
- java-server-sdk.md · references/sdk/snippets/
- javascript-browser-sdk.md · references/sdk/snippets/
- lua-server-sdk.md · references/sdk/snippets/
- node-client-sdk.md · references/sdk/snippets/
- node-server-sdk.md · references/sdk/snippets/
- php-server-sdk.md · references/sdk/snippets/
- python-server-sdk.md · references/sdk/snippets/
- react-native-sdk.md · references/sdk/snippets/
- react-web-sdk.md · references/sdk/snippets/
- roku-client-sdk.md · references/sdk/snippets/
- ruby-server-sdk.md · references/sdk/snippets/
- rust-server-sdk.md · references/sdk/snippets/
- vue-client-sdk.md · references/sdk/snippets/
- SKILL.md · sdk-install/
- SKILL.md · sdk-install/apply/
- SKILL.md · sdk-install/detect/
- SKILL.md · sdk-install/plan/
SKILL.md (first lines)
# LaunchDarkly Onboarding
## Voice and Tone
Write plainly. Say only what you did or are about to do. No flourishes, slogans, or metaphors.
- Status lines, not narration. "Scanning your project now." "Scan complete. Installing SDK."
- No em dashes. Use periods or commas.
- Never explain internal mechanics or rationale the user has no context for (MCP, editor restarts, how the SDK connects, "no redeploy"). It means nothing to a first-time user.
- Before writing any line, ask whether the user needs it. If not, cut it.
- Do not offer a choice the user cannot meaningfully make. If the right move is obvious, just do it.
- Reassure plainly about safety. "No code will be changed without your approval."
## Source Attribution
The signup URL includes a `source` query parameter for attribution. Resolve it once at kickoff by scanning the user's original message. Store the resolved URL for the session. This marker is for the agent only. Never show it to the user.
| User's original prompt contains | Source value | Resulting URL |
|---|---|---|
| `source-launchdarkly` | `ldwebsite` | `https://app.launchdarkly.com/signup?source=ldwebsite` |
| No marker | `agent` | `https://app.launchdarkly.com/signup?source=agent` |
- Scan the user's initial message for `source-launchdarkly`. If found, use `ldwebsite`. Otherwise use `agent`.
- Parse once, before Step 0. Do not re-parse later.
- On resume, use `agent`.
Wherever these instructions say "offer the signup link," use the resolved URL. Never hardcode `?source=agent`.
## Rules
- The step labels below are your internal roadmap. Never show step names or numbers to the user.
- Enforce sequence. Do not advance until the current stage is done.
- Work silently between decision points. Do the work without narrating each step. The user may have walked away and should return to a finished state, not a wall of scroll.
- Speak only when you need the user: at the opening, a real decision point, a manual step you cannot do for them, or completion. Keep it short and lead with the outcome.
- Make changes on a branch and leave them uncommitted. The user reviews and commits, not you.
- Install companion skills at the point of need, never upfront.
- Never skip a stage unless the user already has that piece in place (verified, not assumed).
- If a stage fails, stop and resolve it before continuing.
### Speaking to the user
Keep user-facing messages rare and short. You are letting the user delegate and walk away.
- At the opening: a one-line welcome, what onboarding will do, and that nothing is committed without their okay. Then the first choice. Then go quiet and work.
- At a decision point or completion: one short summary. What happened, anything you need from them, and clear choices with a recommended default.
- Do not narrate routine work or write prose between execution steps. When the terminal stops scrolling, the user reads one concise message and never has to scroll back.
### Forbidden in user-facing output
- Step names, internal labels, or skill file names
- Workflow language ("hand off," "proceed to next step")
- Internal rationale (MCP, editor restarts, SDK internals)
- Raw markdown from these instructions
- The app's rendered output or the flag-gated content. Point the user to the running app instead of pasting what it shows.
---
## Experience Detection
Greet and present the first choice immediately. Do not make the user wait on a scan. Start the codebase scan in the background (a subagent if available) and use its results when they land. Never ask the user about the scan.
| Signal | Inference |
|---|---|
| LD SDK in dependencies | Knows LaunchDarkly |
| `variation()`, `useFlags()`, or equivalent calls present | Has used flags before |
| MCP already configured | Familiar with the tooling |
| Well-structured codebase (CI, tests, linting) | Experienced developer |
| Empty workspace, no LD presence | Treat as first-time |
If experienced signals show, move faster: skip the orientation line, do each action and report it in one line, and jump to whichever step is incomplete. Either way the outcomes are the same: SDK installed, first flag evaluating, and MCP only if they ask for it.
---
## Resume After Restart
If the user says "continue onboarding," they are returning to the flow. Do not ask what was happening. Detect live state in order: check for a LaunchDarkly SDK package and init code, then for `variation()` calls, then for the `launchdarkly-onboarding` branch. Resume at the first incomplete step and say where things stand in one sentence ("SDK is installed. Creating your first flag now."). Then continue without preamble.
---
## Kickoff
When the user asks to set up LaunchDarkly:
1. Open directly. No "I'll help you" or "Let me start" filler. Two short sentences: a welcome, what onboarding does, and that nothing is committed without their approval. Example (adapt, do not copy verbatim):
> "Let's get you set up with LaunchDarkly. Once integrated, we'll create a test flag in your app so you can see how it works. No code will be changed without your approval."
2. Then start working. No roadmap table. One status line is fine ("Scanning your project now."), then go quiet.
3. Do not ask whether the user has an account. Infer it later: completing the SDK key step means they have one; if they cannot get a key, share the signup link at that point.
---
## Step 0: Safe Workspace
If this is a git repository, create and switch to a new branch named `launchdarkly-onboarding` before changing any files, so everything is isolated and reversible. If that branch already exists, append a short suffix. If this is not a git repo, skip silently.
Do not write an onboarding log or any summary file. Track state in memory for this session.
---
## Step 1: Explore
The scan runs in the background (see Experience Detection). Do not announce it beyond the one status line. Use its results when they land.
Classify the workspace before proceeding:
| State | Criteria | Action |
|---|---|---|
| **Clear app** | One language, a real entrypoint, one dependency manifest at the obvious location | Continue |
| **Unclear** | Minimal or conflicting signals, or a multi-package workspace (yarn/pnpm/npm workspaces, lerna, nx, turborepo, gradle, cargo, go) where more than one package could host LaunchDarkly | Ask (unclear form below) |
| **No app found** | No manifests, no entrypoints, empty workspace | Ask (no-app form below) |
A workspace with two or more candidate packages is always Unclear. Never guess which one to integrate.
**Ask form, unclear workspace** (one option per candidate package, with its path as the label):
```json
{
"questions": [
{
"id": "app_location",
"prompt": "I found multiple packages. Which one do you want to set up first?",From launchdarkly/ai-tooling, Apache-2.0.
More from launchdarkly/ai-tooling
- 0.752score
launchdarkly-flag-drift
launchdarklyOfficial
Detect and reconcile drift between a feature flag's in-code SDK fallback default and its LaunchDarkly default rule (fallthrough).
SkillAFreshness: A★ 28Claude Code +9 - 0.749score
built-in-metrics
launchdarklyOfficial
Instrument an existing codebase with LaunchDarkly config tracking.
SkillAFreshness: A★ 28Claude Code +9 - 0.748score
launchdarkly-flag-qualitative-feedback-setup
launchdarklyOfficial
Integrate LaunchDarkly qualitative user feedback into a JavaScript/TypeScript codebase.
SkillAFreshness: A★ 28Claude Code +9 - 0.747score
launchdarkly-release-autopilot-settings
launchdarklyOfficial
Configure LaunchDarkly Release Autopilot settings (GitHub App auto-flagging and auto-releasing) via the hosted MCP, or diagnose why a pull request was not…
SkillAFreshness: A★ 28Claude Code +9 - 0.743score
projects
launchdarklyOfficial
Guide for setting up LaunchDarkly projects in your codebase.
SkillAFreshness: A★ 28Claude Code +9 - 0.743score
custom-metrics
launchdarklyOfficial
Create, track, retrieve, update, and delete custom business metrics for configs.
SkillAFreshness: A★ 28Claude Code +9 - 0.742score
migrate
launchdarklyOfficial
Migrate an application with hardcoded LLM prompts to a full LaunchDarkly AgentControl implementation in five stages: audit the code, wrap the call, move the…
SkillAFreshness: A★ 28Claude Code +9 - 0.739score
configs-create
launchdarklyOfficial
Create and configure configs in LaunchDarkly.
SkillAFreshness: A★ 28Claude Code +9 - 0.733score
online-evals
launchdarklyOfficial
Attach judges to config variations for automatic LLM-as-a-judge evaluation.
SkillAFreshness: A★ 28Claude Code +9 - 0.733score
configs-targeting
launchdarklyOfficial
Configure config targeting rules to control which variations serve to different users.
SkillAFreshness: A★ 28Claude Code +9 - 0.707score
flag-release
launchdarklyOfficial
Record an automated rollout for an existing LaunchDarkly flag that guards a pull request's change, so the change releases safely when the PR merges.
SkillBFreshness: B★ 28Claude Code +9 - 0.701score
should-flag-change
launchdarklyOfficial
Decide whether a given code change should be placed behind a LaunchDarkly feature flag.
SkillBFreshness: B★ 28Claude Code +9
Signals
- Stars
- 28
- Forks
- 11
- Open issues
- 7
- Last commit (this folder)
- Sep 3, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 0.3.0
- License
- Apache-2.0
- Repository
- github.com/launchdarkly/ai-tooling
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from launchdarkly
- 0.752score
launchdarkly-flag-drift
launchdarklyOfficial
Detect and reconcile drift between a feature flag's in-code SDK fallback default and its LaunchDarkly default rule (fallthrough).
SkillAFreshness: A★ 28Claude Code +9 - 0.749score
built-in-metrics
launchdarklyOfficial
Instrument an existing codebase with LaunchDarkly config tracking.
SkillAFreshness: A★ 28Claude Code +9 - 0.748score
launchdarkly-flag-qualitative-feedback-setup
launchdarklyOfficial
Integrate LaunchDarkly qualitative user feedback into a JavaScript/TypeScript codebase.
SkillAFreshness: A★ 28Claude Code +9 - 0.747score
launchdarkly-release-autopilot-settings
launchdarklyOfficial
Configure LaunchDarkly Release Autopilot settings (GitHub App auto-flagging and auto-releasing) via the hosted MCP, or diagnose why a pull request was not…
SkillAFreshness: A★ 28Claude Code +9 - 0.743score
custom-metrics
launchdarklyOfficial
Create, track, retrieve, update, and delete custom business metrics for configs.
SkillAFreshness: A★ 28Claude Code +9 - 0.743score
projects
launchdarklyOfficial
Guide for setting up LaunchDarkly projects in your codebase.
SkillAFreshness: A★ 28Claude Code +9
Cite this page
onboarding skill. Agent Mart. https://agentmart.dev/skills/launchdarkly-onboarding (last updated 2026-10-24)