Skip to content
Back to skills

Agent Trace

ASecurity

Debug agent execution with tracing — analyze traces, tool calls, durations, errors, and performance metrics. Use when investigating agent behavior.

  • 2 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added October 26, 2026
devopsbashsqlapidatabaseperformance

Works with

  • api
  • mcp

Security analysis

A100/100

Scanned October 26, 2026

npx -y skills add JoshuaShepherd/my-skills --skill agent-trace --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Agent Trace?

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

Security grade badge for Agent Trace
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/joshuashepherd-agent-trace/badge)](https://www.skillsdirectory.com/skills/joshuashepherd-agent-trace)

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: agent-trace
description: Debug agent execution with tracing — analyze traces, tool calls, durations, errors, and performance metrics. Use when investigating agent behavior.
user-invocable: true
allowed-tools: Read, Grep, Glob, Bash, Agent, mcp__supabase__execute_sql, mcp__openai-docs__search_openai_docs
---

Debug agent execution: $ARGUMENTS

## Before Starting

1. Read the tracing infrastructure:
   - `src/agents/shared/agent-tracer.ts` — `AgentTracer` class, event recording
   - `src/agents/shared/hooks.ts` — lifecycle hooks (onStart, onToolCall, onToolComplete, onComplete, onError)
   - `src/lib/database/schema.ts` — search for `agent_traces` and `agent_metrics` tables

## Trace Event Types

The `AgentTracer` records these events during execution:

| Event | When | Data |
|-------|------|------|
| `start` | Execution begins | message length, context availability |
| `tool_call` | Tool invoked | toolName, params preview (truncated 200 chars) |
| `tool_complete` | Tool returns | toolName, duration, success flag |
| `handoff` | Agent delegates | target agent, reason |
| `stream_delta` | First text token | (recorded once only) |
| `complete` | Execution done | output length, duration, tool count |
| `error` | Failure | message, stack (truncated) |

## Querying Traces

### Recent traces for an agent
```sql
SELECT id, agent_name, trace_type, duration, tool_calls_count, error_message,
       created_at
FROM agent_traces
WHERE agent_name = '<agent-name>'
ORDER BY created_at DESC
LIMIT 20;
```

### Traces with errors
```sql
SELECT id, agent_name, error_message, trace_data, created_at
FROM agent_traces
WHERE error_message IS NOT NULL
ORDER BY created_at DESC
LIMIT 10;
```

### Slow traces (over 10s)
```sql
SELECT id, agent_name, duration, tool_calls_count, trace_data, created_at
FROM agent_traces
WHERE duration > 10000
ORDER BY duration DESC
LIMIT 10;
```

### Tool call breakdown
```sql
SELECT
  trace_data->'events' AS events,
  tool_calls_count,
  duration
FROM agent_traces
WHERE agent_name = '<agent-name>'
  AND tool_calls_count > 0
ORDER BY created_at DESC
LIMIT 5;
```

### Agent metrics summary
```sql
SELECT agent_name, date,
       usage_count, avg_response_time, success_rate,
       cost_total, tokens_total, error_count
FROM agent_metrics
WHERE agent_name = '<agent-name>'
ORDER BY date DESC
LIMIT 30;
```

## Debug Flags

Set these environment variables to enable verbose logging:

```bash
AI_LAB_DEBUG_TOOLS=true          # Log tool selection & validation
AI_LAB_DEBUG_CONTEXT=true        # Log context receipt & changes
AI_LAB_DEBUG_INSTRUCTIONS=true   # Log assembled instructions (caution: large)
AI_LAB_DEBUG_RETRIEVAL=true      # Log file_search queries, sources, scores
```

## Analysis Patterns

### Diagnosing slow responses
1. Query traces with high duration
2. Check `events` array for tool_call → tool_complete durations
3. Identify which tool is the bottleneck
4. Check if the tool is hitting an external service (file_search, search API)
5. Consider caching or timeout adjustments

### Diagnosing tool failures
1. Query traces where `error_message` is not null
2. Look at the `tool_call` event immediately before the `error` event
3. Check if the tool params were valid
4. Check if the external service was available

### Diagnosing guardrail rejections
1. Guardrail rejections show as `error` events with the guardrail name
2. Check the `reason` field for why the message was rejected
3. Review the input message and guardrail logic

### Comparing agent performance over time
1. Query `agent_metrics` table for daily aggregates
2. Check trends in avg_response_time, success_rate, error_count
3. Correlate spikes with deployment dates or config changes

## Rules

- Use the Supabase MCP (`mcp__supabase__execute_sql`) for querying traces directly
- Never delete traces — they're the audit trail for agent behavior
- When reporting findings, include specific trace IDs for reference
- Debug flags should only be enabled temporarily — they generate large log volumes
- If traces reveal a systemic issue, recommend a fix in the relevant layer (tool, instructions, guardrail)

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.