elasticsearch-onboarding
Help developers new to Elasticsearch get from zero to a working search experience.
Skill by elasticOfficial
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.
About
Use cases: data
Reviews
Write a reviewNo 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
- 0.762score
elasticsearch-anomaly-detection
elasticOfficial
Create and manage Elastic ML anomaly detection jobs via the API.
SkillBFreshness: B★ 600Claude Code +9 - 0.762score
elasticsearch-anomaly-detection-explainer
elasticOfficial
Explain Elasticsearch ML anomaly detection scores, model behavior, and result interpretation.
SkillBFreshness: B★ 600Claude Code +9 - 0.762score
elasticsearch-esql
elasticOfficial
Execute ES|QL (Elasticsearch Query Language) queries, use when the user wants to query Elasticsearch data, analyze logs, aggregate metrics, explore data, or…
SkillBFreshness: B★ 600Claude Code +9 - 0.762score
elasticsearch-index-design
elasticOfficial
Design and review Elasticsearch index mappings for stated access patterns: correct field types, text+keyword multi-fields, doc_values tuning…
SkillBFreshness: B★ 600Claude Code +9 - 0.762score
elasticsearch-ingest
elasticOfficial
Load CSV and JSON files into Elasticsearch indices using the bulk API and explicit mappings when field types matter.
SkillBFreshness: B★ 600Claude Code +9 - 0.762score
elasticsearch-query-optimization
elasticOfficial
Diagnose slow Elasticsearch Query DSL searches and propose measured fixes.
SkillBFreshness: B★ 600Claude Code +9 - 0.762score
elasticsearch-reindex
elasticOfficial
Guide Elasticsearch reindex for performance: local and remote, slicing, throttling, task API.
SkillBFreshness: B★ 600Claude Code +9 - 0.762score
elasticsearch-search-relevance
elasticOfficial
Improve Elasticsearch search relevance for content and catalog indices: pin or promote results with query rules (correct rule type, criteria, and rule-query…
SkillBFreshness: B★ 600Claude Code +9 - 0.762score
kibana-agent-builder
elasticOfficial
Create and manage Kibana Agent Builder agents and custom tools.
SkillBFreshness: B★ 600Claude Code +9 - 0.762score
kibana-alerting-rules
elasticOfficial
Create and manage Kibana alerting rules.
SkillBFreshness: B★ 600Claude Code +9 - 0.762score
kibana-anomaly-detection
elasticOfficial
Elastic ML anomaly detection — investigation/RCA, score explanation, job lifecycle troubleshooting, and job operations.
SkillBFreshness: B★ 600Claude Code +9 - 0.762score
kibana-dashboards
elasticOfficial
Create and manage Kibana Dashboards and Lens visualizations.
SkillBFreshness: B★ 600Claude Code +9
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
- Repository
- github.com/elastic/agent-skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from elastic
- 0.762score
elasticsearch-anomaly-detection
elasticOfficial
Create and manage Elastic ML anomaly detection jobs via the API.
SkillBFreshness: B★ 600Claude Code +9 - 0.762score
elasticsearch-anomaly-detection-explainer
elasticOfficial
Explain Elasticsearch ML anomaly detection scores, model behavior, and result interpretation.
SkillBFreshness: B★ 600Claude Code +9 - 0.762score
elasticsearch-esql
elasticOfficial
Execute ES|QL (Elasticsearch Query Language) queries, use when the user wants to query Elasticsearch data, analyze logs, aggregate metrics, explore data, or…
SkillBFreshness: B★ 600Claude Code +9 - 0.762score
elasticsearch-index-design
elasticOfficial
Design and review Elasticsearch index mappings for stated access patterns: correct field types, text+keyword multi-fields, doc_values tuning…
SkillBFreshness: B★ 600Claude Code +9 - 0.762score
elasticsearch-ingest
elasticOfficial
Load CSV and JSON files into Elasticsearch indices using the bulk API and explicit mappings when field types matter.
SkillBFreshness: B★ 600Claude Code +9 - 0.762score
elasticsearch-query-optimization
elasticOfficial
Diagnose slow Elasticsearch Query DSL searches and propose measured fixes.
SkillBFreshness: B★ 600Claude Code +9
Cite this page
elasticsearch-onboarding skill. Agent Mart. https://agentmart.dev/skills/elastic-elasticsearch-onboarding (last updated 2026-10-24)