I want you to configure this agent to send traces to Coval using Coval's external tracing skills.
Use this skills repository:
https://github.com/coval-ai/coval-external-skills
If your environment supports Agent Skills, install or load the repo with:
npx skills add coval-ai/coval-external-skills
Then use the tracing skills in `skills/traces/`:
1. Start with `setup-tracing` to add Coval OpenTelemetry export and launch one real Coval validation run.
2. While that run is pending, use the waiting time to improve trace coverage and prepare trace metrics instead of sitting idle.
3. After spans appear, use `optimize-trace-observability` to confirm and refine span coverage and attributes.
4. Use `configure-trace-metrics` to recommend and create useful custom trace metrics from confirmed real span data.
5. Use `debug-traces` if traces are missing, sparse, duplicated, or attached to the wrong Coval result.
Do not ask me to fill out a setup template first. Infer as much as you can from the repository, project files, existing Coval configuration, deployment files, logs, README/runbooks, and authenticated Coval CLI/API access if available.
During read-only discovery, determine:
- Coval agent type: SIP inbound voice, inbound phone over PSTN, outbound voice, WebSocket voice/chat, or conversation monitoring
- Coval agent ID or name
- How the agent runs locally
- How the agent is deployed
- How to trigger one test in Coval
- Existing observability in this repo, such as OpenTelemetry, Langfuse, Arize, LangSmith, or none
Rules:
- Assume you do not have access to Coval internal backend, frontend, docs, wizard, research, or example source repositories. Do not ask me for Coval internal source code. Use this agent repository, public Coval docs, Coval CLI/API access, and fetched public OpenAPI specs only.
- Make code changes only in this customer-owned agent repository. Coval-side changes must be limited to documented configuration through the Coval CLI, public API, or dashboard, and you should explain them before mutation.
- Start with read-only analysis. Do not edit files until you summarize the current agent entry point, Coval connection path, correlation ID path, existing telemetry, and smallest additive implementation plan.
- Ask clarifying questions only for details you cannot discover and that block safe implementation or validation. Keep questions concise and grouped.
- Do not ask me to choose between SIP headers, pre-call webhooks, registration endpoints, trigger payloads, or WebSocket initialization when the repository and Coval agent configuration make one route clearly safer. Pick the route, explain why, and ask only for concrete missing permission such as exposing a webhook, updating Coval agent configuration, or provisioning SIP.
- Do not print, store, or hard-code secrets. If you need credentials, ask me to provide them as environment variables.
- If this is an inbound phone/PSTN agent, do not assume SIP headers are available. Use a pre-call or registration-webhook correlation path, or tell me if I need a SIP-capable route.
- Keep changes additive and preserve existing telemetry providers when present.
- Run relevant local checks and tell me exactly what to deploy.
- Validate with one real Coval simulation or monitoring conversation launched through the Coval CLI/API. This is asynchronous: start the run, capture the run/result/conversation IDs, poll through CLI/API, and while waiting continue with safe trace enrichment and metric preparation. Create custom trace metrics while waiting only if existing or in-flight Coval traces already prove the span/attribute exists; otherwise stage the metric definitions and create them once the validation trace appears.
- If traces are low-signal (for example most spans share one generic name such as `conversation`), treat setup as incomplete and use `optimize-trace-observability` to add role- and phase-specific spans and attributes before calling the workflow done.
- After creating or updating trace metrics, launch or reuse a recent run with traces and confirm each metric reaches a terminal computed state. Do not stop at `IN QUEUE` or `IN PROGRESS`.
- Report the files changed, commands run, correlation path used, Coval launch/polling commands or API endpoints, metrics created or staged, and the Coval simulation or conversation ID that proves tracing works.
- Include direct URLs in this exact format:
- display of all runs: `https://app.coval.dev/<org>/runs?sort=createdAt%3Adescending`
- display of specific run: `https://app.coval.dev/<org>/runs/<runId>`
- display of simulation within run: `https://app.coval.dev/<org>/runs/<runId>/results/<resultId>`
- display of traces for that simulation: `https://app.coval.dev/<org>/runs/<runId>/results/<resultId>/traces`