Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Arvo-AI/aurora --skill elasticgit clone --depth 1 https://github.com/Arvo-AI/auroraWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/arvo-ai/aurora/elastic)<a href="https://agentmods.dev/skills/arvo-ai/aurora/elastic"><img src="https://agentmods.dev/badge/skills/arvo-ai/aurora/elastic/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/arvo-ai/aurora/elastic"><img src="https://agentmods.dev/badge/skills/arvo-ai/aurora/elastic.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00034 | $0.01442 |
| Opus 5.5 | $0.00014 | $0.00577 |
| Sonnet 5.5 | $0.00007 | $0.00288 |
| Haiku 4.5 | $0.00003 | $0.00144 |
Grade A, and why
elastic scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 88 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Elastic Cloud Integration
Overview
Elastic Cloud integration for querying logs and Kibana alerts during Root Cause Analysis. Elasticsearch is a REMOTE service -- do NOT search the local filesystem for Elastic data. Use ONLY the tools listed below. All tools are READ-ONLY: Aurora never writes to Elasticsearch or Kibana.
Works with Elastic Cloud Hosted, Elastic Cloud Serverless and self-managed clusters.
Instructions
Tool Usage (use in this order)
elastic_list_indices(pattern='logs-*')-- Discover data streams / indices. Call first to learn what data exists (e.g.logs-nginx.access-default,filebeat-*,.alerts-*).elastic_get_fields(index='logs-*', prefix='kubernetes.')-- Learn the field names before writing filters (ECS fields:log.level,service.name,host.name,kubernetes.pod.name,error.message,http.response.status_code).elastic_search_logs(query='log.level:error', index='logs-*', time_range='1h')-- Lucene search, newest first, compact documents.elastic_esql(query='FROM logs-* | WHERE log.level == "error" | STATS count() BY service.name')-- Aggregations, top-N, and timelines.elastic_get_alerts(status='active', hours=24)-- Kibana alert documents (what fired, when, why).
Lucene (query_string) cheat sheet for elastic_search_logs
- Errors:
log.level:error OR log.level:critical - One service:
service.name:"checkout" AND log.level:error - Text search:
message:"connection refused"ormessage:timeout* - Kubernetes:
kubernetes.namespace:"prod" AND kubernetes.pod.name:api-* - HTTP 5xx:
http.response.status_code:[500 TO 599] - Exclude noise:
NOT message:healthcheck - Absolute window:
start_time='2026-01-05T10:00:00Z',end_time='2026-01-05T10:30:00Z' - Use
fields=['@timestamp','message','host.name']to keep responses small.
ES|QL cheat sheet for elastic_esql
- Errors by service:
FROM logs-* | WHERE log.level == "error" | STATS count() BY service.name | SORT `count()` DESC - Errors by host:
FROM logs-* | WHERE log.level IN ("error","critical") | STATS errors = COUNT(*) BY host.name | SORT errors DESC - Timeline (5-min buckets):
FROM logs-* | WHERE log.level == "error" | STATS c = COUNT(*) BY bucket = BUCKET(@timestamp, 5 minutes) | SORT bucket - Top messages:
FROM logs-* | WHERE log.level == "error" | STATS c = COUNT(*) BY message | SORT c DESC | LIMIT 20 - Free-text:
FROM logs-* | WHERE MATCH(message, "connection refused") | KEEP @timestamp, service.name, message - The
time_rangeargument adds a pre-filter ontimestamp_field(default@timestamp) automatically; passtime_range='all'to disable it for indices without a date field.| LIMIT 100is appended if missing. - Both
elastic_search_logsandelastic_esqlaccepttimestamp_fieldfor indices that do not use@timestamp(check withelastic_get_fields); with the wrong field the window matches nothing and you get 0 hits, not an error.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 88 lines · 34 tokens per session scan A 9be4823d6741
elastic is a skill published in the GitHub repository Arvo-AI/aurora (434 stars, last pushed today), licensed Apache-2.0. It adds 34 tokens to every session and 1,442 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-16.
Other skills, from other repositories
deslop
Remove AI-generated artifacts from code. Three-phase certainty-graded cleanup. Use after any AI implementation session or before PR creation.
repair-github-ci
Fix failing GitHub CI / Actions checks via fixgithubprci and push to the existing PR head, or fix a branch's failing CI via a linked repair worktree.
investigating-incidents-with-runbooks
Investigate an incident with organization-owned runbook guidance, loaded by URL or exact alert identity. Multi-step; load before acting.
operating-github-ci-fixer
Use when the user asks OpenSRE to fix failing GitHub CI, GitHub Actions checks, failing pull request checks, a broken PR branch, or CI on a named branch such as main.
summarizing-sentry-issues
Summarise Sentry issues by theme and impact with optional uptime rollup. For overviews, morning digests, reliability questions.
dd-debugger
Live Debugger - inspect runtime argument/variable values in production by placing log probes on methods. Use when asked what values a function receives, what parameters look like at runtime, or to capture live data from running services without redeploying.