opensearchlisted
Install: claude install-skill dversoza/claude-skills
# OpenSearch
Read-only access to OpenSearch / Elasticsearch clusters via the REST API. The
tool only issues read endpoints (`_cluster/health`, `_cat/indices`, `_mapping`,
`_count`, `_search`, `GET _doc`). No subcommand creates, updates, or deletes
data or indices, so it is read-only by construction.
## Connection Setup
The script resolves cluster aliases from an `` ```opensearch-clusters``` ``
fenced code block in the project's `CLAUDE.local.md`. It searches from the
current working directory upward. Credentials never appear on the command line;
only the alias is passed as an argument. Basic-auth credentials live in the URL
userinfo (`https://user:pass@host:443`); the script sends them as an
`Authorization` header and strips the userinfo before any URL is printed.
To discover available aliases:
```bash
python3 ~/.claude/skills/opensearch/scripts/os_query.py list
```
If no `CLAUDE.local.md` exists or it has no `opensearch-clusters` block, ask the
user for connection details and suggest they add a block like this to their
project's `CLAUDE.local.md`:
````markdown
```opensearch-clusters
local=http://localhost:9200
dev=https://admin:PASSWORD@opensearch.internal.example:443 tls=skip
prod=https://admin:PASSWORD@10.0.1.2:443 tls=skip aws=prod/my-domain
```
````
An alias line is `alias=url` followed by optional `key=value` options:
`tls=skip` turns off certificate verification for that cluster. A managed
OpenSearch domain addressed by private IP serves a cert that can never