{"id":"c7083313-2820-4873-8dec-3e24db2e2ce7","entityType":"agent","slug":"clawhub-oomol-oo-elasticsearch","name":"Elasticsearch","canonicalUrl":"https://www.xpersona.co/agent/clawhub-oomol-oo-elasticsearch","canonicalPath":"/agent/clawhub-oomol-oo-elasticsearch","generatedAt":"2026-10-11T20:57:55.901Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T16:50:44.993Z","emptyReason":null},"description":"Elasticsearch (elastic.co). Use this skill for ANY Elasticsearch request — reading, creating, updating, and deleting data. Whenever a task involves Elasticsearch, use this skill instead of calling the API directly.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s1790xw8jww1c6hgm8aqy9q25187t1rg:oo-elasticsearch","sourceUrl":"https://clawhub.ai/oomol/oo-elasticsearch","homepage":"https://clawhub.ai/oomol/skills/oo-elasticsearch","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/oomol/oo-elasticsearch","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/oomol/skills/oo-elasticsearch","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Elasticsearch technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T16:50:44.993Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T16:50:44.993Z","emptyReason":null},"stars":null,"forks":null,"downloads":1024,"packageName":null,"latestVersion":"1.0.6","tractionLabel":"1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T16:50:44.981Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T16:50:44.993Z","lastCrawledAt":"2026-10-11T16:50:44.981Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T16:50:44.981Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.6","createdAt":"2026-09-20T03:09:42.791Z","changelog":"- Operates Elasticsearch through an OOMOL-connected account using the `oo` CLI, without handling raw credentials. - Supports core index and document workflows: create indices, inspect schemas, index/update documents, bulk write, search, count, and retrieve records. - Includes cluster and operations visibility via health checks, node info, shard listings, index stats, aliases, and task polling. - Provides guarded destructive actions for deleting documents, deleting indices, delete-by-query, alias updates, and document replacement. - Documents safety expectations for read, write, and destructive actions, including schema inspection before running connector calls. Source: `oomol-lab/skills@792ad44`","fileCount":3,"zipByteSize":4633},{"version":"1.0.5","createdAt":"2026-09-15T04:40:34.941Z","changelog":"- Operate Elasticsearch through the OOMOL-connected `oo` CLI without handling raw credentials. - Inspect live action schemas before submitting requests. - Search, count, retrieve, index, update, and bulk-write documents. - Manage indices, mappings, aliases, shards, cluster health, nodes, and statistics. - Safely handle destructive operations, reindexing, task monitoring, and first-time connection setup. Source: `oomol-lab/skills@75bac03`","fileCount":3,"zipByteSize":4771},{"version":"1.0.3","createdAt":"2026-08-11T08:04:43.466Z","changelog":"- Adds an OOMOL-backed Elasticsearch skill for running connector actions through the `oo` CLI without handling raw credentials. - Supports core read workflows including cluster health, nodes, index stats, schemas, aliases, shards, documents, counts, and searches. - Provides write actions for creating indices, indexing documents, updating mappings, updating aliases, reindexing, and bulk indexing. - Includes explicit safeguards for destructive operations such as document, query, and index deletion. - Documents first-time setup and recovery steps for missing CLI, auth, connection, scope, credential, and billing errors. Source: `oomol-lab/skills@46cfb3e`","fileCount":3,"zipByteSize":4596},{"version":"1.0.2","createdAt":"2026-06-09T10:06:12.234Z","changelog":"- Connects Codex to Elasticsearch through the OOMOL `oo` CLI with server-side credential injection. - Supports cluster reachability checks with `ping_cluster`. - Lists accessible indices and inspects index mappings, settings, aliases, and field statistics. - Searches indices with text queries, filters, pagination, and sorting. - Uses live connector schemas before execution so payloads match the current Elasticsearch action contract. Source: `oomol-lab/skills@146ef20`","fileCount":3,"zipByteSize":3246},{"version":"1.0.1","createdAt":"2026-06-05T05:11:28.862Z","changelog":"- Operates Elasticsearch through an OOMOL-connected account using the `oo` CLI, with credentials handled server-side. - Lists indices available to the connected Elasticsearch user. - Checks cluster reachability and returns health status. - Retrieves index mappings, settings, aliases, and field statistics. - Searches indices with text queries, filters, pagination, and sorting. Source: `oomol-lab/skills@281c392`","fileCount":7,"zipByteSize":5516},{"version":"1.0.0","createdAt":"2026-06-03T11:13:41.582Z","changelog":"- Provides an OOMOL-backed Elasticsearch skill for searching and reading data through the `elasticsearch` connector without handling raw credentials. - Supports cluster reachability checks and health status retrieval with `ping_cluster`. - Lists Elasticsearch indices visible to the connected user via `list_indices`. - Retrieves index mappings, settings, aliases, and field statistics with `get_index_schema`. - Searches indices using text queries, filters, pagination, and sorting through `query_index`. - Includes action-level references and schema-first `oo CLI` commands to keep payloads aligned with the live connector contract.","fileCount":7,"zipByteSize":5368}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s1790xw8jww1c6hgm8aqy9q25187t1rg:oo-elasticsearch","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s1790xw8jww1c6hgm8aqy9q25187t1rg:oo-elasticsearch` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/oomol/oo-elasticsearch before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-elasticsearch/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-elasticsearch/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-elasticsearch/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-elasticsearch/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-elasticsearch/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-elasticsearch/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T20:57:55.900Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-elasticsearch/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-elasticsearch/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-elasticsearch/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-oomol-oo-elasticsearch/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T16:50:44.993Z","emptyReason":null},"readme":"Skill: Elasticsearch\n\nOwner: oomol\n\nSummary: Elasticsearch (elastic.co). Use this skill for ANY Elasticsearch request — reading, creating, updating, and deleting data. Whenever a task involves Elasticsearch, use this skill instead of calling the API directly.\n\nTags: latest:1.0.6\n\nVersion history:\n\nv1.0.6 | 2026-09-20T03:09:42.791Z | user\n\n- Operates Elasticsearch through an OOMOL-connected account using the `oo` CLI, without handling raw credentials.\n- Supports core index and document workflows: create indices, inspect schemas, index/update documents, bulk write, search, count, and retrieve records.\n- Includes cluster and operations visibility via health checks, node info, shard listings, index stats, aliases, and task polling.\n- Provides guarded destructive actions for deleting documents, deleting indices, delete-by-query, alias updates, and document replacement.\n- Documents safety expectations for read, write, and destructive actions, including schema inspection before running connector calls.\n\nSource: `oomol-lab/skills@792ad44`\n\nv1.0.5 | 2026-09-15T04:40:34.941Z | user\n\n- Operate Elasticsearch through the OOMOL-connected `oo` CLI without handling raw credentials.\n- Inspect live action schemas before submitting requests.\n- Search, count, retrieve, index, update, and bulk-write documents.\n- Manage indices, mappings, aliases, shards, cluster health, nodes, and statistics.\n- Safely handle destructive operations, reindexing, task monitoring, and first-time connection setup.\n\nSource: `oomol-lab/skills@75bac03`\n\nv1.0.3 | 2026-08-11T08:04:43.466Z | user\n\n- Adds an OOMOL-backed Elasticsearch skill for running connector actions through the `oo` CLI without handling raw credentials.\n- Supports core read workflows including cluster health, nodes, index stats, schemas, aliases, shards, documents, counts, and searches.\n- Provides write actions for creating indices, indexing documents, updating mappings, updating aliases, reindexing, and bulk indexing.\n- Includes explicit safeguards for destructive operations such as document, query, and index deletion.\n- Documents first-time setup and recovery steps for missing CLI, auth, connection, scope, credential, and billing errors.\n\nSource: `oomol-lab/skills@46cfb3e`\n\nv1.0.2 | 2026-06-09T10:06:12.234Z | user\n\n- Connects Codex to Elasticsearch through the OOMOL `oo` CLI with server-side credential injection.\n- Supports cluster reachability checks with `ping_cluster`.\n- Lists accessible indices and inspects index mappings, settings, aliases, and field statistics.\n- Searches indices with text queries, filters, pagination, and sorting.\n- Uses live connector schemas before execution so payloads match the current Elasticsearch action contract.\n\nSource: `oomol-lab/skills@146ef20`\n\nv1.0.1 | 2026-06-05T05:11:28.862Z | user\n\n- Operates Elasticsearch through an OOMOL-connected account using the `oo` CLI, with credentials handled server-side.\n- Lists indices available to the connected Elasticsearch user.\n- Checks cluster reachability and returns health status.\n- Retrieves index mappings, settings, aliases, and field statistics.\n- Searches indices with text queries, filters, pagination, and sorting.\n\nSource: `oomol-lab/skills@281c392`\n\nv1.0.0 | 2026-06-03T11:13:41.582Z | user\n\n- Provides an OOMOL-backed Elasticsearch skill for searching and reading data through the `elasticsearch` connector without handling raw credentials.\n- Supports cluster reachability checks and health status retrieval with `ping_cluster`.\n- Lists Elasticsearch indices visible to the connected user via `list_indices`.\n- Retrieves index mappings, settings, aliases, and field statistics with `get_index_schema`.\n- Searches indices using text queries, filters, pagination, and sorting through `query_index`.\n- Includes action-level references and schema-first `oo CLI` commands to keep payloads aligned with the live connector contract.\n\nArchive index:\n\nArchive v1.0.6: 3 files, 4633 bytes\n\nFiles: skill-card.md (2178b), SKILL.md (7251b), _meta.json (135b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: oo-elasticsearch\ndescription: \"Elasticsearch (elastic.co). Use this skill for ANY Elasticsearch request — reading, creating, updating, and deleting data. Whenever a task involves Elasticsearch, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Elasticsearch\"\n  author: \"OOMOL\"\n  version: \"1.0.6\"\n  services: [\"elasticsearch\"]\n  icon: \"https://static.oomol.com/logo/third-party/Elasticsearch.svg\"\n---\n\n# Elasticsearch\n\nOperate **Elasticsearch** through your OOMOL-connected account. This skill calls the `elasticsearch` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Elasticsearch. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"elasticsearch\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"elasticsearch\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `bulk_index_documents` — Apply many Elasticsearch document writes in one bulk request. Each operation names its own index, and per-operation failures are reported in the response instead of failing the whole request. [destructive]\n- `count_documents` — Count Elasticsearch documents matching a query without returning any hits, which is cheaper than a search when only the size of a result set matters.\n- `create_index` — Create one Elasticsearch index with explicit mappings, settings, and aliases. [write]\n- `delete_by_query` — Delete Elasticsearch documents matching a query. This destroys data and cannot be undone, so a bounded maxDocs and at least one of query, termFilters, rangeFilters, or timeFilter are required, the index name must be exact, and _all is rejected. That makes it impossible to empty an entire index by accident. The action waits for the deletion to finish, and a large maxDocs can outlast that wait: a timeout does not cancel the deletion, which keeps running on the cluster with no task id to poll, so a retry after a timeout deletes a further batch. [destructive]\n- `delete_document` — Delete one Elasticsearch document by id. A missing document returns a not_found result instead of raising an error. [destructive]\n- `delete_index` — Permanently delete one or more Elasticsearch indices by exact name. This destroys data and cannot be undone, so wildcards, comma-separated lists, and _all are rejected, and expectedCount must equal the number of names supplied. [destructive]\n- `get_cluster_health` — Get detailed Elasticsearch cluster health including shard counts and an optional per-index breakdown.\n- `get_cluster_nodes` — List Elasticsearch cluster nodes with uptime, heap, disk, and role information. Node uptime is what makes the cumulative counters from get_index_stats interpretable.\n- `get_document` — Get one Elasticsearch document by id. A missing document returns found as false instead of raising an error.\n- `get_index_schema` — Get mappings, settings, aliases, and field statistics for one Elasticsearch index.\n- `get_index_stats` — Get document, store, search, get, and indexing statistics for Elasticsearch indices. Counters such as searchQueryTotal are cumulative since each node started rather than a time window, so compare them against the node uptime in counterWindow before concluding that a zero means the index is never queried.\n- `get_task` — Get the state and progress of one Elasticsearch task, such as a reindex started by the reindex action.\n- `index_document` — Index or replace one document in an Elasticsearch index. Supplying documentId replaces that document, while omitting it lets Elasticsearch generate an id. [destructive]\n- `list_aliases` — List Elasticsearch aliases and the indices behind them, optionally filtered by alias or index pattern.\n- `list_indices` — List Elasticsearch indices visible to the connected user.\n- `list_shards` — List Elasticsearch shard placement, state, and size, optionally limited to an index pattern or a shard state.\n- `ping_cluster` — Check whether the Elasticsearch cluster is reachable and return its health status.\n- `query_index` — Search an Elasticsearch index with text queries, filters, pagination, sorting, and aggregations.\n- `reindex` — Start an Elasticsearch reindex from one index to another and return a task id to poll with get_task. The copy runs in the background, so this action returns before the data has moved. [write]\n- `update_aliases` — Atomically add or remove Elasticsearch alias assignments in a single request, which is how an alias is switched between indices without downtime. This action cannot delete an index; use delete_index for that. [destructive]\n- `update_index_mappings` — Add or update field mappings on an existing Elasticsearch index. Existing field types cannot be changed in place, so incompatible changes require a new index and a reindex. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Elasticsearch state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Elasticsearch is not connected, or the connection expired or lacks a scope. Connect once (auth type: API key, custom credential) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=elasticsearch\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Elasticsearch homepage: https://www.elastic.co/elasticsearch\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn7btdcy6ktfj8aw5gc3yv9ssx87zr17\",\n  \"slug\": \"oo-elasticsearch\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1789873782791\n}\n\nFile v1.0.6:skill-card.md\n\n## Description:\n\nElasticsearch (elastic.co). Use this skill for ANY Elasticsearch request - reading, creating, updating, and deleting data.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and operators use this skill to inspect Elasticsearch schemas and run index, document, search, cluster-health, alias, shard, and task actions through an OOMOL-connected Elasticsearch account.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Write and destructive Elasticsearch actions can change, overwrite, or permanently delete data.\n\nMitigation: Require explicit user approval for write or destructive actions, including confirmation of the exact target and payload before execution.\n\nRisk: Setup commands install or invoke the OOMOL oo CLI before accessing the connected Elasticsearch account.\n\nMitigation: Review the CLI installer source or use official manual installation guidance before running setup commands.\n\nRisk: Connector calls can fail or behave unexpectedly if the live action schema is not checked first.\n\nMitigation: Inspect the action schema with oo connector schema before constructing and running each connector payload.\n\n## Reference(s):\n\n- [Elasticsearch homepage](https://www.elastic.co/elasticsearch)\n- [OOMOL oo CLI](https://github.com/oomol-lab/oo-cli)\n- [ClawHub skill page](https://clawhub.ai/oomol/skills/oo-elasticsearch)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, Configuration instructions, Guidance]\n\n**Output Format:** [Markdown with inline bash and PowerShell code blocks]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Connector responses are JSON objects returned by the oo CLI when actions are executed.]\n\n## Skill Version(s):\n\n1.0.6 (source: server release metadata and skill frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.5: 3 files, 4771 bytes\n\nFiles: skill-card.md (2537b), SKILL.md (7209b), _meta.json (135b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: oo-elasticsearch\ndescription: \"Elasticsearch (elastic.co). Use this skill for ANY Elasticsearch request — reading, creating, updating, and deleting data. Whenever a task involves Elasticsearch, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Elasticsearch\"\n  author: \"OOMOL\"\n  version: \"1.0.5\"\n  services: [\"elasticsearch\"]\n  icon: \"https://static.oomol.com/logo/third-party/Elasticsearch.svg\"\n---\n\n# Elasticsearch\n\nOperate **Elasticsearch** through your OOMOL-connected account. This skill calls the `elasticsearch` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Elasticsearch. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"elasticsearch\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"elasticsearch\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `bulk_index_documents` — Apply many Elasticsearch document writes in one bulk request. Each operation names its own index, and per-operation failures are reported in the response instead of failing the whole request.\n- `count_documents` — Count Elasticsearch documents matching a query without returning any hits, which is cheaper than a search when only the size of a result set matters.\n- `create_index` — Create one Elasticsearch index with explicit mappings, settings, and aliases. [write]\n- `delete_by_query` — Delete Elasticsearch documents matching a query. This destroys data and cannot be undone, so a bounded maxDocs and at least one of query, termFilters, rangeFilters, or timeFilter are required, the index name must be exact, and _all is rejected. That makes it impossible to empty an entire index by accident. The action waits for the deletion to finish, and a large maxDocs can outlast that wait: a timeout does not cancel the deletion, which keeps running on the cluster with no task id to poll, so a retry after a timeout deletes a further batch. [destructive]\n- `delete_document` — Delete one Elasticsearch document by id. A missing document returns a not_found result instead of raising an error. [destructive]\n- `delete_index` — Permanently delete one or more Elasticsearch indices by exact name. This destroys data and cannot be undone, so wildcards, comma-separated lists, and _all are rejected, and expectedCount must equal the number of names supplied. [destructive]\n- `get_cluster_health` — Get detailed Elasticsearch cluster health including shard counts and an optional per-index breakdown.\n- `get_cluster_nodes` — List Elasticsearch cluster nodes with uptime, heap, disk, and role information. Node uptime is what makes the cumulative counters from get_index_stats interpretable.\n- `get_document` — Get one Elasticsearch document by id. A missing document returns found as false instead of raising an error.\n- `get_index_schema` — Get mappings, settings, aliases, and field statistics for one Elasticsearch index.\n- `get_index_stats` — Get document, store, search, get, and indexing statistics for Elasticsearch indices. Counters such as searchQueryTotal are cumulative since each node started rather than a time window, so compare them against the node uptime in counterWindow before concluding that a zero means the index is never queried.\n- `get_task` — Get the state and progress of one Elasticsearch task, such as a reindex started by the reindex action.\n- `index_document` — Index or replace one document in an Elasticsearch index. Supplying documentId replaces that document, while omitting it lets Elasticsearch generate an id.\n- `list_aliases` — List Elasticsearch aliases and the indices behind them, optionally filtered by alias or index pattern.\n- `list_indices` — List Elasticsearch indices visible to the connected user.\n- `list_shards` — List Elasticsearch shard placement, state, and size, optionally limited to an index pattern or a shard state.\n- `ping_cluster` — Check whether the Elasticsearch cluster is reachable and return its health status.\n- `query_index` — Search an Elasticsearch index with text queries, filters, pagination, sorting, and aggregations.\n- `reindex` — Start an Elasticsearch reindex from one index to another and return a task id to poll with get_task. The copy runs in the background, so this action returns before the data has moved.\n- `update_aliases` — Atomically add or remove Elasticsearch alias assignments in a single request, which is how an alias is switched between indices without downtime. This action cannot delete an index; use delete_index for that. [write]\n- `update_index_mappings` — Add or update field mappings on an existing Elasticsearch index. Existing field types cannot be changed in place, so incompatible changes require a new index and a reindex. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Elasticsearch state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Elasticsearch is not connected, or the connection expired or lacks a scope. Connect once (auth type: API key, custom credential) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=elasticsearch\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Elasticsearch homepage: https://www.elastic.co/elasticsearch\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn7btdcy6ktfj8aw5gc3yv9ssx87zr17\",\n  \"slug\": \"oo-elasticsearch\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1789447234941\n}\n\nFile v1.0.5:skill-card.md\n\n## Description:\n\nElasticsearch (elastic.co) connector skill for Elasticsearch requests that read, create, update, or delete data through the OOMOL-connected Elasticsearch connector.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, engineers, and operators use this skill to inspect Elasticsearch schemas and run search, count, document, index, alias, shard, task, node, and cluster actions through the OOMOL `oo` CLI. It supports read workflows, controlled write workflows, and explicitly confirmed destructive operations.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: First-time setup documentation recommends running remote installer scripts directly in a shell.\n\nMitigation: Prefer an official signed or checksummed installation path, review installer contents before execution, and avoid elevated privileges unless required.\n\nRisk: The skill can issue write and destructive Elasticsearch actions that alter or remove data.\n\nMitigation: Require explicit user confirmation of the exact target, payload, and expected effect before write or destructive actions.\n\nRisk: Connector operation depends on OOMOL-managed authentication for the user's Elasticsearch account.\n\nMitigation: Install only when the user accepts OOMOL's connector managing account access and verify connection scope before use.\n\n## Reference(s):\n\n- [Elasticsearch homepage](https://www.elastic.co/elasticsearch)\n- [OOMOL oo CLI](https://github.com/oomol-lab/oo-cli)\n- [OOMOL oo CLI install guide](https://cli.oomol.com/install-guide.md)\n- [ClawHub skill listing](https://clawhub.ai/oomol/skills/oo-elasticsearch)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown with inline shell commands and JSON payload examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Agent responses may include Elasticsearch action names, schema-inspection commands, connector run commands, JSON request payloads, and safety confirmations for write or destructive actions.]\n\n## Skill Version(s):\n\n1.0.5 (source: server release evidence and skill frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.3: 3 files, 4596 bytes\n\nFiles: skill-card.md (2041b), SKILL.md (7209b), _meta.json (135b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: oo-elasticsearch\ndescription: \"Elasticsearch (elastic.co). Use this skill for ANY Elasticsearch request — reading, creating, updating, and deleting data. Whenever a task involves Elasticsearch, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Elasticsearch\"\n  author: \"OOMOL\"\n  version: \"1.0.3\"\n  services: [\"elasticsearch\"]\n  icon: \"https://static.oomol.com/logo/third-party/Elasticsearch.svg\"\n---\n\n# Elasticsearch\n\nOperate **Elasticsearch** through your OOMOL-connected account. This skill calls the `elasticsearch` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Elasticsearch. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"elasticsearch\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"elasticsearch\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `bulk_index_documents` — Apply many Elasticsearch document writes in one bulk request. Each operation names its own index, and per-operation failures are reported in the response instead of failing the whole request.\n- `count_documents` — Count Elasticsearch documents matching a query without returning any hits, which is cheaper than a search when only the size of a result set matters.\n- `create_index` — Create one Elasticsearch index with explicit mappings, settings, and aliases. [write]\n- `delete_by_query` — Delete Elasticsearch documents matching a query. This destroys data and cannot be undone, so a bounded maxDocs and at least one of query, termFilters, rangeFilters, or timeFilter are required, the index name must be exact, and _all is rejected. That makes it impossible to empty an entire index by accident. The action waits for the deletion to finish, and a large maxDocs can outlast that wait: a timeout does not cancel the deletion, which keeps running on the cluster with no task id to poll, so a retry after a timeout deletes a further batch. [destructive]\n- `delete_document` — Delete one Elasticsearch document by id. A missing document returns a not_found result instead of raising an error. [destructive]\n- `delete_index` — Permanently delete one or more Elasticsearch indices by exact name. This destroys data and cannot be undone, so wildcards, comma-separated lists, and _all are rejected, and expectedCount must equal the number of names supplied. [destructive]\n- `get_cluster_health` — Get detailed Elasticsearch cluster health including shard counts and an optional per-index breakdown.\n- `get_cluster_nodes` — List Elasticsearch cluster nodes with uptime, heap, disk, and role information. Node uptime is what makes the cumulative counters from get_index_stats interpretable.\n- `get_document` — Get one Elasticsearch document by id. A missing document returns found as false instead of raising an error.\n- `get_index_schema` — Get mappings, settings, aliases, and field statistics for one Elasticsearch index.\n- `get_index_stats` — Get document, store, search, get, and indexing statistics for Elasticsearch indices. Counters such as searchQueryTotal are cumulative since each node started rather than a time window, so compare them against the node uptime in counterWindow before concluding that a zero means the index is never queried.\n- `get_task` — Get the state and progress of one Elasticsearch task, such as a reindex started by the reindex action.\n- `index_document` — Index or replace one document in an Elasticsearch index. Supplying documentId replaces that document, while omitting it lets Elasticsearch generate an id.\n- `list_aliases` — List Elasticsearch aliases and the indices behind them, optionally filtered by alias or index pattern.\n- `list_indices` — List Elasticsearch indices visible to the connected user.\n- `list_shards` — List Elasticsearch shard placement, state, and size, optionally limited to an index pattern or a shard state.\n- `ping_cluster` — Check whether the Elasticsearch cluster is reachable and return its health status.\n- `query_index` — Search an Elasticsearch index with text queries, filters, pagination, sorting, and aggregations.\n- `reindex` — Start an Elasticsearch reindex from one index to another and return a task id to poll with get_task. The copy runs in the background, so this action returns before the data has moved.\n- `update_aliases` — Atomically add or remove Elasticsearch alias assignments in a single request, which is how an alias is switched between indices without downtime. This action cannot delete an index; use delete_index for that. [write]\n- `update_index_mappings` — Add or update field mappings on an existing Elasticsearch index. Existing field types cannot be changed in place, so incompatible changes require a new index and a reindex. [write]\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Elasticsearch state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Elasticsearch is not connected, or the connection expired or lacks a scope. Connect once (auth type: API key, custom credential) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=elasticsearch\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Elasticsearch homepage: https://www.elastic.co/elasticsearch\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn7btdcy6ktfj8aw5gc3yv9ssx87zr17\",\n  \"slug\": \"oo-elasticsearch\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1786435483466\n}\n\nFile v1.0.3:skill-card.md\n\n## Description:\n\nOperate Elasticsearch through OOMOL's oo CLI for read, write, search, index, and cluster-management workflows without handling raw credentials.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and operators use this skill to inspect and manage Elasticsearch clusters, indices, documents, mappings, aliases, shards, and reindexing workflows through an OOMOL-connected account. It supports read workflows as well as confirmed write and destructive actions.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Approved write and destructive actions can change or remove Elasticsearch data.\n\nMitigation: Review the exact payload and target before approving write or delete actions, and scope the connected Elasticsearch account to only the data the agent should access.\n\nRisk: Setup commands such as CLI installation and login can affect the local environment if run unnecessarily.\n\nMitigation: Treat CLI install and login as one-time setup steps, and run them only after an auth, connection, or missing-CLI failure.\n\n## Reference(s):\n\n- [Elasticsearch homepage](https://www.elastic.co/elasticsearch)\n- [oo CLI](https://github.com/oomol-lab/oo-cli)\n- [ClawHub skill page](https://clawhub.ai/oomol/skills/oo-elasticsearch)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, JSON, Configuration, Guidance]\n\n**Output Format:** [Markdown with inline shell commands and JSON connector responses]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Uses the live connector schema before constructing action payloads.]\n\n## Skill Version(s):\n\n1.0.3 (source: release evidence and frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.2: 3 files, 3246 bytes\n\nFiles: skill-card.md (2247b), SKILL.md (3686b), _meta.json (135b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: oo-elasticsearch\ndescription: \"Elasticsearch (elastic.co). Use this skill for ANY Elasticsearch request — searching and reading data. Whenever a task involves Elasticsearch, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Elasticsearch\"\n  author: \"OOMOL\"\n  version: \"1.0.2\"\n  services: [\"elasticsearch\"]\n  icon: \"https://static.oomol.com/logo/third-party/Elasticsearch.svg\"\n---\n\n# Elasticsearch\n\nOperate **Elasticsearch** through your OOMOL-connected account. This skill calls the `elasticsearch` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Elasticsearch. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"elasticsearch\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"elasticsearch\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `get_index_schema` — Get mappings, settings, aliases, and field statistics for one Elasticsearch index.\n- `list_indices` — List Elasticsearch indices visible to the connected user.\n- `ping_cluster` — Check whether the Elasticsearch cluster is reachable and return its health status.\n- `query_index` — Search an Elasticsearch index with text queries, filters, pagination, and sorting.\n\n## Safety\n\n- Untagged actions are reads (get / list / search) — safe to run directly.\n- **Actions tagged `[write]` change Elasticsearch state — confirm the exact payload and effect with the user before running.**\n- **Actions tagged `[destructive]` remove or overwrite data — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Elasticsearch is not connected, or the connection expired or lacks a scope. Connect once (auth type: API key, custom credential) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=elasticsearch\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Elasticsearch homepage: https://www.elastic.co/elasticsearch\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7btdcy6ktfj8aw5gc3yv9ssx87zr17\",\n  \"slug\": \"oo-elasticsearch\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1780999572234\n}\n\nFile v1.0.2:skill-card.md\n\n## Description: <br>\nElasticsearch (elastic.co). Use this skill for ANY Elasticsearch request: searching and reading data through the OOMOL Elasticsearch connector instead of calling the API directly. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[oomol](https://clawhub.ai/user/oomol) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and operators use this skill to inspect Elasticsearch connectivity, list accessible indices, inspect index schemas, and search index data from an OOMOL-connected account. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The first-time setup path documents running a remote installer directly in the shell. <br>\nMitigation: Review OOMOL's official install guide or installer contents before running the installer. <br>\nRisk: The connector can read or search Elasticsearch data visible to the connected account. <br>\nMitigation: Connect only Elasticsearch credentials and scopes appropriate for the data the agent is allowed to inspect. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Elasticsearch Skill](https://clawhub.ai/oomol/oo-elasticsearch) <br>\n- [OOMOL Publisher Profile](https://clawhub.ai/user/oomol) <br>\n- [Elasticsearch Homepage](https://www.elastic.co/elasticsearch) <br>\n- [OOMOL oo CLI](https://github.com/oomol-lab/oo-cli) <br>\n- [OOMOL CLI Install Guide](https://cli.oomol.com/install-guide.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Shell commands, JSON, Guidance] <br>\n**Output Format:** [Markdown with inline shell commands and JSON connector responses] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Outputs depend on the connected Elasticsearch account and may include index metadata, field statistics, health status, and search results visible to that account.] <br>\n\n## Skill Version(s): <br>\n1.0.2 (source: frontmatter and server release metadata) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.1: 7 files, 5516 bytes\n\nFiles: actions/get_index_schema.md (694b), actions/list_indices.md (649b), actions/ping_cluster.md (674b), actions/query_index.md (669b), skill-card.md (2728b), SKILL.md (3881b), _meta.json (135b)\n\nFile v1.0.1:SKILL.md\n\n---\nname: oo-elasticsearch\ndescription: \"Elasticsearch (elastic.co). Use this skill for ANY Elasticsearch request — searching and reading data. Whenever a task involves Elasticsearch, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Elasticsearch\"\n  author: \"OOMOL\"\n  version: \"1.0.1\"\n  service: \"elasticsearch\"\n  categories: \"Data & Analytics, Developer Tools\"\n  homepage: \"https://www.elastic.co/elasticsearch\"\n  icon: \"https://static.oomol.com/logo/third-party/Elasticsearch.svg\"\n---\n\n# Elasticsearch\n\nOperate **Elasticsearch** through your OOMOL-connected account. This skill calls the `elasticsearch` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\nCategory: Data & Analytics, Developer Tools. Exposes 4 action(s).\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Elasticsearch. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"elasticsearch\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"elasticsearch\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action below links to a reference file with its purpose and exact commands. Read the linked file, then fetch the live schema with `oo connector schema` before constructing `--data`.\n\n## Available actions\n\n- [`get_index_schema`](actions/get_index_schema.md) — Get mappings, settings, aliases, and field statistics for one Elasticsearch index.\n- [`list_indices`](actions/list_indices.md) — List Elasticsearch indices visible to the connected user.\n- [`ping_cluster`](actions/ping_cluster.md) — Check whether the Elasticsearch cluster is reachable and return its health status.\n- [`query_index`](actions/query_index.md) — Search an Elasticsearch index with text queries, filters, pagination, and sorting.\n\n## Safety\n\n- Read actions (get / list / search) are safe to run directly.\n- **Create, update, send, or post actions change Elasticsearch state — confirm the exact payload and effect with the user before running.**\n- **Delete or remove actions are destructive — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Elasticsearch is not connected, or the connection expired or lacks a scope. Connect once (auth type: API key, custom credential) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=elasticsearch\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Elasticsearch homepage: https://www.elastic.co/elasticsearch\n\nFile v1.0.1:_meta.json\n\n{\n  \"ownerId\": \"kn7btdcy6ktfj8aw5gc3yv9ssx87zr17\",\n  \"slug\": \"oo-elasticsearch\",\n  \"version\": \"1.0.1\",\n  \"publishedAt\": 1780636288862\n}\n\nFile v1.0.1:actions/get_index_schema.md\n\n# Elasticsearch · `get_index_schema`\n\nGet mappings, settings, aliases, and field statistics for one Elasticsearch index.\n\n- **Service**: `elasticsearch`\n- **Action**: `get_index_schema`\n- **Action id**: `elasticsearch.get_index_schema`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"elasticsearch\" --action \"get_index_schema\"\n```\n\n## Run\n\n```bash\noo connector run \"elasticsearch\" --action \"get_index_schema\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.1:actions/list_indices.md\n\n# Elasticsearch · `list_indices`\n\nList Elasticsearch indices visible to the connected user.\n\n- **Service**: `elasticsearch`\n- **Action**: `list_indices`\n- **Action id**: `elasticsearch.list_indices`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"elasticsearch\" --action \"list_indices\"\n```\n\n## Run\n\n```bash\noo connector run \"elasticsearch\" --action \"list_indices\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.1:actions/ping_cluster.md\n\n# Elasticsearch · `ping_cluster`\n\nCheck whether the Elasticsearch cluster is reachable and return its health status.\n\n- **Service**: `elasticsearch`\n- **Action**: `ping_cluster`\n- **Action id**: `elasticsearch.ping_cluster`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"elasticsearch\" --action \"ping_cluster\"\n```\n\n## Run\n\n```bash\noo connector run \"elasticsearch\" --action \"ping_cluster\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.1:actions/query_index.md\n\n# Elasticsearch · `query_index`\n\nSearch an Elasticsearch index with text queries, filters, pagination, and sorting.\n\n- **Service**: `elasticsearch`\n- **Action**: `query_index`\n- **Action id**: `elasticsearch.query_index`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"elasticsearch\" --action \"query_index\"\n```\n\n## Run\n\n```bash\noo connector run \"elasticsearch\" --action \"query_index\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.1:skill-card.md\n\n## Description: <br>\nElasticsearch (elastic.co). Use this skill for Elasticsearch requests that search, list, inspect, or check reachable Elasticsearch data through an OOMOL-connected account. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[oomol](https://clawhub.ai/user/oomol) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and data teams use this skill to let an agent inspect Elasticsearch connectivity, list accessible indices, retrieve index schema details, and run searches through the OOMOL connector. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can read and search Elasticsearch data visible to the connected OOMOL account. <br>\nMitigation: Install only for intended Elasticsearch access and connect credentials with the least privileges needed for the expected queries. <br>\nRisk: First-time setup may require installing the oo CLI and authenticating an OOMOL account. <br>\nMitigation: Approve CLI installation and login deliberately, verify the OOMOL installer source, and run setup only after an auth or connection failure. <br>\nRisk: Broad searches or incorrect payloads may return more Elasticsearch data than intended. <br>\nMitigation: Inspect the live connector schema before each action payload and use scoped indices, filters, pagination, and sorting where appropriate. <br>\n\n\n## Reference(s): <br>\n- [Elasticsearch homepage](https://www.elastic.co/elasticsearch) <br>\n- [oo CLI](https://github.com/oomol-lab/oo-cli) <br>\n- [OOMOL CLI install guide](https://cli.oomol.com/install-guide.md) <br>\n- [ClawHub skill page](https://clawhub.ai/oomol/oo-elasticsearch) <br>\n- [get_index_schema action reference](actions/get_index_schema.md) <br>\n- [list_indices action reference](actions/list_indices.md) <br>\n- [ping_cluster action reference](actions/ping_cluster.md) <br>\n- [query_index action reference](actions/query_index.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Shell commands, Configuration guidance, JSON, Markdown] <br>\n**Output Format:** [Markdown guidance with oo CLI commands and JSON connector responses] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [The skill instructs the agent to fetch live action schemas before constructing JSON payloads.] <br>\n\n## Skill Version(s): <br>\n1.0.1 (source: artifact metadata and server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.0: 7 files, 5368 bytes\n\nFiles: actions/get_index_schema.md (694b), actions/list_indices.md (649b), actions/ping_cluster.md (674b), actions/query_index.md (669b), skill-card.md (2299b), SKILL.md (3872b), _meta.json (135b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: oo-elasticsearch\ndescription: \"Elasticsearch (elastic.co). Use this skill for ANY Elasticsearch request — searching and reading data. Whenever a task involves Elasticsearch, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Elasticsearch\"\n  author: \"OOMOL\"\n  version: \"1.0.0\"\n  service: \"elasticsearch\"\n  categories: \"Data & Analytics, Developer Tools\"\n  homepage: \"https://www.elastic.co/elasticsearch\"\n  icon: \"https://static.oomol.com/logo/third-party/Elasticsearch.svg\"\n---\n\n# Elasticsearch\n\nOperate **Elasticsearch** through your OOMOL-connected account. This skill calls the `elasticsearch` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\nCategory: Data & Analytics, Developer Tools. Exposes 4 action(s).\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Elasticsearch. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"elasticsearch\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"elasticsearch\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action below links to a reference file with its purpose and exact commands. Read the linked file, then fetch the live schema with `oo connector schema` before constructing `--data`.\n\n## Available actions\n\n- [`get_index_schema`](actions/get_index_schema.md) — Get mappings, settings, aliases, and field statistics for one Elasticsearch index.\n- [`list_indices`](actions/list_indices.md) — List Elasticsearch indices visible to the connected user.\n- [`ping_cluster`](actions/ping_cluster.md) — Check whether the Elasticsearch cluster is reachable and return its health status.\n- [`query_index`](actions/query_index.md) — Search an Elasticsearch index with text queries, filters, pagination, and sorting.\n\n## Safety\n\n- Read actions (get / list / search) are safe to run directly.\n- **Create, update, send, or post actions change Elasticsearch state — confirm the exact payload and effect with the user before running.**\n- **Delete or remove actions are destructive — always confirm the target and get explicit approval first.**\n\n## First-time setup\n\nThese are **one-time** steps — do not repeat them on every call. Run a step only when a command fails for the matching reason.\n\n- **`oo: command not found`** — install the oo CLI (other platforms: <https://cli.oomol.com/install-guide.md>):\n\n  ```bash\n  curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux\n  ```\n\n  ```powershell\n  irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell\n  ```\n\n- **Not signed in / authentication error** — sign in to your OOMOL account once:\n\n  ```bash\n  oo auth login\n  ```\n\n- **`scope_missing` / `credential_expired` / `app_not_ready` / `app_not_found`** — Elasticsearch is not connected, or the connection expired or lacks a scope. Connect once (auth type: custom credential) at:\n\n  ```text\n  https://console.oomol.com/app-connections?provider=elasticsearch\n  ```\n\n- **HTTP 402 / `OOMOL_INSUFFICIENT_CREDIT`** — billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.\n\n## Resources\n\n- Elasticsearch homepage: https://www.elastic.co/elasticsearch\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7btdcy6ktfj8aw5gc3yv9ssx87zr17\",\n  \"slug\": \"oo-elasticsearch\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1780485221582\n}\n\nFile v1.0.0:actions/get_index_schema.md\n\n# Elasticsearch · `get_index_schema`\n\nGet mappings, settings, aliases, and field statistics for one Elasticsearch index.\n\n- **Service**: `elasticsearch`\n- **Action**: `get_index_schema`\n- **Action id**: `elasticsearch.get_index_schema`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"elasticsearch\" --action \"get_index_schema\"\n```\n\n## Run\n\n```bash\noo connector run \"elasticsearch\" --action \"get_index_schema\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/list_indices.md\n\n# Elasticsearch · `list_indices`\n\nList Elasticsearch indices visible to the connected user.\n\n- **Service**: `elasticsearch`\n- **Action**: `list_indices`\n- **Action id**: `elasticsearch.list_indices`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"elasticsearch\" --action \"list_indices\"\n```\n\n## Run\n\n```bash\noo connector run \"elasticsearch\" --action \"list_indices\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/ping_cluster.md\n\n# Elasticsearch · `ping_cluster`\n\nCheck whether the Elasticsearch cluster is reachable and return its health status.\n\n- **Service**: `elasticsearch`\n- **Action**: `ping_cluster`\n- **Action id**: `elasticsearch.ping_cluster`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"elasticsearch\" --action \"ping_cluster\"\n```\n\n## Run\n\n```bash\noo connector run \"elasticsearch\" --action \"ping_cluster\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:actions/query_index.md\n\n# Elasticsearch · `query_index`\n\nSearch an Elasticsearch index with text queries, filters, pagination, and sorting.\n\n- **Service**: `elasticsearch`\n- **Action**: `query_index`\n- **Action id**: `elasticsearch.query_index`\n\n## Inspect the schema\n\nAlways fetch the authoritative input/output schema before building a payload — fields and defaults can change upstream:\n\n```bash\noo connector schema \"elasticsearch\" --action \"query_index\"\n```\n\n## Run\n\n```bash\noo connector run \"elasticsearch\" --action \"query_index\" --data '{}' --json\n```\n\nReplace `{}` with a JSON object that matches the input schema. The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`.\n\nFile v1.0.0:skill-card.md\n\n## Description: <br>\nElasticsearch helps agents search and read data from Elasticsearch through OOMOL's oo CLI connector. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[oomol](https://clawhub.ai/user/oomol) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and operators use this skill to check Elasticsearch cluster reachability, list visible indices, inspect index schemas, and query index data from an OOMOL-connected Elasticsearch account. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill can expose Elasticsearch indices and documents available to the connected account. <br>\nMitigation: Use least-privilege Elasticsearch credentials and connect only accounts whose readable data is appropriate for the agent task. <br>\nRisk: Use depends on the OOMOL oo CLI and an OOMOL-connected Elasticsearch account. <br>\nMitigation: Install the oo CLI from a trusted source, sign in intentionally, and use the first-time setup flow only after an auth or connection error. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/oomol/oo-elasticsearch) <br>\n- [Elasticsearch homepage](https://www.elastic.co/elasticsearch) <br>\n- [oo CLI](https://github.com/oomol-lab/oo-cli) <br>\n- [get_index_schema action](actions/get_index_schema.md) <br>\n- [list_indices action](actions/list_indices.md) <br>\n- [ping_cluster action](actions/ping_cluster.md) <br>\n- [query_index action](actions/query_index.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, Shell commands, Configuration, Guidance] <br>\n**Output Format:** [Markdown with inline shell commands and JSON payloads] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Uses live connector schemas before constructing action payloads; connector responses are JSON objects with data and meta.executionId.] <br>\n\n## Skill Version(s): <br>\n1.0.0 (source: frontmatter and release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>","readmeExcerpt":"Skill: Elasticsearch Owner: oomol Summary: Elasticsearch (elastic.co). Use this skill for ANY Elasticsearch request — reading, creating, updating, and deleting data. Whenever a task involves Elasticsearch, use this skill instead of calling the API directly. Tags: latest:1.0.6 Version history: v1.0.6 | 2026-09-20T03:09:42.791Z | user - Operates Elasticsearch through an OOMOL-connected account using the oo CLI, without","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"oo connector schema \"elasticsearch\" --action \"<action_name>\""},{"language":"bash","snippet":"oo connector run \"elasticsearch\" --action \"<action_name>\" --data '<json>' --json"},{"language":"bash","snippet":"curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux"},{"language":"bash","snippet":"curl -fsSL https://cli.oomol.com/install.sh | bash    # macOS / Linux"},{"language":"powershell","snippet":"irm https://cli.oomol.com/install.ps1 | iex           # Windows PowerShell"},{"language":"bash","snippet":"oo auth login"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: oo-elasticsearch\ndescription: \"Elasticsearch (elastic.co). Use this skill for ANY Elasticsearch request — reading, creating, updating, and deleting data. Whenever a task involves Elasticsearch, use this skill instead of calling the API directly.\"\nallowed-tools: [Bash(oo *)]\nmetadata:\n  title: \"Elasticsearch\"\n  author: \"OOMOL\"\n  version: \"1.0.6\"\n  services: [\"elasticsearch\"]\n  icon: \"https://static.oomol.com/logo/third-party/Elasticsearch.svg\"\n---\n\n# Elasticsearch\n\nOperate **Elasticsearch** through your OOMOL-connected account. This skill calls the `elasticsearch` connector with the [oo CLI](https://github.com/oomol-lab/oo-cli); OOMOL injects credentials server-side, so you never handle raw tokens.\n\n## Running an action\n\nAssume the user has already installed the oo CLI, signed in, and connected Elasticsearch. **Do not run `oo auth login` or open the connection URL proactively — just run the action.** Fall back to [First-time setup](#first-time-setup) only when a command actually fails with an auth or connection error.\n\n**1. Inspect the contract** to get the authoritative input/output schema before building a payload:\n\n```bash\noo connector schema \"elasticsearch\" --action \"<action_name>\"\n```\n\n**2. Run the action** with a JSON payload that matches the input schema:\n\n```bash\noo connector run \"elasticsearch\" --action \"<action_name>\" --data '<json>' --json\n```\n\n- `--data` takes a JSON object string or `@path/to/file.json`; omit it to send `{}`.\n- The response is `{ \"data\": ..., \"meta\": { \"executionId\": \"...\" } }`; the execution id lives under `meta.executionId`.\n\nEach action is listed below with a one-line description; actions that change state carry a `[write]` or `[destructive]` tag. Before constructing `--data`, fetch the action's live schema with `oo connector schema` to get its authoritative input fields.\n\n## Available actions\n\n- `bulk_index_documents` — Apply many Elasticsearch document writes in one bulk request. Each operation names its own index, and per-operation failures are reported in the response instead of failing the whole request. [destructive]\n- `count_documents` — Count Elasticsearch documents matching a query without returning any hits, which is cheaper than a search when only the size of a result set matters.\n- `create_index` — Create one Elasticsearch index with explicit mappings, settings, and aliases. [write]\n- `delete_by_query` — Delete Elasticsearch documents matching a query. This destroys data and cannot be undone, so a bounded maxDocs and at least one of query, termFilters, rangeFilters, or timeFilter are required, the index name must be exact, and _all is rejected. That makes it impossible to empty an entire index by accident. The action waits for the deletion to finish, and a large maxDocs can outlast that wait: a timeout does not cancel the deletion, which keeps running on the cluster with no task id to poll, so a retry after a timeout deletes a further batch. [destructive]\n- `delete_document` — Delete one Elast"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7btdcy6ktfj8aw5gc3yv9ssx87zr17\",\n  \"slug\": \"oo-elasticsearch\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1789873782791\n}"},{"path":"skill-card.md","content":"## Description:\n\nElasticsearch (elastic.co). Use this skill for ANY Elasticsearch request - reading, creating, updating, and deleting data.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[oomol](https://clawhub.ai/user/oomol)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and operators use this skill to inspect Elasticsearch schemas and run index, document, search, cluster-health, alias, shard, and task actions through an OOMOL-connected Elasticsearch account.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Write and destructive Elasticsearch actions can change, overwrite, or permanently delete data.\n\nMitigation: Require explicit user approval for write or destructive actions, including confirmation of the exact target and payload before execution.\n\nRisk: Setup commands install or invoke the OOMOL oo CLI before accessing the connected Elasticsearch account.\n\nMitigation: Review the CLI installer source or use official manual installation guidance before running setup commands.\n\nRisk: Connector calls can fail or behave unexpectedly if the live action schema is not checked first.\n\nMitigation: Inspect the action schema with oo connector schema before constructing and running each connector payload.\n\n## Reference(s):\n\n- [Elasticsearch homepage](https://www.elastic.co/elasticsearch)\n- [OOMOL oo CLI](https://github.com/oomol-lab/oo-cli)\n- [ClawHub skill page](https://clawhub.ai/oomol/skills/oo-elasticsearch)\n\n## Skill Output:\n\n**Output Type(s):** [Shell commands, Configuration instructions, Guidance]\n\n**Output Format:** [Markdown with inline bash and PowerShell code blocks]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Connector responses are JSON objects returned by the oo CLI when actions are executed.]\n\n## Skill Version(s):\n\n1.0.6 (source: server release metadata and skill frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1480,"uniquenessScore":43,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T16:50:44.993Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T16:50:44.993Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T20:57:55.901Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}