Skip to content
Agentmart
Submit a tool

onboarding

Scripted onboarding for LaunchDarkly: quiet execution, fixed sequence, SDK install, first flag with a live reveal, MCP offered afterwards.

Skill by launchdarklyOfficial

IndexedApache-2.0★ 28
Write a review

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.

We use your email only for this newsletter. Privacy

About

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 cases: agent-building

No 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

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
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from launchdarkly

Cite this page

onboarding skill. Agent Mart. https://agentmart.dev/skills/launchdarkly-onboarding (last updated 2026-10-24)