snippets — скилл для Claude Code: общие блоки промптов
Скилл для работы с переиспользуемыми блоками текста в промптах конфигов LaunchDarkly: персоны, ограничения, форматы вывода.
npx skills add launchdarkly/ai-tooling --skill snippets -a claude-codeЧто делает snippets
Скилл помогает найти повторяющийся текст в промптах вариаций конфигов и вынести его в отдельные именованные блоки — сниппеты. Сниппет хранится на уровне проекта, у него есть ключ, имя, теги и версия. Когда вы правите сниппет, создаётся новая версия, и конфиги, которые на него ссылаются, могут подтянуть свежий текст.
Работа идёт через MCP-инструменты: create-prompt-snippet создаёт блок, list-prompt-snippets показывает существующие, get-prompt-snippet открывает содержимое конкретного. Есть ещё update-prompt-snippet, delete-prompt-snippet и update-ai-config-variation — последний привязывает сниппет к промпту вариации. Скилл советует заводить сниппет только если текст нужен в двух местах и больше, и держать в одном сниппете одну тему: либо персона, либо ограничения.
Заранее понадобится настроенный удалённый MCP-сервер LaunchDarkly. Без него инструменты просто не вызовутся, и скилл ничего не сделает. Удаление сниппета, на который ссылаются конфиги, обрывает эти ссылки — скилл предупреждает об этом и требует подтверждения.
Какие задачи решает
- вынести общую персону агента из пяти конфигов в один блок
- зафиксировать ограничения безопасности, чтобы они не разъезжались по вариациям
- задать единый формат ответа в JSON для нескольких промптов
- обновить текст комплаенс-дисклеймера сразу во всех конфигах
- проверить, какие конфиги ссылаются на сниппет перед удалением
Примеры запросов агенту
- найди повторяющийся текст в промптах конфигов проекта и предложи, что вынести в сниппеты
- создай сниппет
support-personaс описанием персоны поддержки и тегами persona, support - покажи все сниппеты проекта и проверь, что новый создан с версией 1
Как установить snippets
1Через Skills CLI (Vercel)
npx skills add launchdarkly/ai-tooling --skill snippets -a claude-code2Вручную: положить файлы
~/.claude/skills/snippets/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/snippets/
1Через Skills CLI (Vercel)
npx skills add launchdarkly/ai-tooling --skill snippets -a codex2Вручную: положить файлы
.agents/skills/snippets/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add launchdarkly/ai-tooling --skill snippets -a cursor2Вручную: положить файлы
.cursor/skills/snippets/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install launchdarkly/ai-tooling snippets2Вручную: положить файлы
.github/skills/snippets/SKILL.md1Через Skills CLI (Vercel)
npx skills add launchdarkly/ai-tooling --skill snippets -a gemini-cli2Командой платформы
gemini skills install https://github.com/launchdarkly/ai-tooling --path skills/agentcontrol/snippetsВручную: положить файлы
.devin/skills/snippets/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add launchdarkly/ai-tooling --skill snippets -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о snippets
Как установить snippets в Claude?
Выполните npx skills add launchdarkly/ai-tooling --skill snippets -a claude-code. После этого файл скилла появится по пути ~/.claude/skills/snippets/SKILL.md.
Что делает скилл snippets?
Проводит по созданию и правке сниппетов промптов в LaunchDarkly: находит переиспользуемый текст, создаёт блоки через MCP-инструменты и проверяет, что ссылки в конфигах на месте.
Что нужно для работы snippets?
Настроенный удалённый MCP-сервер LaunchDarkly. Через него скилл вызывает create-prompt-snippet, list-prompt-snippets и остальные инструменты.
Исходный текст
SKILL.md · Apache-2.0
---
name: snippets
description: "Create and manage prompt snippets — reusable text blocks referenced inside config variation prompts. Keeps common instructions, personas, and guardrails consistent across multiple configs."
license: Apache-2.0
compatibility: Requires the remotely hosted LaunchDarkly MCP server
metadata:
author: launchdarkly
version: "0.1.0"
---
# Config Prompt Snippets
You're using a skill that will guide you through creating and managing prompt snippets in LaunchDarkly. Your job is to identify reusable text, create snippets, reference them in config variations, and verify everything is wired correctly.
## Prerequisites
This skill requires the remotely hosted LaunchDarkly MCP server to be configured in your environment.
**Required MCP tools:**
- `create-prompt-snippet` -- create a new reusable text block
- `list-prompt-snippets` -- browse existing snippets in the project
- `get-prompt-snippet` -- inspect a specific snippet's content
**Optional MCP tools:**
- `update-prompt-snippet` -- edit a snippet's text, name, or tags
- `delete-prompt-snippet` -- permanently remove a snippet
- `update-ai-config-variation` -- update variation prompts to reference snippets
## Core Concepts
### What Are Prompt Snippets?
Prompt snippets are named, versioned text blocks stored at the project level. They contain reusable pieces of prompt text — personas, guardrails, output format instructions, domain knowledge — that can be shared across multiple config variations.
When a snippet is updated, a new version is created. Config variations that reference the snippet can pick up the latest version, keeping all your configs in sync.
### When to Use Snippets
| Scenario | Example |
|----------|---------|
| **Shared persona** | "You are a helpful customer support agent for Acme Corp..." used by 5 different configs |
| **Safety guardrails** | "Never reveal internal pricing. Never generate code that accesses production databases." |
| **Output format** | "Always respond in JSON with keys: answer, confidence, sources." |
| **Domain knowledge** | Company-specific terminology, product names, or process descriptions |
| **Regulatory text** | Compliance disclaimers that must appear in every response |
### When NOT to Use Snippets
- Text that is unique to a single variation — just put it in the prompt directly
- Dynamic content that changes per-request — use template variables instead
- Entire prompts — snippets are building blocks, not complete prompts
## Core Principles
1. **Reusability First**: Only create a snippet if the text will be used in 2+ places
2. **Single Responsibility**: Each snippet should cover one concern (persona OR guardrails, not both)
3. **Descriptive Keys**: Use keys like `safety-guardrails`, `json-output-format`, `support-persona`
4. **Tag for Discovery**: Add tags so teammates can find snippets by category
5. **Verify References**: After creating a snippet, confirm it appears in the project
## Workflow
### Step 1: Identify Reusable Text
Before creating snippets, understand what's shared:
1. List existing configs in the project using `get-ai-config` for each
2. Look for repeated text across variation prompts
3. Identify text that should stay consistent (guardrails, personas, formats)
4. Check existing snippets with `list-prompt-snippets` to avoid duplicates
### Step 2: Create Snippets
Use `create-prompt-snippet` with:
- `key` -- unique identifier (lowercase, hyphens, e.g. `safety-guardrails`)
- `name` -- human-readable display name
- `text` -- the reusable prompt text content
- `description` (optional) -- explain when/why to use this snippet
- `tags` (optional) -- categorize for discovery (e.g. `["guardrails", "safety"]`)
```json
{
"projectKey": "my-project",
"key": "support-persona",
"name": "Customer Support Persona",
"text": "You are a friendly, knowledgeable customer support agent for Acme Corp. Always greet the customer by name when available. Be empathetic but concise. If you don't know the answer, say so honestly and offer to escalate.",
"description": "Standard persona for all customer-facing support configs",
"tags": ["persona", "support"]
}
```
### Step 3: Verify
1. Use `get-prompt-snippet` to confirm the snippet was created with the correct text
2. Use `list-prompt-snippets` to see it in the project listing
3. Check that version is 1 for newly created snippets
**Report results:**
- Snippet created with key, name, and text
- Version number confirmed
- Tags applied correctly
### Step 4: Update Snippets (When Needed)
Use `update-prompt-snippet` to modify an existing snippet. Only pass the fields you want to change:
```json
{
"projectKey": "my-project",
"snippetKey": "safety-guardrails",
"text": "Updated guardrail text with new compliance requirements..."
}
```
Each update creates a new version. Existing config variations referencing the snippet can pick up the new version.
## Edge Cases
| Situation | Action |
|-----------|--------|
| Snippet key already exists | Use `get-prompt-snippet` to check, then either update or choose a different key |
| Very long text | Snippets can hold large blocks — but consider splitting into multiple snippets for modularity |
| Snippet referenced by configs | Update carefully — changes propagate to all referencing configs |
| Deleting a referenced snippet | Warn the user that configs will lose the reference. Use `delete-prompt-snippet` with `confirm: true` |
## What NOT to Do
- Don't create snippets for text used in only one place
- Don't put an entire prompt in a single snippet — break it into focused pieces
- Don't delete snippets without checking which configs reference them
- Don't duplicate existing snippets — check `list-prompt-snippets` first
## More resources
To learn more about setting up prompt snippets in the LaunchDarkly UI, read [Prompt snippets](https://launchdarkly.com/docs/home/agentcontrol/snippets.md).
© launchdarkly · Apache-2.0 · launchdarkly/ai-tooling