원클릭으로
elasticsearch
Query and manage Elasticsearch or OpenSearch clusters via REST API. Search, index, and aggregate data using curl.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Query and manage Elasticsearch or OpenSearch clusters via REST API. Search, index, and aggregate data using curl.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Eliminate AI-sounding patterns from any written output. Applies editorial rules synthesized from the best open-source anti-slop tools: banned phrases, structural pattern detection, false agency checks, and a scoring rubric. Use as a quality gate for ANY content — blog posts, social media, emails, documentation, marketing copy. Triggers on: "make it sound human", "less AI", "remove slop", "humanize this", "doesn't sound natural", "too AI", "rewrite naturally", or when reviewing any AI-generated text before publishing.
AWS Bedrock AgentCore comprehensive expert for deploying and managing all AgentCore services. Use when working with Gateway, Runtime, Memory, Identity, or any AgentCore component. Covers MCP target deployment, credential management, schema optimization, runtime configuration, memory management, and identity services.
AWS Cloud Development Kit (CDK) expert for building cloud infrastructure with TypeScript/Python. Use when creating CDK stacks, defining CDK constructs, implementing infrastructure as code, or when the user mentions CDK, CloudFormation, IaC, cdk synth, cdk deploy, or wants to define AWS infrastructure programmatically. Covers CDK app structure, construct patterns, stack composition, and deployment workflows.
This skill provides AWS cost optimization, monitoring, and operational best practices with integrated MCP servers for billing analysis, cost estimation, observability, and security assessment.
AWS serverless and event-driven architecture expert based on Well-Architected Framework. Use when building serverless APIs, Lambda functions, REST APIs, microservices, or async workflows. Covers Lambda with TypeScript/Python, API Gateway (REST/HTTP), DynamoDB, Step Functions, EventBridge, SQS, SNS, and serverless patterns. Essential when user mentions serverless, Lambda, API Gateway, event-driven, async processing, queues, pub/sub, or wants to build scalable serverless applications with AWS best practices.
A comprehensive collection of Agent Skills for context engineering, multi-agent architectures, and production agent systems. Use when building, optimizing, or debugging agent systems that require effective context management.
| name | elasticsearch |
| description | Query and manage Elasticsearch or OpenSearch clusters via REST API. Search, index, and aggregate data using curl. |
| version | 1.0.0 |
| allowed-tools | Bash |
| metadata | {"credentials":["ELASTICSEARCH_URL","ES_API_KEY"]} |
Query and manage Elasticsearch/OpenSearch clusters using curl (REST API).
# Check cluster health
curl -s "$ELASTICSEARCH_URL/_cluster/health?pretty"
# Search an index
curl -s "$ELASTICSEARCH_URL/users/_search?pretty" \
-H "Content-Type: application/json" \
-d '{"query": {"match_all": {}}, "size": 10}'
| Variable | Description | Example |
|---|---|---|
ELASTICSEARCH_URL | Cluster URL (with auth) | https://user:pass@my-cluster.es.io:9243 |
ES_API_KEY | API key (alternative auth) | base64encodedkey |
# Method 1: Credentials in URL
export ELASTICSEARCH_URL="https://elastic:password@my-cluster.es.io:9243"
curl -s "$ELASTICSEARCH_URL/_cluster/health?pretty"
# Method 2: API Key header
curl -s "$ELASTICSEARCH_URL/_cluster/health?pretty" \
-H "Authorization: ApiKey $ES_API_KEY"
curl -s "$ELASTICSEARCH_URL/?pretty"
curl -s "$ELASTICSEARCH_URL/_cluster/health?pretty"
curl -s "$ELASTICSEARCH_URL/_cat/indices?v&s=store.size:desc"
curl -s "$ELASTICSEARCH_URL/_cat/nodes?v"
curl -s "$ELASTICSEARCH_URL/users/_search?pretty" \
-H "Content-Type: application/json" \
-d '{"query": {"match_all": {}}, "size": 10}'
curl -s "$ELASTICSEARCH_URL/articles/_search?pretty" \
-H "Content-Type: application/json" \
-d '{
"query": {
"match": {"title": "machine learning"}
},
"size": 10
}'
curl -s "$ELASTICSEARCH_URL/articles/_search?pretty" \
-H "Content-Type: application/json" \
-d '{
"query": {
"multi_match": {
"query": "elasticsearch tutorial",
"fields": ["title^2", "body", "tags"]
}
}
}'
curl -s "$ELASTICSEARCH_URL/users/_search?pretty" \
-H "Content-Type: application/json" \
-d '{
"query": {
"term": {"status": "active"}
}
}'
curl -s "$ELASTICSEARCH_URL/orders/_search?pretty" \
-H "Content-Type: application/json" \
-d '{
"query": {
"range": {
"created_at": {
"gte": "2024-01-01",
"lt": "2024-02-01"
}
}
}
}'
curl -s "$ELASTICSEARCH_URL/users/_search?pretty" \
-H "Content-Type: application/json" \
-d '{
"query": {
"bool": {
"must": [{"match": {"role": "admin"}}],
"filter": [{"term": {"status": "active"}}],
"must_not": [{"term": {"banned": true}}]
}
}
}'
curl -s "$ELASTICSEARCH_URL/users/_search?pretty" \
-H "Content-Type: application/json" \
-d '{
"query": {"match_all": {}},
"sort": [{"created_at": "desc"}],
"size": 20
}'
curl -s "$ELASTICSEARCH_URL/users/_search?pretty" \
-H "Content-Type: application/json" \
-d '{
"query": {"match_all": {}},
"_source": ["name", "email", "created_at"],
"size": 10
}'
curl -s "$ELASTICSEARCH_URL/users/_search?pretty" \
-H "Content-Type: application/json" \
-d '{
"size": 0,
"aggs": {
"by_status": {
"terms": {"field": "status.keyword"}
}
}
}'
curl -s "$ELASTICSEARCH_URL/orders/_search?pretty" \
-H "Content-Type: application/json" \
-d '{
"size": 0,
"aggs": {
"avg_amount": {"avg": {"field": "amount"}}
}
}'
curl -s "$ELASTICSEARCH_URL/orders/_search?pretty" \
-H "Content-Type: application/json" \
-d '{
"size": 0,
"aggs": {
"orders_over_time": {
"date_histogram": {
"field": "created_at",
"calendar_interval": "month"
}
}
}
}'
curl -s "$ELASTICSEARCH_URL/users/_doc/1?pretty"
curl -s -X POST "$ELASTICSEARCH_URL/users/_doc" \
-H "Content-Type: application/json" \
-d '{
"name": "John",
"email": "john@example.com",
"status": "active",
"created_at": "'"$(date -u +%Y-%m-%dT%H:%M:%SZ)"'"
}' | jq .
curl -s -X POST "$ELASTICSEARCH_URL/users/_update/1" \
-H "Content-Type: application/json" \
-d '{"doc": {"status": "inactive"}}'
curl -s -X DELETE "$ELASTICSEARCH_URL/users/_doc/1"
curl -s -X POST "$ELASTICSEARCH_URL/_bulk" \
-H "Content-Type: application/x-ndjson" \
-d '
{"index": {"_index": "users"}}
{"name": "Alice", "email": "alice@example.com"}
{"index": {"_index": "users"}}
{"name": "Bob", "email": "bob@example.com"}
'
curl -s -X PUT "$ELASTICSEARCH_URL/users" \
-H "Content-Type: application/json" \
-d '{
"mappings": {
"properties": {
"name": {"type": "text"},
"email": {"type": "keyword"},
"status": {"type": "keyword"},
"age": {"type": "integer"},
"created_at": {"type": "date"}
}
}
}'
curl -s "$ELASTICSEARCH_URL/users/_mapping?pretty"
curl -s -X DELETE "$ELASTICSEARCH_URL/users"
http://localhost:9200https://elastic:password@localhost:9200| Error | Cause | Solution |
|---|---|---|
401 Unauthorized | Bad credentials | Check URL credentials or ES_API_KEY |
index_not_found | Index doesn't exist | List indices with _cat/indices |
mapper_parsing_exception | Wrong field type | Check mapping with _mapping |
search_phase_execution | Query syntax error | Validate JSON body |
| Connection refused | Host unreachable | Check ELASTICSEARCH_URL |
?pretty for human-readable JSON output_source to limit returned fields — reduces response sizesize: 0 for aggregations when you don't need documents.keyword suffix for exact match on text fields_cat APIs for quick overviews: _cat/indices, _cat/nodes, _cat/healthjq for JSON processing: | jq '.hits.hits[]._source'