Live survey304 models · 14 providers · 22,792 auditsAudited grill-with-docs · SAFE →What changedHow we verifyllms.txt

Agent skill · Audited from source

elasticsearch-onboarding

skill · elastic/agent-skillsApache-2.0 licenceAudited 28 Oct 2026 · source 30fcdedc45a1

★ 602pushed todayversion 0.3.0
!CAUTIONGrade B · 89/100 · 1 finding · 30fcded
602repo stars · whole elastic/agent-skills

Is it safe? With care — CAUTION, grade B (89/100). We read this skill's source at commit 30fcdedc45a1 and found no filesystem, network or shell access and no hard-coded secrets. The audit raised 1 finding, 1 critical or high. What it does: 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…

Ask an AI about this pageGChatGPTCClaudePPerplexityGeGeminiXGrok
More
Cite

Cite this page

ModelsAtlas. “elasticsearch-onboarding (elastic/agent-skills)”. Retrieved 28 Oct 2026. https://modelsatlas.com/skills/elastic/elasticsearch-onboarding

Trust audit

Audit 0.4.1 · source read 28 Oct 2026

Trust score89/100!CAUTION B
0 critical1 high0 medium0 low0 info

CAUTION means the audit found things worth knowing before you trust this skill. Grade B is shared by 16,667 of 17,602 audited skills.

What the source does

  • FilesystemNone observedNo reads or writes in the source
  • NetworkNone observedNo outbound calls in the source
  • ShellNone observedNo commands run in the source
  • DependenciesPinnedNothing floats
  • SecretsNone foundNo keys in source

Five audit layers

LayerWhat we checkResultFindings
L0 ProvenanceRepo owner, licence, archive status, activityPASS0
L1 Static sourceSecrets, path traversal, supply chain, hidden codeNA0
L2 InstructionsPrompt injection, authority framing, hidden directivesFAIL1
L3 InventoryThe files and declarations match the sourcePASS0
L4 SandboxRun in isolation and watch behaviourSKIPPED why0

Gates applied: no behavioural pass.

Findings (1)

HIGHPrompt injectionprompt.credential_read · SKILL.md:59
F-01 Prompt injectionCWE-94 · CWE-1427Layer L2
- **Unprompted** — never open on your own connection or credential status. A cluster you cannot reach is not the
Why
asks the agent to read credentials
Fix
—

Audit 0.4.1 · source sha 30fcdedc45a1 · 28 Oct 2026Report an issue or request a re-scan

Provenance

Who published it, and what the verdict is pinned to

  • Publisherelastic GitHub organizationOwner of the repository this skill is read from
  • Source folderelastic/agent-skills/skills/elasticsearch/elasticsearch-onboardingThe exact folder we audited
  • LicenceApache-2.0As the repository states it
  • Commit pinned for this verdict30fcdedc45a1A new audit runs when the source changes
  • Repository statusNot archivedPushed today
  • Sandboxed runNot runSkills are read, not executed; layer L4 is skipped

What it tells the agent

Full source on GitHub ↗

Its 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…

---
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 8.x or 9.x, self-managed, Elastic Cloud Hosted, or Elastic
  Cloud Serverless. Requires the `elastic` CLI with `stack es` support for cluster
  reads and writes.
metadata:
  author: elastic
  version: 0.3.0
  universal: true
---

# 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`                                                       

Excerpt, first 6,000 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.

Install

Pinned to the audited commit 30fcded

Download folder ↗
npm install @elastic/search-ui @elastic/react-search-ui @elastic/react-search-ui-views @elastic/search-ui-elasticsearch-connector
pip install langchain-elasticsearch langchain-openai
pip install llama-index llama-index-vector-stores-elasticsearch

Commands as the repository documents them: shown, never run by us. Our verdict covers commit 30fcdedc45a1 only.

Works in which agents?

What its own text says, not a test

AgentStatusMore
Claude CodeMentioned in its text, not testedSkills for Claude Code · About Claude Code
CursorMentioned in its text, not testedSkills for Cursor · About Cursor
“Mentioned” means the skill’s text names the agent. We have not run it there.

Audit history

Every audit, every source change

  1. !CAUTION B 89 / 100

    first audit · source 30fcdedc45a1

README badge

For maintainers · shows the latest audit

ModelsAtlas: CAUTION BMODELSATLASCAUTION · B
[![ModelsAtlas: CAUTION B](https://modelsatlas.com/skills/elastic/elasticsearch-onboarding/badge.svg)](https://modelsatlas.com/skills/elastic/elasticsearch-onboarding/)

The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.

Similar skills

Add this badge to your README

[![ModelsAtlas: CAUTION B](https://modelsatlas.com/skills/elastic/elasticsearch-onboarding/badge.svg)](https://modelsatlas.com/skills/elastic/elasticsearch-onboarding/)

Questions about elasticsearch-onboarding

What does the elasticsearch-onboarding skill do?
Official Elastic Skills
Is elasticsearch-onboarding safe to install?
With care. The audit graded it B (89/100) and found 1 thing worth knowing before you trust this skill, listed below with the exact line each was found on.
What can elasticsearch-onboarding access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
What do I need installed to use elasticsearch-onboarding?
Its own instructions reference elastic. Dependencies are pinned to exact versions.
Which assistants does elasticsearch-onboarding work with?
Its documentation mentions claude-code and cursor. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (30fcdedc45a1), read on 2026-10-28. The repository is watched, and a new audit runs when it changes — this is the first audit.

Sources

Spotted something wrong? Report a correction · Methodology

Keep going in your AI

Opens with this page as the source. We add nothing else to the prompt.