Tracely skill
A skill that teaches Claude Code and Cursor to wire in Tracely tracing and turn failing agent runs into CI tests
- 1,041 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Traces hold the agent's inputs, outputs and tool calls, so they can include user data
- The workspace key opens trace reading and evaluator creation for the project through MCP
- The skill edits agent code with `init(...)` calls and decorators, so review the changes
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/tracelyDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Traces hold the agent's inputs, outputs and tool calls, so they can include user data
- The workspace key opens trace reading and evaluator creation for the project through MCP
- The skill edits agent code with `init(...)` calls and decorators, so review the changes
This is third-party code. Review the repository files before installing.
What it does
Tracely grades every AI agent trace, clusters failures into issues, freezes bad runs into replayable tests and blocks the pull request that would ship them again. The trace is the source of truth and there are no hand-written datasets: a test comes from a real run, so a CI replay spends no money on live model calls. The `tracely` skill lives in `skills/tracely` and describes every way to wire it up. It first picks a path from the user's code: automatic tracing with one line `init(instrument="auto")` for the OpenAI, Anthropic and Gemini SDKs, extras for LangChain, LangGraph, LlamaIndex, CrewAI and LiteLLM, the `@observe` decorator for your own logic, or manual context managers. For TypeScript, Go and Ruby it advises sending OTLP directly. Sections cover evaluators, the CI gate and troubleshooting. The project also exposes an MCP endpoint at `/mcp`: Claude Code and Cursor read traces, inspect failure clusters and add evaluation columns. The whole stack, meaning API, worker, UI, Postgres, ClickHouse, Redis and MinIO, runs on your side or deploys to Railway.
Who it is for. For developers of Python AI agents who want tracing and regression checks wired with a single request to a coding agent.
Good fit when
- You need to add tracing to an agent built on the OpenAI Agents SDK, Claude Agent SDK, LangGraph or LiteLLM
- A production run broke and must be frozen into a test that replays in CI without model calls
- You want a pull request check that blocks merging when the agent regresses
- You want to ask Claude Code what fails most in the last 20 traces and get a new evaluation column through MCP
Not a fit when
- You only need a local view of model calls without CI and tests: lightweight logging is enough
- The agent is not in Python and you do not want to send OTLP by hand: automatic tracing works through the Python SDK
- Trace data must not be stored even in your own database: Tracely keeps inputs, outputs and tool calls
- You want to delete data or change billing through an agent: the MCP endpoint cannot do that
Example request
Add Tracely to this agent: wire automatic tracing, set up evaluators and add a CI gateLimitations
Automatic tracing relies on the `tracelyai-sdk` Python SDK. Running the whole stack needs Postgres, ClickHouse, Redis and MinIO. Common wiring mistakes spoil the data without warnings: a missing conversation ID, a swallowed tool error, no `flush()` call. Adversarial scenarios work the other way round: if the agent reached the goal, the attack succeeded. Docs live at doc.tracely-ai.com.
How to disable. Delete the skill from the agent's skills directory (the `tracely` folder) and the MCP server with `claude mcp remove tracely`. In code remove the `init(...)` call and the `tracelyai-sdk` package.
FAQ
How do I install the Tracely skill in Claude Code?
Run `npx skills add https://github.com/jwuthri-cloud/Tracely-ai --skill tracely`. The `-g` flag installs globally and `--agent '*'` covers every agent on the machine. It works with Claude Code, Cursor, Copilot, Antigravity and other `skills` clients.
How do I connect the Tracely MCP server?
Run `claude mcp add --transport http tracely https://api.tracely-ai.com/mcp --header "Authorization: Bearer $TRACELY_KEY"`. For your own server use its address, such as `http://localhost:8000/mcp` from docker-compose. The key is your workspace's ingest key.
Which tools does the Tracely MCP offer?
Trace listing and search (`list_traces`, `get_trace`, `search_traces`), failure clusters, evaluators with creating and editing columns, plus trend and operations metrics. It cannot delete data or change billing, keys and settings.
How does Tracely differ from ordinary eval tools?
Tests are not written by hand. Tracely takes the trace of a real failure and replays it on every pull request with no live model calls. Scores, clusters, CI verdicts and alerts are derived from the trace too.
Can I run Tracely myself?
Yes. The API, worker, UI, Postgres, ClickHouse, Redis and MinIO run on your side, and a Railway template exists. The repository holds manifests for Coolify and EKS.
Discussion
No questions or reviews yet.
Related
SkillsCaliper runs agent tasks with and without your skill, then shows whether the skill helps and how many tokens it costs
A skill that guides Claude Code and Codex through writing and fixing pytest API tests with a real-run verification loop.
agentevals scores AI agent behavior from OpenTelemetry traces and ships MCP tools plus the /eval and /inspect skills.
The scryer MCP server and skill: the agent plans as todo tests, and a C4 map is derived from code and tests, with no docs by hand.
A local debugger for TypeScript agents: run step trees, CI trajectory checks and portable evidence bundles, with no account.
A skill and tester agent for Claude Code that test the 1C interface through the 1c-testpilot MCP server with evidence
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| Tracely (this card) | no | 1,041 | ||
| Arize Phoenix | yes | OAuth | 12,177 | an observability and evaluation platform that does not turn traces into CI tests automatically |
| LangSmith skills | no | 165 | skills for the LangSmith ecosystem, while Tracely centers on traces and a CI gate |
README in short
Tracely is an observability and CI stack for AI agents with a Python SDK, an MCP endpoint, the `tracely-gate` GitHub Action and a skill for coding agents. MIT license, and the SDK is published on PyPI as `tracelyai-sdk`.
README badge
Original SKILL.md
---
name: tracely
description: Instrument AI agents with Tracely and turn their production traces into CI gates. Use when the user mentions Tracely, tracelyai-sdk, tracely_sdk, the `tracely` CLI, or asks to trace/observe an AI agent, add LLM evaluators or LLM-as-a-judge columns, debug why a trace or conversation isn't showing up, wire agent regression tests into a PR check, run scenario or red-team suites against an agent endpoint, or replay recorded agent failures in CI. Covers both zero-span-code automatic instrumentation and the manual span API.
license: MIT
---
# Tracely
Trace-native CI/CD for AI agents. One loop:
```
production trace → failure detection → regression test → CI gate
```
The trace is the source of truth. Evaluators, failure clusters, regression cases, gates and trends
are all **derived from it** — there are no hand-authored datasets. Docs: <https://doc.tracely-ai.com>.
## Pick the path first
Do not start writing spans. Ask what the code already looks like, then pick:
| The user's code | Path | Effort |
|---|---|---|
| Calls OpenAI / Anthropic / Gemini / Mistral / Bedrock / Groq SDKs | **Automatic** — `init(instrument="auto")` | 1 line |
| Uses LangChain / LangGraph / LlamaIndex / CrewAI / LiteLLM | **Automatic** + that extra | 1 line |
| Uses OpenAI Agents SDK / Claude Agent SDK / Google ADK | **Automatic**, named explicitly | 1 line |
| Has business logic worth seeing (routers, tools, retrievers) | Automatic **+ `@observe`** | 1 decorator each |
| Needs spans the auto path can't produce (custom retrievers, guardrails, handoffs, multimodal I/O, hand-rolled providers) | **Manual context managers** | `references/manual.md` |
| Is TypeScript / Go / Ruby / anything not Python | **Emit OTLP directly** — no SDK | `references/automatic.md` § other languages |
| Already emits OpenTelemetry / OpenInference / OpenLLMetry | Point the existing exporter at Tracely, add 2 attributes | `references/automatic.md` § other languages |
**Default to automatic.** Manual spans are the escape hatch, not the starting point, and the two
compose — manual spans nest inside auto-instrumented traces in the same tree.
## Connect
```python
import tracely_sdk as tracely # pip install "tracelyai-sdk[openai]" ([anthropic] [langchain] [all])
tracely.init(
endpoint="http://localhost:8000", # hosted: https://api.tracely-ai.com
api_key="tracely_dev_key", # an ingest key — Settings → API keys. The key IS the workspace.
service_name="support-agent",
env="prod", # prod | staging | ci | dev — the gating axis
instrument="auto",
)
```
Python ≥ 3.10. Import name is `tracely_sdk`; the CLI is `tracely`. `init()` is idempotent — call it
once at startup. Prefer `os.environ` for `endpoint`/`api_key` in real code; never inline a key.
## The 90% path
```python
with tracely.trace(agent="support-agent", conversation="conv-1", user="u_42"):
client.chat.completions.create(model="gpt-4o", messages=[...]) # traced, no span code
```
`trace()` opens no span — it stamps run context (`agent`, `conversation`, `turn`, `user`, `env`,
arbitrary metadata) onto **every** span inside it, including the ones the instrumentor created.