debug-traces
Skill3 starsChanged 17 days agoMITView on GitHub
Troubleshoot Coval OpenTelemetry trace ingestion, missing trace UI, sparse traces, bad simulation or conversation correlation, auth/org errors, oversized payloads, duplicate spans, and production debugging with Trace Search.
- Reads credentials
In this repository33 other files it gives its agents.
- setup-agentSkill
- build-dashboardSkill
- coval-calibrate-metricSkill
- coval-compare-runsSkill
- coval-discover-failuresSkill
- coval-eval-auditSkill
- coval-evals-as-codeSkill
- coval-eval-startSkill
- review-llm-annotations-and-improve-promptSkill
- configure-metricsSkill
- migrate-bluejaySkill
- onboardSkill
- coval-resourcesSkill
- design-personaSkill
- personas-from-artifactsSkill
- analyze-accent-reportSkill
- analyze-adversarial-reportSkill
- analyze-audio-quality-reportSkill
- launch-runSkill
- quick-evalSkill
- run-accent-testingSkill
- run-adversarial-testingSkill
- run-audio-quality-testingSkill
- watch-runSkill
- download-audioSkill
- get-resultsSkill
- consult-sofiaSkill
- build-test-suiteSkill
- distill-test-setSkill
- huggingface-importSkill
- configure-trace-metricsSkill
- optimize-trace-observabilitySkill
- setup-tracingSkill
The file
We split this skill into the rules it gives an agent
11 rules. About 0 are common, 5 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Use this skill when a customer expected traces in Coval and they are missing, wrong, sparse, duplicated, or not useful for production …
- Very specific: line 38
Do not ask for raw API keys.
- Distinctive: line 47
Run a standalone connectivity check when useful:
- Very specific: line 68
Use ../references/debugging-matrix.md to map symptom to cause and fix.
- Distinctive: line 71
no target header, or both target headers sent
- Very specific: line 79
only auto-instrumented provider spans exist, so the trace lacks STT/TTS/tool context
- Very specific: line 84
run progress reached completed_test_cases == total_test_cases, but run status is still non-terminal and metric outputs are still queueing
- Distinctive: line 105
Use the right surface:
- Distinctive: line 108
run-level flow failures: Transition Hotspots tab
- Very specific: line 120
run may still show IN PROGRESS while metrics are computing
- Very specific: line 122
treat IN QUEUE / IN PROGRESS metric outputs as pending, not failed
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Debug Coval Traces
Use this skill when a customer expected traces in Coval and they are missing, wrong, sparse, duplicated, or not useful for production debugging.
Read First
Load:
../references/debugging-matrix.md../references/coval-tracing-reference.md../references/agent-type-routing.md../references/span-schema.mdwhen trace quality is the problem../references/vapi-artifact-tracing.mdwhen debugging Vapi webhook traces
Phase 1: Identify The Failure Boundary
Separate the problem into one of these boundaries:
- agent never exported spans
- export returned an HTTP error
- export succeeded but targeted the wrong simulation/conversation/org
- spans are stored but the UI route is not where the user looked
- spans exist but are sparse or not useful
- custom trace metrics cannot find spans or attributes
Collect:
- endpoint used
- response status/body from
/v1/traces - whether the export used
X-Simulation-IdorX-Conversation-Id - simulation output ID or conversation ID, not the run ID unless this is a monitoring conversation
- Coval agent type and connection path
- recent trace viewer URL, Trace Search URL, or copied trace dump
- whether spans were sent as OTLP JSON or protobuf
Do not ask for raw API keys. Ask the user to run commands locally with env vars. Redact Coval agent metadata before sharing API responses; provider keys may be stored there.
Phase 2: Run Minimal Checks
Check Coval auth:
coval whoamiRun a standalone connectivity check when useful:
python skills/traces/setup-tracing/scripts/send-test-span.py \
--api-key "$COVAL_API_KEY" \
--simulation-id "$SIMULATION_OUTPUT_ID"Interpretation:
- 200 means Coval accepted and stored the test span for that target.
- 404 for
coval-tracing-testor another known-fake ID means auth/connectivity worked but the target ID is not real. Use--allow-not-foundfor intentional fake-ID checks. - 404 for a real target usually means wrong ID, wrong org key, or using a run ID instead of a simulation output ID.
For conversation monitoring, use:
python skills/traces/setup-tracing/scripts/send-test-span.py \
--api-key "$COVAL_API_KEY" \
--conversation-id "$CONVERSATION_ID"Phase 3: Apply The Troubleshooting Matrix
Use ../references/debugging-matrix.md to map symptom to cause and fix.
High-probability causes:
- no target header, or both target headers sent
X-Simulation-Idcontains a run ID instead of a simulation output IDX-Conversation-Idused for a non-monitoring run- PSTN phone path expected SIP headers that cannot arrive
- WebSocket initialization payload did not include the simulation output ID
- wrong organization's API key
- payload over roughly 3-4 MB
- retry resent already accepted spans
- only auto-instrumented provider spans exist, so the trace lacks STT/TTS/tool context
- Vapi-hosted PSTN trace uses artifact-derived STT/LLM/TTS marker spans but reports them as measured provider latency
- tracing helper files or OpenTelemetry dependencies were added locally but not copied into the deployed image/bundle
- WebSocket smoke tests sent less audio than the agent's response threshold, or the agent streamed a long canned response after Coval closed the socket
- run progress reached
completed_test_cases == total_test_cases, but run status is still non-terminal and metric outputs are still queueing - older runs reflect stale metric definitions and are being treated as proof of current instrumentation state
For Vapi-hosted PSTN agents, inspect the source of each span before calling it
real provider observability. tool-calls webhooks are real tool execution.
end-of-call-report.artifact.messages are real transcript/turn evidence.
Provider-internal STT/LLM/TTS timing is not real unless the span has measured
provider timing or explicit provider fields rather than
trace.timing=metadata_marker.
For Vapi-hosted PSTN agents, inspect the source of each span before calling it
real provider observability. tool-calls webhooks are real tool execution.
end-of-call-report.artifact.messages are real transcript/turn evidence.
Provider-internal STT/LLM/TTS timing is not real unless the span has measured
provider timing or explicit provider fields rather than
trace.timing=metadata_marker.
Phase 4: Verify In Coval UI
Use the right surface:
- simulation result: run result page, OTel Traces card, trace viewer
- cross-call investigation: Trace Search under Observability
- run-level flow failures: Transition Hotspots tab
- conversation monitoring: conversation result/trace search, not simulation-only routes
Trace Search filters that usually isolate issues:
- span name:
llm,stt,tts,llm_tool_call - status:
ERROR - duration greater than expected thresholds
- attribute exists:
metrics.ttfb,stt.providerName,function.name,llm.finish_reason - agent/test set scope
For metric debugging, use the simulation metrics API/CLI output in addition to the run summary:
- run may still show
IN PROGRESSwhile metrics are computing - each metric output should become terminal (
COMPLETEDorFAILED) - treat
IN QUEUE/IN PROGRESSmetric outputs as pending, not failed
Phase 5: Fix Or Escalate
Fix implementation issues directly when the repo is available and the change is additive. Escalate with exact evidence when:
- the target ID belongs to another org and the user must provide the correct key
- the customer needs SIP provisioning or Coval agent config changes outside the repo
- the Coval API returns repeated 500/503 after valid retries
- the trace exists in storage but the UI cannot load it
End with a short incident-style summary: observed status, root cause, fix applied or required, and the exact command or Coval UI check that proves the current state.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

