PluginBench
Skill
Fail
Audit score 45

projects

launchdarkly/ai-tooling

Set up LaunchDarkly projects in your codebase with guided assessment and integration.

What is projects?

This skill guides you through assessing your codebase architecture, choosing the right LaunchDarkly project setup approach, and integrating project management that fits your stack. Use it when establishing feature flag infrastructure across new or existing applications.

  • Explore and assess your codebase tech stack, environment management, and existing integrations
  • Choose the right implementation path from language-specific and use-case-specific guides
  • Create LaunchDarkly projects with proper naming conventions and SDK key management
  • Verify project setup by fetching project details and testing SDK initialization
  • Handle multi-service, multi-region, and infrastructure-as-code scenarios

How to install projects

npx skills add https://github.com/launchdarkly/ai-tooling --skill projects
Prerequisites
  • LaunchDarkly API access token with projects:write permission, OR LaunchDarkly MCP server configured in your environment
Claude Code
Cursor
Windsurf
Cline

How to use projects

  1. 1.Explore your codebase to understand the tech stack, environment management, and existing LaunchDarkly integration
  2. 2.Assess your situation against the provided scenarios (new project, existing integration, multi-service, multi-region, IaC, or admin tooling)
  3. 3.Select the appropriate reference guide based on your language/framework and use case
  4. 4.Follow the chosen guide to implement project creation, SDK key extraction, and environment configuration
  5. 5.Verify the setup by fetching the project, checking environments exist, and testing SDK initialization

Use cases

Good for
  • Setting up LaunchDarkly for a new Python, Node.js, Go, or Java application
  • Adding LaunchDarkly project management to an existing codebase with multiple services
  • Cloning projects across regions or teams for multi-tenant deployments
  • Automating project creation via Terraform, scripts, or CI/CD pipelines
  • Building admin tooling or CLI utilities for project management
Who it's for
  • Backend engineers setting up feature flag infrastructure
  • DevOps engineers automating LaunchDarkly project provisioning
  • Platform teams managing multi-service or multi-region deployments
  • Developers integrating LaunchDarkly into existing applications

projects FAQ

Do I need an API token to use this skill?

You need either a LaunchDarkly API access token with projects:write permission OR a LaunchDarkly MCP server configured. The skill prefers the MCP server for OAuth-based authentication; if you must call the REST API directly, you'll be asked to provide a token for that session.

What if the project already exists?

The skill checks if the project exists and will either use the existing project (if it's the right one) or create a new project with a different key. It handles 409 conflict responses gracefully.

How should I name my projects?

Project keys must start with a letter, use lowercase letters, hyphens, and numbers only (no underscores, dots, or uppercase). Use descriptive names following your organization's pattern: by team (platform-ai, customer-ai), by service (mobile-ai, api-ai), or by region (ai-us, ai-eu).

Which reference guide should I follow?

Choose based on your stack (Python, Node.js, Go, multi-language) and use case (quick start, environment config, project cloning, IaC/automation, or admin tooling). The skill provides a decision table to match your scenario.

How do I verify the setup works?

Fetch the project to confirm it exists with environments, extract and validate SDK keys, then test SDK initialization with a quick client connection. The skill provides curl and SDK code examples for verification.

Full instructions (SKILL.md)

Source of truth, from launchdarkly/ai-tooling.


name: projects description: Guide for setting up LaunchDarkly projects in your codebase. Helps you assess your stack, choose the right approach, and integrate project management that makes sense for your architecture. compatibility: Requires LaunchDarkly API access token with projects:write permission or LaunchDarkly MCP server. metadata: author: launchdarkly version: "0.4.0"

LaunchDarkly Projects Setup

You're using a skill that will guide you through setting up LaunchDarkly project management in a codebase. Your job is to explore the codebase to understand the stack and patterns, assess what approach makes sense, choose the right implementation path from the references, execute the setup, and verify it works.

Prerequisites

Choose one:

  • LaunchDarkly API access token with projects:write permission
  • LaunchDarkly MCP server configured in your environment

Core Principles

  1. Understand First: Explore the codebase to understand the stack and patterns.
  2. Choose the Right Fit: Select an approach that matches your architecture.
  3. Follow Conventions: Respect existing code style and structure.
  4. Verify Integration: Confirm the setup works: the agent performs checks and reports results.

API Access

Prefer the LaunchDarkly MCP server tools: they authenticate via OAuth and need no token. If a step has no MCP equivalent and you must call the REST API directly, ask the user to paste an API access token for this session and substitute it for {api_token} in the examples below. Do not search environment variables, .env files, or agent/MCP config files for credentials.

See Quick Start for API usage patterns.

What Are Projects?

Projects are LaunchDarkly's top-level organizational containers that hold:

  • All your configs
  • Feature flags and segments
  • Multiple environments (Production and Test created by default)

Think of projects as separate applications, services, or teams that need their own isolated set of configurations.

Project Setup Workflow

Step 1: Explore the Codebase

Before implementing anything, understand the existing architecture:

  1. Identify the tech stack:

    • What language(s)? (Python, Node.js, Go, Java, etc.)
    • What framework(s)? (FastAPI, Express, Spring Boot, etc.)
    • Is there an existing LaunchDarkly integration?
  2. Check environment management:

    • How are environment variables stored? (.env files, secrets manager, config files)
    • Where is configuration loaded? (startup scripts, config modules)
    • Are there existing LaunchDarkly SDK keys?
  3. Look for patterns:

    • Are there existing API clients or service modules?
    • How is external API integration typically done?
    • Is there a CLI, scripts directory, or admin tooling?
  4. Understand the use case:

    • Is this a new project being set up?
    • Adding to an existing LaunchDarkly integration?
    • Part of a multi-service architecture?
    • Need for project cloning across regions/teams?

Step 2: Assess the Situation

Based on your exploration, determine the right approach:

ScenarioRecommended Path
New project, no LaunchDarkly integrationQuick Setup - Create project and save SDK keys
Existing LaunchDarkly usageAdd to Existing - Create new project or use existing
Multiple services/microservicesMulti-Project - Create projects per service
Multi-region or multi-tenantProject Cloning - Clone template project
Infrastructure-as-Code (IaC) setupAutomated Setup - Script-based creation
Need project management toolingCLI/Admin Tools - Build project management utilities

Step 3: Choose Your Implementation Path

Select the reference guide that matches your stack and use case:

By Language/Stack:

By Use Case:

Step 4: Implement the Integration

Follow the chosen reference guide to implement project management. Key considerations:

  1. API Authentication:

    • Store API token securely
    • Follow existing secrets management patterns
    • Never commit tokens to version control
  2. Project Naming:

    • Use consistent, descriptive names
    • Follow existing naming conventions
    • Project keys: lowercase, hyphens, start with letter
  3. SDK Key Management:

    • Extract and store SDK keys for each environment
    • Use the same pattern as other secrets in your codebase
    • Consider separate keys for test/staging/production
  4. Error Handling:

    • Handle existing projects gracefully (409 conflict)
    • Provide clear error messages
    • Don't fail silently

Step 5: Verify the Setup

After creating the project, verify it works:

  1. Fetch to confirm it exists. Prefer the MCP get-project tool over raw curl — it returns a typed object you can inspect directly. If you must call the REST API:

    curl -X GET "https://app.launchdarkly.com/api/v2/projects/{projectKey}?expand=environments" \
      -H "Authorization: {api_token}"
    

    Do not pipe the response straight into a .environments.items[]-style jq filter. The shape of environments varies by expand parameter — sometimes it's {items: [...]}, sometimes a bare array — and a hand-rolled filter will fail with Cannot index array with string "items". Run jq -e . first to inspect the actual shape, or use jq '.environments | if type == "object" then .items else . end' to handle both.

  2. Test SDK integration: Run a quick verification to ensure the SDK key works:

    import ldclient
    from ldclient.config import Config
    
    ldclient.set_config(Config("{sdk_key}"))
    # SDK initializes successfully
    
    # Always flush events before closing — trailing events are at risk of being
    # lost otherwise, in short-lived scripts and long-running services alike.
    ldclient.get().flush()
    ldclient.get().close()
    
  3. Report results:

    • ✓ Project exists and has environments
    • ✓ SDK keys are present and valid
    • ✓ SDK can initialize (or flag any issues)

Project Key Best Practices

Project keys must follow these rules:

✓ Good examples:
  - "support-ai"
  - "chat-bot-v2"
  - "internal-tools"

✗ Bad examples:
  - "Support_AI"     # No uppercase or underscores
  - "123-project"    # Must start with letter  
  - "my.project"     # No dots allowed

Naming Recommendations:

  • Keep keys short but descriptive
  • Use team/service/purpose as naming scheme
  • Be consistent across your organization

Common Organization Patterns

By Team

platform-ai       → Platform Team Agent
customer-ai       → Customer Success Team Agent
internal-ai       → Internal Tools Team Agent

By Application/Service

mobile-ai         → Mobile App configs
web-ai            → Web App configs
api-ai            → API Service configs

By Region/Deployment

ai-us             → US Region
ai-eu             → Europe Region
ai-apac           → Asia-Pacific Region

Edge Cases

SituationAction
Project already existsCheck if it's the right one; use it or create with different key
Need multiple projectsCreate separately for each service/region/team
Shared configs across servicesUse same project, separate by SDK context
Token lacks permissionsRequest projects:write or use MCP server
Project name conflictKeys must be unique, names can be similar

What NOT to Do

  • Don't create projects without understanding the use case first
  • Don't commit API tokens or SDK keys to version control
  • Don't use production SDK keys in test/development environments
  • Don't create duplicate projects unnecessarily
  • Don't skip the exploration phase

Next Steps

After setting up projects:

  1. Create configs - Use the configs-create skill
  2. Set up SDK Integration - Use the sdk skill
  3. Configure Targeting - Use the configs-targeting skill

Related Skills

  • configs-create - Create configs in projects
  • sdk - Integrate SDK in your application
  • configs-targeting - Configure config targeting
  • configs-variations - Manage config variations

References