plugins/debugging/skills/trace-analysis/SKILL.md
Analyze distributed traces and performance issues with Sentry
npx skillsauth add coalesce-labs/catalyst trace-analysisInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Investigate distributed traces, transaction performance, and slow requests using Sentry.
/trace-analysis <trace-id-or-query>
Examples:
/trace-analysis "a4d1aae7216b47ff8117cf4e09ce9d0a"
/trace-analysis "slow API requests to /checkout"
/trace-analysis "traces with >5 second response time"
/trace-analysis "performance issues in payment service"
/trace-analysis "Analyze trace abc123def456: where's the bottleneck?"
/trace-analysis "Why are checkout API requests slow today?"
/trace-analysis "Compare performance of payment service vs order service"
/trace-analysis "Find traces with slow database queries in user service"
Analysis includes:
Trace Overview:
Span Breakdown:
Transaction: POST /api/checkout (2.4s)
├─ Authentication (45ms)
├─ Database Query: SELECT users (120ms)
├─ External API: Payment Gateway (1.8s) ⚠️ SLOW
├─ Database Query: INSERT orders (230ms)
└─ Email Service (180ms)
Performance Insights:
Recommendations:
/trace-analysis "Find common bottlenecks across all slow checkout traces today"
/trace-analysis "Map service call chain for failed transactions"
/trace-analysis "Traces that resulted in errors: what went wrong before?"
# Enable debugging plugin (if not already)
/plugin enable catalyst-debugging
# Combine trace and error analysis
> "Show me the trace for the transaction that caused error ISSUE-456"
After identifying bottleneck:
/catalyst-dev:create-plan "Optimize the slow payment gateway call identified in trace analysis"
/trace-analysis "transactions with >2s response time in last hour"
> "Drill into the slowest trace: which span is the problem?"
> "Why is the database query taking 800ms?"
/catalyst-dev:create-plan "Add database index for user lookups based on trace analysis"
> "After deploy, compare trace durations before and after"
Plugin uses ~20k tokens. Disable after analysis:
/plugin disable catalyst-debugging
See also: /catalyst-debugging:debug-production-error, /catalyst-debugging:error-impact-analysis
testing
Phase-agent that fixes a failing verify verdict so the pipeline self-heals instead of stalling to needs-human (CTL-653). Reads `${ORCH_DIR}/workers/<ticket>/verify.json`, fixes the `findings[]` (every severity:"high" plus the regression_risk drivers) directly via Edit/Write, commits the remediation, and emits `phase.remediate.complete.<ticket>`. The scheduler's router then re-dispatches `verify` to re-check (the verify⇄remediate cycle, cap 3). Dispatched as a `claude --bg` job by `phase-agent-dispatch`, which invokes it via slash command — hence `user-invocable: true`.
tools
--- name: phase-triage description: Phase agent that triages a Linear ticket — expands acronyms, classifies (feature/bug/docs/refactor/chore), identifies genuine blockers (a semantic second-pass over the backlog — NOT a prose scrape; CTL-838), estimates scope, writes triage.json, and posts a triage analysis comment to Linear. Triage completion is signaled by that comment plus the local triage.json — there is no `triaged` label. Emits phase.triage.complete.<TICKET> on success and phase.triage.fai
tools
Phase agent for the research step of the 9-phase orchestrator pipeline (CTL-450). Wraps /catalyst-dev:research-codebase and produces thoughts/shared/research/<date>-<ticket>.md, then emits phase.research.complete.<ticket>. Reads triage.json from the worker dir as its prior-phase artifact. Spawned via plugins/dev/scripts/phase-agent-dispatch, which invokes it via slash command — hence `user-invocable: true`.
development
Phase-agent wrapper that opens the pull request after implementation completes (CTL-449 Initiative 1 Phase 3). Delegates to `/catalyst-dev:create-pr` (which already auto-runs `describe-pr` and transitions Linear to `inReview`), then writes the PR number + URL into the phase signal file so the downstream `phase-monitor-merge` agent can read it without re-querying GitHub. Dispatched as a `claude --bg` job by `phase-agent-dispatch`, which invokes it via slash command — hence `user-invocable: true`.