К основному содержанию
скилл CX Codex

opensearch-skills — скилл для Claude Code: что делает и как установить

Скилл помогает настраивать поиск в OpenSearch, готовить векторные индексы и анализировать логи с трейсами.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add opensearch-project/opensearch-agent-skills --skill opensearch-skills -a claude-code
Открыть на GitHub

Что делает opensearch-skills

Скилл объединяет маршруты для задач поиска, аналитики логов и развёртывания. Он определяет намерения пользователя и направляет запрос в нужную ветку: настройка BM25 или KNN, обработка документов PDF и DOCX в JSONL, построение пайплайнов RAG либо запросы к логам через PPL.

Внутри находится скрипт scripts/opensearch_ops.py для операций с кластером, запуск локального инстанса через scripts/start_opensearch.sh и веб-интерфейс Search Builder на порту 8765. Для работы инструментов скилла обязательно нужны Docker и uv. Без установленных Docker и uv локальный запуск сразу выдаст ошибку. Для развёртывания в облаке AWS дополнительно потребуются настроенные переменные с ключами AWS.

Какие задачи решает

  • настроить гибридный или векторный поиск в OpenSearch
  • разбить документы PDF и DOCX на чанки JSONL
  • составить аналитические запросы к логам на языке PPL
  • развернуть домен OpenSearch в AWS или Aiven

Примеры запросов агенту

  • Настрой гибридный поиск с плотными векторами и BM25 для каталога товаров
  • Проанализируй ошибки в логах через PPL и найди частые паттерны сбоев
  • Помоги подготовить чанки из папки с PDF-файлами для индексации

Как установить opensearch-skills

1Через Skills CLI (Vercel)

npx skills add opensearch-project/opensearch-agent-skills --skill opensearch-skills -a claude-code

2Вручную: положить файлы

~/.claude/skills/opensearch-skills/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/opensearch-skills/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о opensearch-skills

Как установить opensearch-skills в Claude Code?

Выполните команду npx skills add opensearch-project/opensearch-agent-skills --skill opensearch-skills -a claude-code. Скилл загрузится в окружение вашего агента.

Что делает скилл opensearch-skills?

Он маршрутизирует команды для создания поисковых приложений, настройки векторных индексов, разбора трейсов и управления кластерами OpenSearch.

Что требуется установить для запуска инструментов скилла?

Для работы локального кластера и встроенных Python-скриптов нужны Docker и менеджер пакетов uv. Для облачных команд в AWS понадобятся рабочие учётные данные AWS credentials.

Исходный текст

SKILL.md · Apache-2.0
---
name: opensearch-skills
description: >
  Build search applications and query log analytics data with OpenSearch.
  Use this skill when the user mentions OpenSearch, search app, index setup,
  search architecture, semantic search, vector search, hybrid search, BM25,
  dense vector, sparse vector, agentic search, RAG, embeddings, KNN, PDF
  ingestion, document processing, or any related search topic. Also use for
  log analytics and observability — when the user wants to set up log
  ingestion, query logs with PPL, analyze error patterns, set up index
  lifecycle policies, investigate traces, or check stack health. Activate
  even if the user says log analysis, Fluent Bit, Fluentd, Logstash, syslog,
  traceId, OpenTelemetry, or log analytics without mentioning OpenSearch.
compatibility: Requires Docker and uv. AWS deployment requires AWS credentials.
metadata:
  author: opensearch-project
  version: "2.0"
---

# OpenSearch Skills

This is the top-level skill for OpenSearch. It contains four category skills that can also be installed and used independently:

| Category | Skill | Install individually |
|---|---|---|
| [search](search/SKILL.md) | [opensearch-launchpad](search/opensearch-launchpad/SKILL.md) | `npx skills add opensearch-project/opensearch-agent-skills@opensearch-launchpad --full-depth` |
| [observability](observability/SKILL.md) | [log-analytics](observability/log-analytics/SKILL.md) | `npx skills add opensearch-project/opensearch-agent-skills@log-analytics --full-depth` |
| [observability](observability/SKILL.md) | [trace-analytics](observability/trace-analytics/SKILL.md) | `npx skills add opensearch-project/opensearch-agent-skills@trace-analytics --full-depth` |
| [cloud](cloud/SKILL.md) | [aws-setup](cloud/aws-setup/SKILL.md) | `npx skills add opensearch-project/opensearch-agent-skills@aws-setup --full-depth` |
| [cloud](cloud/SKILL.md) | [aiven-setup](cloud/aiven-setup/SKILL.md) | `npx skills add opensearch-project/opensearch-agent-skills@aiven-setup --full-depth` |
| [ingest](ingest/SKILL.md) | [document-processing](ingest/document-processing/SKILL.md) | `npx skills add opensearch-project/opensearch-agent-skills@document-processing --full-depth` |
| [cloud](cloud/SKILL.md) | [managed-ingestion-service](cloud/managed-ingestion-service/SKILL.md) | `npx skills add opensearch-project/opensearch-agent-skills@managed-ingestion-service --full-depth` |

## Routing

Route to the right skill based on user intent:

| User Intent | Skill |
|---|---|
| Build a search app, set up an index, choose a search strategy | [opensearch-launchpad](search/opensearch-launchpad/SKILL.md) |
| Analyze logs, query with PPL, discover error patterns | [log-analytics](observability/log-analytics/SKILL.md) |
| Investigate traces, debug spans, analyze service maps | [trace-analytics](observability/trace-analytics/SKILL.md) |
| Deploy to AWS, provision a domain or collection | [aws-setup](cloud/aws-setup/SKILL.md) |
| Deploy to Aiven, provision a managed OpenSearch service | [aiven-setup](cloud/aiven-setup/SKILL.md) |
| Process documents into chunks (PDF/DOCX → JSONL) | [document-processing](ingest/document-processing/SKILL.md) |
| Ingest chunks at scale via OSIS, S3 to AOS/AOSS | [managed-ingestion-service](cloud/managed-ingestion-service/SKILL.md) |
| General OpenSearch question | Search docs first, then route to the relevant skill |

If the user's intent spans multiple skills (e.g., "build a search app and deploy it to Aiven"), start with the appropriate skill and transition to the next when ready.

## Feedback Collection (Required Behavior)

**This applies to ALL skills in this collection** — opensearch-launchpad, log-analytics, trace-analytics, aws-setup, aiven-setup, document-processing, and managed-ingestion-service. Regardless of which skill is active, you MUST follow these rules.

You MUST proactively collect feedback during every interaction. This is not optional — treat it as a core part of the workflow, not an afterthought.

### Rules

1. **Monitor continuously** — watch for failures, confusion, and unmet needs throughout the conversation, not just at the end.
2. **Offer immediately on failure** — when any command errors or a step doesn't work, immediately offer to capture feedback before troubleshooting.
3. **Offer on uncertainty** — if you're unsure how to proceed or the skill doesn't cover the user's request, flag it as a potential gap and offer to submit.
4. **Ask at natural breakpoints** — after completing a major phase (not just at the very end), ask "Is this working as expected? Any friction so far?"
5. **Always ask at end** — when the user says they're done or the workflow completes, ask for a 1-5 rating.
6. **Never send without consent** — show the preview, get explicit "yes".

### Triggers

| When | What to do |
|------|------------|
| Command returns non-zero exit or error | → Immediately: "That failed. Can I capture this as feedback?" |
| User says "that's not what I wanted" / "this is confusing" / expresses frustration | → "Sounds like friction. Can I note what went wrong?" |
| User asks for something you can't do | → "This isn't supported yet. Can I flag this as a feature gap?" |
| A workaround is needed (something should be simpler) | → "That was more steps than it should be. Can I flag this as friction?" |
| Major phase completes | → "How's it going so far? Any issues?" |
| User says "done" or workflow ends | → "How was the overall experience? (1-5)" |

### How to Submit

Requires `uv` installed (for running Python scripts)

1. Compose the feedback (type + context).
2. Show preview to user.
3. Ask: "May I submit this anonymous feedback?"
4. On consent:

```bash
uv run python scripts/opensearch_ops.py submit-feedback \
  --type <failure|gap|friction|success> \
  --skill <skill-name> \
  --context "<error message, command, what happened>" \
  --comment "<user's words>" \
  --rating "<1-5, for success only>"
```

### Feedback Types

- `failure` — A command or step produced an error
- `gap` — User needs something the skill doesn't support
- `friction` — Workflow was confusing, slow, or required workarounds
- `success` — Workflow completed, user satisfied

## Shared Resources

All skills share these resources:

- **Scripts**: `scripts/opensearch_ops.py` — CLI for all OpenSearch operations
- **Docker bootstrap**: `scripts/start_opensearch.sh` — Start a local OpenSearch cluster
- **CLI Reference**: [cli-reference.md](cli-reference.md) — Full command reference with examples
- **Search Builder UI**: `scripts/ui/` — React frontend served on port 8765

```bash
bash scripts/start_opensearch.sh
uv run python scripts/opensearch_ops.py <command> [options]
uv run python scripts/opensearch_ops.py --help
```

## Optional MCP Servers

```json
{
  "mcpServers": {
    "ddg-search": {
      "command": "uvx",
      "args": ["duckduckgo-mcp-server"]
    },
    "awslabs.aws-api-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.aws-api-mcp-server@latest"],
      "env": { "FASTMCP_LOG_LEVEL": "ERROR" }
    },
    "aws-knowledge-mcp-server": {
      "command": "uvx",
      "args": ["fastmcp", "run", "https://knowledge-mcp.global.api.aws"],
      "env": { "FASTMCP_LOG_LEVEL": "ERROR" }
    },
    "opensearch-mcp-server": {
      "command": "uvx",
      "args": ["opensearch-mcp-server-py@latest"],
      "env": { "FASTMCP_LOG_LEVEL": "ERROR" }
    }
  }
}
```

## Auto-Installing Missing MCP Servers

Before using any MCP tool, check if the server is available. If missing:

1. Locate the MCP config file:
   - Kiro: `.kiro/settings/mcp.json`
   - Cursor: `.cursor/mcp.json`
   - Claude Code: `.mcp.json`
   - VS Code (Copilot): `.vscode/mcp.json`
   - Windsurf: `~/.codeium/windsurf/mcp_config.json`
2. Read the existing config (or start with `{"mcpServers": {}}`).
3. Merge in the missing server entry. Do not overwrite existing entries.
4. Save and inform the user to restart or reconnect MCP servers.

## Answering OpenSearch Knowledge Questions

```bash
uv run python scripts/opensearch_ops.py search-docs --query "<your query>"
uv run python scripts/opensearch_ops.py search-docs --query "<query>" --site docs.aws.amazon.com
```

© opensearch-project · Apache-2.0 · opensearch-project/opensearch-agent-skills

Похожие скиллы

Все скиллы по теме «Данные и базы» →
amazon-opensearch-service aws Направляет миграцию, развёртывание, векторный поиск и анализ логов в Amazon OpenSearch Service и Serverless. Помогает строить запросы и расследовать сбои через агента. CX Codex +1 5 500установок storing-and-querying-vectors aws Скилл ведёт агента по работе с Amazon S3 Vectors: создание векторного бакета и индекса, запись эмбеддингов, поиск похожих. CX Codex +1 6 600установок aws-sdk-java-v2-bedrock giuseppe-trisciuoglio Скилл подсказывает агенту, как вызывать модели Amazon Bedrock через AWS SDK for Java 2.x: текст, картинки, эмбеддинги и стриминг. CX Codex +1 3 700установок input-configurations elastic Скилл для сборки и правки шаблонов входов в интеграциях Elastic: от HTTPJSON и S3 до Journald и WebSocket. Плюс федеративная идентичность для AWS. CX Codex +1 503установок private-connectivity grafana Настраивает приватное подключение к Grafana Cloud через AWS PrivateLink, Azure Private Link, GCP Private Service Connect и PDC. Пригодится, когда телеметрия не должна идти через публичный интернет. CX Codex +1 4 100установок dt-obs-network-flows Dynatrace Скилл для Dynatrace: разбирает сетевые потоки из трёх источников и отвечает, кто с кем говорит и где рвутся соединения. CX Codex +1 912установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой