cx-olly — Claude Code skill: chat with the Olly agent via cx CLI
This skill wires the Coralogix Observability Agent Olly into your coding agent: ask about alerts, metrics and logs, then pull the artifacts it generates.
npx skills add coralogix/cx-cli --skill cx-olly -a claude-codeWhat cx-olly does
The skill hands your agent three commands. cx olly ask "message" sends a message to Olly, cx olly artifacts list shows what it has generated, and cx olly artifacts get <id> fetches one artifact by ID. Olly reads your observability data and answers questions about alerts, metrics and logs, producing charts and reports along the way. Every reply carries a Chat ID, so follow-ups go through --chat-id.
Run cx olly ask in the background and poll it. The skill says investigations routinely take minutes, so blocking inline only makes sense for a quick lookup or a one-line follow-up. The file itself is a command table with flags, a section on agent-to-agent mode, artifact handling, and worked examples. Append -o json or -o toon for machine-readable output and pipe it to jq. Model choice goes through --model: gpt-5.2 is the default, with claude-sonnet-4-5, sonnet-4.6, gpt-5.4 and claude-haiku-4-5 also available.
The catch is agent-to-agent mode. It defaults to false because humans call cx olly ask too. If an agent is the caller, it has to pass the flag itself, otherwise replies come back human-facing with charts and tables. The flag is per-call, not per-chat: --chat-id does not remember it, so a follow-up turn silently flips back. One more thing to plan around — cx olly does not support multi-profile fan-out, so you pick a single profile with -p <profile>. The response timeout defaults to 900 seconds and goes up with --timeout.
What it helps with
- ask which alerts fired today
- trace high latency in a service through logs and metrics
- download a generated chart or report by artifact ID
- get Olly's answer as JSON and filter it with jq
- continue an investigation while keeping the chat context
Example prompts for the agent
- Ask Olly why the checkout service shows high latency and check logs with 'checkout:' strings
- Continue chat abc-123-def and tell me what changed in the last hour
- List the artifacts as JSON and get the content of the first one
How to install cx-olly
1Skills CLI (Vercel)
npx skills add coralogix/cx-cli --skill cx-olly -a claude-code2Manually: put the files in place
~/.claude/skills/cx-olly/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/cx-olly/
1Skills CLI (Vercel)
npx skills add coralogix/cx-cli --skill cx-olly -a codex2Manually: put the files in place
.agents/skills/cx-olly/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add coralogix/cx-cli --skill cx-olly -a cursor2Manually: put the files in place
.cursor/skills/cx-olly/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install coralogix/cx-cli cx-olly2Manually: put the files in place
.github/skills/cx-olly/SKILL.md1Skills CLI (Vercel)
npx skills add coralogix/cx-cli --skill cx-olly -a gemini-cli2Platform CLI
gemini skills install https://github.com/coralogix/cx-cli --path skills/cx-ollyManually: put the files in place
.devin/skills/cx-olly/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add coralogix/cx-cli --skill cx-olly -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about cx-olly
How do I install cx-olly in Claude?
Run npx skills add coralogix/cx-cli --skill cx-olly -a claude-code. The skill lands at ~/.claude/skills/cx-olly/SKILL.md.
What does cx-olly do?
It teaches your agent to drive the Olly Observability Agent through cx olly: ask about alerts, metrics and logs, continue a chat by Chat ID, and retrieve generated artifacts.
Why does an agent need --agent-to-agent-mode?
It defaults to false, so replies are built for humans, charts and tables included. The flag switches Olly to short sub-agent-style answers, but you must re-pass it on every turn — --chat-id does not remember it.
Source text
SKILL.md · Apache-2.0
---
name: cx-olly
description: This skill should be used when the user asks to "chat with AI", "ask Olly", "ask the agent", "send message to AI", "continue a chat", "follow up on chat", "get artifact", "download artifact", "list artifacts", "retrieve generated content", "AI-generated charts", "AI analysis", "conversational observability", "natural language query", or wants to interact with the Coralogix Observability Agent (Olly) using the cx CLI.
metadata:
version: "0.1.0"
---
# Olly Observability Agent Skill
Use this skill to interact with Coralogix's Observability Agent (Olly) via the `cx olly` CLI commands. Olly can analyze your observability data, answer questions about alerts, metrics, logs, and generate artifacts like charts and reports.
`cx olly ask` defaults `--agent-to-agent-mode` to **false**. **If you're an LLM/agent, pass `--agent-to-agent-mode`** - see "Agent-to-agent mode" below.
## CLI Commands
| Command | Purpose | Key flags |
|---|---|---|
| `cx olly ask "message"` | Send a message to the Observability Agent | `--chat-id`, `--model`, `--timeout`, `--agent-to-agent-mode` |
| `cx olly artifacts list` | List all generated artifacts | - |
| `cx olly artifacts get <id>` | Get artifact content by ID | - |
**Output format:** append `-o json` or `-o toon` for machine-readable output.
**Single-profile only:** `cx olly` commands do not support multi-profile fan-out. Use `-p <profile>` to specify a single profile.
## Running Olly (async by default)
**Run `cx olly ask` asynchronously by default:** launch it as a **background process and poll it for completion** rather than blocking on it. Olly investigations routinely take minutes, so this is the normal mode for `cx olly ask`.
Only run `cx olly ask` inline (foreground, blocking) for a short question you expect Olly to answer quickly — a quick lookup or a one-line follow-up. When in doubt, run it in the background.
## Chat Commands
### Start a new conversation
```bash
cx olly ask "What alerts fired today?" --agent-to-agent-mode
```
This creates a new chat and returns a response along with a **Chat ID** that you can use for follow-up questions.
Remove `--agent-to-agent-mode` if you don't have context to share (like quick access to source files) or if the created chat is only for human usage.
### Continue an existing chat
```bash
cx olly ask "Tell me more about the error rates" --chat-id <chat-id> --agent-to-agent-mode
```
Use `--chat-id` to continue a conversation and maintain context from previous messages. Background the follow-up too when it kicks off another investigation.
### Model selection
Available models include `gpt-5.2` (default), `claude-sonnet-4-5`, `sonnet-4.6`, `gpt-5.4`, `claude-haiku-4-5`.
```bash
cx olly ask "Explain this error" --model claude-sonnet-4-5 --agent-to-agent-mode
```
### Timeout
For complex queries that may take longer, increase Olly's response timeout
(default: 900 seconds):
```bash
cx olly ask "Deep analysis of last week's incidents" --timeout 1800 --agent-to-agent-mode
```
`--http-timeout <SECONDS>` (or `CX_HTTP_TIMEOUT`) sets the HTTP request
deadline for all CLI commands, including Olly. It is separate from the Olly
response timeout.
### Agent-to-agent mode
`--agent-to-agent-mode` defaults to `false`, since `cx olly ask` is used directly by humans as well as by agents. **If you're an LLM/agent, pass `--agent-to-agent-mode`** to opt into shorter, sub-agent-style responses: no charts/tables, clarifying questions instead of guessing, and reliance on your broader context.
```bash
cx olly ask "Analyze this for me" --agent-to-agent-mode
```
**It's per-call, not per-chat.** `--chat-id` does not remember it - re-pass `--agent-to-agent-mode` on every follow-up turn, or the mode silently flips back to human-facing mid-conversation.
## Artifacts
Olly can generate artifacts like query results, previews, and citations. Artifact IDs appear as links in the agent's response text.
### List all artifacts
```bash
cx olly artifacts list
cx olly artifacts list -o json
```
### Get artifact content
```bash
cx olly artifacts get <artifact-id>
cx olly artifacts get <artifact-id> -o json
```
The `artifacts get` command automatically:
1. Fetches artifact metadata
2. Downloads content from the presigned URL
3. **Decompresses gzip** content
4. **Parses JSON** and uses spill logic for large content
5. Saves non-JSON text to a temp file
Output behavior:
- **JSON content**: Displayed directly, or spilled to file if large
- **Text content**: Saved to temp file (e.g., `/tmp/cx_results_artifact_<id>_<hash>.txt`)
## Workflow Examples
### Investigate an issue
```bash
# Start investigation — run in the background and poll for completion
cx olly ask "Why is the checkout service showing high latency? Check logs with 'checkout:' strings and aws related metrics" --agent-to-agent-mode
# Follow up with the chat ID from the response — also background and poll
cx olly ask "What changed in the last hour?" --chat-id abc-123-def --agent-to-agent-mode
# Once the interaction has completed, get any generated charts
cx olly artifacts list -o json | jq '.[0].id'
cx olly artifacts get <artifact-id>
```
### Get JSON output for scripting
```bash
# Get response as JSON
cx olly ask "List top 5 error messages" -o json --agent-to-agent-mode | jq '.response'
# Parse artifacts
cx olly artifacts list -o json | jq '.[] | {id, filename, created_at}'
```
### Detailed analysis with specific model
```bash
cx olly ask "Perform root cause analysis for the outage on 2024-01-15" \
--model claude-sonnet-4-5 \
--timeout 1800 \
--agent-to-agent-mode
```
## Key Principles
- **Async by default** - run `cx olly ask` as a background process and poll it for completion; only run inline (blocking) for short questions you expect Olly to answer quickly
- **Chat IDs enable context** - save the Chat ID from responses to continue conversations
- **Use `-o json` for scripting** - pipe to `jq` for filtering and extraction
- **Artifact IDs are in response text** - look for markdown links like `[Chart](https://...artifact_view/<id>)`
- **Single-profile only** - `cx olly` does not support multi-profile queries
- **Large artifacts auto-spill** - JSON content over the configured limit is saved to temp files
- **Check source code before asking** - give Olly concrete context from the source code if available, such as which metric to start investigating from, before calling it
- **Limit investigation scope** - guide Olly to the correct limited scope, for example limit to just logs or to specific time ranges
- **Pass `--agent-to-agent-mode` when calling as an LLM/agent** - it defaults to `false` (human-facing); agents should opt in for shorter, sub-agent-style responses
## Related Skills
- **`cx-telemetry-querying`** - for direct DataPrime/PromQL queries without AI agent assistance (covers logs, spans, metrics, RUM)
- **`cx-alerts`** - for managing alert definitions
© coralogix · Apache-2.0 · coralogix/cx-cli