Skip to main content

elastic-cli-usage

Guides execution of elasticsearch CLI commands via elastic_cli, resolves serverless-specific errors, and routes tasks between CLI and MCP/Kibana API tools. Use when running es or kb commands, debugging elastic CLI argument syntax, hitting 410 serverless errors, or deciding whether to use elastic_cli vs native Kibana tools.

Source facts

Repository
elastic/elastic-ramen
Last source activity
June 16, 2026 at 15:27
Detected SKILL.md language
English
Stars
19
Forks
6

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
elastic-cli-usage
description
Guides execution of elasticsearch CLI commands via elastic_cli, resolves serverless-specific errors, and routes tasks between CLI and MCP/Kibana API tools. Use when running es or kb commands, debugging elastic CLI argument syntax, hitting 410 serverless errors, or deciding whether to use elastic_cli vs native Kibana tools.
metadata
{"version":"0.3.0","visibility":"public"}
# Skill: elastic-cli-usage (verified gotchas) Use `elastic_cli` tool for all CLI operations — credentials are injected automatically. Pass `argv` as a JSON array of strings, e.g. `["es","cluster","health","--json"]`. The `elastic` binary is NOT on PATH in the shell environment; never use bash for this. For anything not listed here, call `elastic_cli` with `["es","<namespace>","--help"]` or `["kb","<namespace>","--help"]`. --- ## Shorthands `es` = `stack es`, `kb` = `stack kb`. Both work. --- ## Prefer MCP/native tools over CLI | Task | Prefer instead | |------|---------------| | ES\|QL queries | `eab_platform_core_execute_esql` | | Index/datastream listing | `eab_platform_core_list_indices` | | Streams | `eab_platform_streams_*` | | Agent builder | `kibana_list_agents`, `kibana_list_tools` | --- ## Gotchas ### Serverless: many cluster APIs return 410 These all fail on serverless with "not available in serverless mode": - `es cluster health` / `stats` / `get-settings` - `es ilm get-lifecycle` / `get-status` Use `es cat count --json` to verify connectivity on serverless instead. ### `es indices list` does not exist Use `es indices get --index "*" --json` or `es indices get-data-stream --json`. ### `es cluster health-report` does not exist The subcommand is `es cluster health`. There is no `health-report`. ### Agent builder subcommands use verbose REST-style names `kb agent-builder agents list` and `tools list` do **not** exist. Real commands: ``` kb agent-builder get-agent-builder-agents --json kb agent-builder get-agent-builder-tools --json ``` Pattern: `<http-method>-<resource-path>` throughout all of `kb`. ### `docs search` and `docs read` require named flags, not positional args ``` # WRONG — "too many arguments" error ["docs","search","index lifecycle management"] ["docs","read","https://www.elastic.co/..."] # CORRECT ["docs","search","--query","index lifecycle management"] ["docs","read","--path","https://www.elastic.co/docs/..."] ``` Also: old `/guide/` URLs return `(no output)`. Use `elastic.co/docs/` URLs. ### `es esql query` requires `--query` flag, not positional ``` # WRONG ["es","esql","query","FROM logs-* | LIMIT 1"] # CORRECT ["es","esql","query","--query","FROM logs-* | LIMIT 1","--json"] ``` ### `kb slo find-slos-op` requires `--space-id` Omitting it returns a validation error. Use `--space-id default`. ### `--output-fields` and `--output-template` are per-subcommand flags (placed at end) They are listed as global flags in the help but must come after the full subcommand. `--output-fields` returns `{}` for array responses — unreliable, avoid it. `--output-template` only works for top-level scalar fields. Just use `--json` and process the output. ### Never block on stdin Never use `--input-file /dev/stdin` or `es helpers watch`. These block forever and hang the `elastic_cli` tool with no way to cancel.
View on GitHub