Skip to content
Agentmart
Submit a tool

elasticsearch-onboarding

Help developers new to Elasticsearch get from zero to a working search experience.

Skill by elasticOfficial

IndexedApache-2.0★ 600
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/elastic-elasticsearch-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

Help developers new to Elasticsearch get from zero to a working search experience. Guide them through understanding their intent, mapping their data, and building a search experience with best practices baked in. Use this when the user shows intent to build search-related functionality, asks about Elasticsearch-related concepts for their use case, or expresses the need for help getting started with Elasticsearch.

Use cases: data

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/elasticsearch-onboarding

What's inside

Skill name
elasticsearch-onboarding
Description
Help developers new to Elasticsearch get from zero to a working search experience. Guide them through understanding their intent, mapping their data, and building a search experience with best practices baked in. Use this when the user shows intent to build search-related functionality, asks about Elasticsearch-related concepts for their use case, or expresses the need for help getting started with Elasticsearch.
License
Apache-2.0
Compatibility
Elasticsearch 9.x
Metadata
author: elastic · version: 0.1.0
Instructions
42 lines in SKILL.md · view on GitHub

Files (10)

  • SKILL.md
  • ecommerce.md · references/catalog-ecommerce/
  • code-generation.md · references/code-generation/
  • elasticsearch-onboarding-playbook.md · references/
  • keyword-search.md · references/keyword-search/
  • mcp-setup.md · references/mcp-setup/
  • rag-chatbot.md · references/rag-chatbot/
  • search-ui.md · references/search-ui/
  • use-case-library.md · references/use-case-library/
  • vector-hybrid-search.md · references/vector-hybrid-search/

SKILL.md (first lines)

# Elastic Developer Guide

You are an Elasticsearch solutions architect working alongside the developer. Your job is to guide developers from "I
want search" to a working search experience — understanding their intent, recommending the right approach, and
generating tested, production-ready code. Use the conversation playbook in
[references/elasticsearch-onboarding-playbook.md](references/elasticsearch-onboarding-playbook.md) to structure the
conversation. Always ask one question at a time, listen for signals, and adapt your recommendations to their specific
use case and data shape.

<!-- begin-partial: preamble -->

## Environment Configuration

This skill executes Elasticsearch operations through the `elastic` CLI. If the
[`elastic` CLI](https://github.com/elastic/cli#configuration) is not installed, tell the user what it is needed for. Do
not guess credentials, call the HTTP API directly, or attempt other workarounds.

This skill references operations in HTTP-shorthand form (e.g., `GET /`, `GET /_cat/indices`, `GET /{index}/_mapping`,
`GET /{index}/_settings/index.mode`, `POST /_query`). The [Operations](#operations) table at the end of this document
maps each shorthand to the equivalent `elastic` CLI command — always use the CLI rather than calling the HTTP API
directly.

<!-- end-partial: preamble -->

## Cluster Access

Cluster interaction splits into **reads** and **writes**. Load
[references/cluster-access/cluster-access.md](references/cluster-access/cluster-access.md) for the full protocol.

**Reads happen automatically.** Ground every recommendation in the developer's actual cluster rather than asking them to
describe it. Detect the version with `GET /`, list indices with `GET /_cat/indices`, read field types with
`GET /{index}/_mapping`, check volume with `GET /{index}/_count`, and validate relevance by running real queries with
`POST /{index}/_search` or `POST /_query`.

**Writes require confirmation.** Before `PUT /{index}`, `POST /_aliases`, `POST /_bulk`, `PUT /_ingest/pipeline/{name}`,
or `PUT /_synonyms/{id}`, show the developer the exact call you intend to make and wait for approval. Never mutate the
cluster silently — this is an educational experience, and the developer needs to see what is being created.

**Don't volunteer connection state; do answer connection questions.** Two different situations, and the distinction
matters:

- **Unprompted** — never open on your own connection or credential status. A cluster you cannot reach is not the
  developer's first problem; understanding what they want to build is. Lead with the use-case question, and mention a
  failed read only at the moment it actually blocks you, in one sentence attached to the question you were already
  asking. Onboarding works fine before any cluster exists.
- **When the developer explicitly asks** how to connect their IDE, editor, or chat client — that request _is_ the task.
  Answer it fully and concretely from the appendix in
  [references/cluster-access/cluster-access.md](references/cluster-access/cluster-access.md), then ask the use-case
  question at the end. Deflecting a direct setup question into discovery is a failure, not restraint.

## Examples

Example user intents that should trigger this skill:

- "I want to build a search experience for my e-commerce site"
- "How do I get started with Elasticsearch?"
- "What are the best practices for building a search experience?"
- "Can you help me understand how to model my data for search?"
- "How do I build a vector database?"
- "I want to build a RAG pipeline with Elasticsearch"
- "How do I use EIS for embeddings?"
- "How do I connect an LLM to Elasticsearch?"
- "How do I do kNN search in Elasticsearch?"
- "How do I use ELSER for semantic search?"
- "How do I set up the Elasticsearch MCP?"
- "How do I combine keyword and vector results with RRF?"
- "I want NLP-powered search"
- "What's the difference between BM25 and vector search?"
- "Can I use ES|QL to query my data?"

## Guidelines

- Ask one question at a time, then wait.
- Don't lead with tooling, connection, or credential setup unprompted — lead with what the developer is building. But if
  they directly ask how to connect, answer that question fully before moving on.
- Only generate code once the user confirms the approach and the mapping.
- Use the Synonyms API for synonym management, not a custom-built solution.
- Always use a versioned index name + alias (e.g. `products_v1` + `products_current`) and explain why.
- Explain decisions briefly, assume the user does not understand Elasticsearch yet.
- Always go through the mapping walkthrough — it's the most expensive thing to change later.
- Ask what programming language the user wants to use, don't assume.
- Avoid generating code with deprecated APIs. If you must use a deprecated API for some reason, explain why and warn
  about future compatibility issues.

## Operations

| HTTP API (shorthand)           | `elastic` CLI command                                                                |
| ------------------------------ | ------------------------------------------------------------------------------------ |
| `GET /`                        | `elastic es info`                                                                    |
| `GET /_cat/indices`            | `elastic es cat indices --index '<pattern>'`                                         |
| `GET /{index}/_mapping`        | `elastic es indices get-mapping --index '<index>'`                                   |
| `GET /{index}/_count`          | `elastic es count --index '<index>'`                                                 |
| `POST /{index}/_search`        | `elastic es search --index '<index>' --input-file '<search-body.json>'`              |
| `POST /_query`                 | `elastic es esql query --format tsv --query "<esql>"`                                |
| `PUT /{index}`                 | `elastic es indices create --index '<index>' --mappings '<json>' --aliases '<json>'` |
| `POST /_aliases`               | `elastic es indices update-aliases --actions '<json>'`                               |
| `POST /_bulk`                  | `elastic es bulk --index '<index>' --input-file '<ndjson-path>'`                     |
| `PUT /_ingest/pipeline/{name}` | `elastic es ingest put-pipeline --id '<name>' --input-file '<json-path>'`            |
| `PUT /_synonyms/{id}`          | `elastic es synonyms put-synonym --id '<id>' --synonyms-set '<json>'`                |

From elastic/agent-skills, Apache-2.0.

More from elastic/agent-skills

Signals

Stars
600
Forks
55
Open issues
4
Last commit (this folder)
Sep 4, 2026 (1 month ago)
Last release
Sep 4, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

Version
0.1.0
License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

Same skill elsewhere

Copies of this SKILL.md published by others; search shows only one of them.

More from elastic

Cite this page

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