PluginBench
Skill
Review
Audit score 70

elasticsearch-onboarding

elastic/agent-skills

Guide developers from zero to a working Elasticsearch search experience with best practices.

What is elasticsearch-onboarding?

An Elasticsearch onboarding skill that helps developers understand their search requirements, design data mappings, and build production-ready search experiences. Use this when users want to build search functionality, learn Elasticsearch concepts, or get started with vector search and RAG pipelines.

  • Guide users through understanding their search intent and use case
  • Help design and validate data mappings for optimal search performance
  • Recommend appropriate search approaches (keyword, vector, hybrid with RRF)
  • Generate tested, production-ready code in the user's preferred language
  • Explain Elasticsearch concepts and best practices for search architecture
  • Support advanced patterns like semantic search with ELSER, kNN, and RAG pipelines

How to install elasticsearch-onboarding

npx skills add https://github.com/elastic/agent-skills --skill elasticsearch-onboarding
Prerequisites
  • Elasticsearch 9.x instance or cluster
Claude Code
Cursor
Windsurf
Cline

How to use elasticsearch-onboarding

  1. 1.Ask clarifying questions about your search use case and data shape, one at a time
  2. 2.Work through the mapping design process to define how your data will be indexed
  3. 3.Confirm the recommended search approach (keyword, vector, or hybrid)
  4. 4.Receive generated, production-ready code tailored to your programming language
  5. 5.Deploy with best practices including versioned indices and aliases

Use cases

Good for
  • Building search functionality for e-commerce product catalogs
  • Creating semantic search experiences with embeddings and ELSER
  • Implementing RAG pipelines with Elasticsearch as the vector database
  • Designing data models and mappings for new search applications
  • Comparing and combining keyword search (BM25) with vector search using RRF
Who it's for
  • Developers new to Elasticsearch
  • Backend engineers building search features
  • Full-stack developers implementing RAG systems
  • Teams evaluating Elasticsearch for semantic or hybrid search

elasticsearch-onboarding FAQ

When should I use vector search vs. keyword search?

Keyword search (BM25) works well for exact term matching and structured queries. Vector search excels at semantic understanding and similarity matching. For best results, use hybrid search with RRF (Reciprocal Rank Fusion) to combine both approaches.

What's the difference between ELSER and other embedding models?

ELSER is Elastic's proprietary semantic search model optimized for relevance. It handles synonym expansion and semantic understanding without external LLM calls. Other embedding models require external APIs but may offer different semantic properties.

Why use versioned index names with aliases?

Versioned indices (e.g., products_v1) with aliases (products_current) allow you to reindex and update mappings without downtime. You can switch traffic to the new version atomically, making schema changes safe in production.

Can I use Elasticsearch for RAG applications?

Yes. Elasticsearch can serve as your vector database for RAG pipelines. Store document chunks with embeddings, use kNN or semantic search to retrieve relevant context, then pass results to your LLM for generation.

Do I need to write custom code for synonym management?

No. Use Elasticsearch's Synonyms API for managing synonyms. It's built-in, versioned, and easier to maintain than custom solutions.

Full instructions (SKILL.md)

Source of truth, from elastic/agent-skills.


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. compatibility: Elasticsearch 9.x metadata: author: elastic version: 0.1.0

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 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.

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.
  • 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.