esql-query-language

Craft and execute ES|QL pipelines against Elasticsearch indices.

Updated Feb 20, 2026
One-click install
npx skills add https://github.com/pixelsquared/claude-skills --skill esql-query-language
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: esql-query-language
Source: https://github.com/pixelsquared/claude-skills/tree/main/plugins/esql/skills/esql-query
Command: npx skills add https://github.com/pixelsquared/claude-skills --skill esql-query-language

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Traditional Elasticsearch queries require verbose JSON DSL and multiple steps to assemble pipelines. ES|QL provides a concise, pipe-based language to filter, transform, and analyze data across indices, reducing complexity and speeding up insight generation.

Core Features & Use Cases

  • Source & Processing Commands: FROM, ROW, and SHOW to initialize data sources and drive pipelines.
  • Filtering, Selecting, and Aggregation: WHERE, KEEP, DROP, RENAME, SORT, LIMIT, and STATS for robust data shaping and insights.
  • Advanced Transformations: EVAL, DISSECT, GROK, ENRICH, and JOIN patterns for enrichment and cross-index analysis.
  • Use Case: Build dashboards by streaming logs from multiple indices, compute aggregations by service, and highlight anomalies with percentile-based thresholds.

Quick Start

Run a simple ES|QL pipeline by selecting recent log events with FROM logs-* | WHERE @timestamp > NOW() - 1 hour | LIMIT 20.

Frequently Asked Questions about esql-query-language

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I query Elasticsearch using a pipe-based language instead of JSON DSL?

ES|QL provides a concise, pipe-based query language to filter, transform, and analyze data across Elasticsearch indices, replacing verbose JSON DSL. You chain commands like FROM, WHERE, and STATS to assemble pipelines for fast data insights.

What commands are available for filtering and aggregating data in ES|QL?

ES|QL offers WHERE, KEEP, DROP, RENAME, SORT, LIMIT, and STATS commands for robust data shaping and aggregation. These processing commands allow you to filter log events, select specific fields, and compute aggregations directly within your query pipeline.

Can I use ES|QL to enrich data and perform cross-index analysis?

Yes, ES|QL supports advanced transformations using EVAL, DISSECT, GROK, ENRICH, and JOIN patterns. These commands enable data enrichment and cross-index analysis by allowing you to parse unstructured fields and combine data from multiple Elasticsearch indices.

What is the best way to build a log analytics dashboard with ES|QL?

Build dashboards by streaming logs from multiple indices using FROM, filtering by timestamp with WHERE, and computing aggregations by service with STATS. You can highlight anomalies using percentile-based thresholds within your ES|QL pipeline.

Do I need ES|QL to analyze metrics across multiple Elasticsearch indices?

ES|QL is designed for metric exploration and log analytics across multiple indices, reducing the complexity of traditional queries. It satisfies scenarios where users chain source, filter, transform, and aggregate commands to generate fast insights.

How do I start an ES|QL pipeline to retrieve recent log events?

Run a simple ES|QL pipeline by selecting recent log events with FROM logs-* | WHERE @timestamp > NOW() - 1 hour | LIMIT 20. This chains source initialization, time-based filtering, and row limitation to quickly return relevant data.