Skip to content
Back to skills

Audit Agent Tracing Support

ASecurity

Assess whether a coding agent's hooks/plugin API can support tracing (per docs/trace-coding-agents-with-hooks.md), or whether a reliable fallback like session transcripts exists. Use when evaluating a new or existing coding agent (Claude Code, Codex, Cursor, Gemini CLI, Aider, etc.) for a Braintrust tracing plugin, or when someone asks "can we trace agent X" / "is agent X's hook API good enough".

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 23, 2026
ai-agentsrustgoapi

Works with

  • claude code
  • cursor
  • cli
  • api
  • mcp

Security analysis

A100/100

Scanned September 23, 2026

npx -y skills add braintrustdata/braintrust-coding-agent-plugins --skill audit-agent-tracing-support --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Audit Agent Tracing Support?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Audit Agent Tracing Support
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/braintrustdata-audit-agent-tracing-support/badge)](https://www.skillsdirectory.com/skills/braintrustdata-audit-agent-tracing-support)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: audit-agent-tracing-support
description: Assess whether a coding agent's hooks/plugin API can support tracing (per docs/trace-coding-agents-with-hooks.md), or whether a reliable fallback like session transcripts exists. Use when evaluating a new or existing coding agent (Claude Code, Codex, Cursor, Gemini CLI, Aider, etc.) for a Braintrust tracing plugin, or when someone asks "can we trace agent X" / "is agent X's hook API good enough".
---

# Audit an agent's tracing support

Determine whether a specific coding agent can be traced through its hooks/plugin
API, and if not, whether a reliable fallback (e.g. session transcripts) exists.

The requirements below are a condensed, checkable form of
`docs/trace-coding-agents-with-hooks.md` — that doc is the source of truth; read
it if anything here is ambiguous.

## Inputs you need

Before auditing, gather:

- **Agent + version.** APIs change; pin what you looked at.
- **Where the hook/plugin API is documented.** Official docs URL, and/or the
  source that emits hook events. Prefer primary sources over blog posts.
- **A sample event payload** if you can get one (run the agent with a logging
  hook, or find an example in docs). Payloads reveal what's actually sent, not
  just what's promised.
- **Transcript format**, if the agent writes session transcript files — path,
  format (JSONL/JSON/markdown), and stability guarantees.

Do not guess. If you can't find evidence for a requirement, mark it **Unknown**
and say what you'd need to confirm it — never assume an API emits something.

## Requirements checklist

For each item, decide: **Yes** (emitted directly), **No** (not available), or
**Unknown** (couldn't confirm). Cite where you found the evidence.

1. **ms-precise timestamp** on every event (e.g. epoch millis).
2. **Unique IDs** for session start, each turn, and each operation that has a
   start and a stop — with the operation's ID **shared between its start and
   stop** so the pair can be matched. (A "turn" = one user message plus the
   agent's response to it.) Without shared operation IDs you can't pair or nest
   events, so an agent can emit all the right event *types* and still be
   untraceable — check this explicitly.
3. **Turn attribution** — every operation event (LLM call, tool use, web, MCP,
   subagent) carries the ID of the turn that spawned it.
4. **Paired start/stop events** for anything with a logical beginning and end
   (single events are fine for point-in-time things like session start).
5. **LLM API call start/stop** — with the **full request and response bodies**.
   This is the most commonly missing one; check carefully.
6. **Tool / web / MCP call start/stop** for every such call the agent makes.
7. **Turn start/stop.**
8. **Subagents (and sub-subagents) emit the same hook events** recursively,
   carrying the spawning turn ID (per #3) so the trace tree can be rebuilt.
9. **Session end / shutdown hook** (used to flush background data; need not be
   the definitive end since sessions can resume).
10. **Ordered, blocking delivery** — events arrive in order, and hooks support a
    blocking mode (async/non-blocking is fine as an *additional* mode).

## Fallback assessment

If the hook API misses one or more requirements, check the transcript fallback:

- Does the agent write a **session transcript file** that contains the missing
  data (especially full LLM request/response bodies and timing)?
- Is the format **reliable** — documented, versioned, stable across releases? An
  undocumented format that drifts between versions is a weak fallback and should
  be called out as a risk, not a solution.
- Can start/stop timing be **reconstructed** from the transcript, or only
  after-the-fact ordering? Note the loss of real timestamps if so.

## Verdict

Classify the agent as one of:

- **Sufficient** — hooks alone cover all (or all critical) requirements.
- **Fallback-viable** — hooks miss some data, but a reliable transcript makes
  tracing feasible. State exactly which data comes from the fallback and any
  fidelity loss (e.g. approximate timing).
- **Insufficient** — required data (esp. full LLM request/response bodies) is
  neither in hooks nor in a reliable fallback. List the specific gaps that block
  tracing and what the agent would need to add.

## Output format

Produce a short report:

```
# Tracing audit: <agent> <version>
Sources: <links / files inspected>

## Requirements matrix
| # | Requirement                        | Status  | Evidence / notes |
|---|------------------------------------|---------|------------------|
| 1 | ms-precise timestamps              | Yes/No/Unknown | ... |
| ... (all 10) ...                                                    |

## Fallback
<transcript availability, format, reliability>

## Verdict: <Sufficient | Fallback-viable | Insufficient>
<1-3 sentences justifying, and the concrete gaps if any>
```

Keep it evidence-first: every Yes/No must point at a doc section, payload field,
or source line. If the answer changes with agent version, say so.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.