Implement distributed tracing with Jaeger and Tempo to track requests across microservices and identify performance bottlenecks. Use when debugging microservices, analyzing request flows, or implementing observability for distributed systems.
72
56%
Does it follow best practices?
Impact
100%
1.29xAverage score across 3 eval scenarios
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./tests/ext_conformance/artifacts/agents-wshobson/observability-monitoring/skills/distributed-tracing/SKILL.mdQuality
Discovery
89%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
This is a solid skill description that clearly communicates its purpose and when to use it. It benefits from naming specific tools (Jaeger, Tempo) and including an explicit 'Use when' clause with natural trigger terms. The main weakness is that the 'what' portion could be more specific about the concrete actions the skill enables beyond the high-level 'track requests' and 'identify bottlenecks'.
Suggestions
Expand the capabilities list with more concrete actions, e.g., 'configure trace spans, set up collectors, deploy Jaeger/Tempo backends, correlate traces across services, create trace-based dashboards'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (distributed tracing) and key tools (Jaeger, Tempo), and mentions actions like 'track requests' and 'identify performance bottlenecks', but doesn't list multiple concrete discrete actions (e.g., configure spans, set up collectors, create dashboards, correlate traces). | 2 / 3 |
Completeness | Clearly answers both 'what' (implement distributed tracing with Jaeger and Tempo to track requests and identify bottlenecks) and 'when' (explicit 'Use when debugging microservices, analyzing request flows, or implementing observability for distributed systems'). | 3 / 3 |
Trigger Term Quality | Includes strong natural keywords users would say: 'distributed tracing', 'Jaeger', 'Tempo', 'microservices', 'request flows', 'performance bottlenecks', 'observability', 'debugging microservices'. These cover a good range of terms a user would naturally use. | 3 / 3 |
Distinctiveness Conflict Risk | The combination of specific tools (Jaeger, Tempo) and the focused domain (distributed tracing across microservices) creates a clear niche that is unlikely to conflict with other skills like general monitoring, logging, or metrics skills. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
22%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This skill is a comprehensive but overly verbose reference document rather than an efficient, actionable skill. It explains concepts Claude already understands, provides redundant examples across multiple languages inline rather than in reference files, and lacks a clear sequential workflow with validation steps. The content would benefit significantly from aggressive trimming, consolidating language-specific examples into reference files, and adding a clear step-by-step implementation workflow.
Suggestions
Add a clear numbered workflow (e.g., 1. Deploy collector, 2. Verify collector is running, 3. Instrument one service, 4. Verify traces appear in UI, 5. Add context propagation, 6. Verify cross-service traces) with explicit validation checkpoints at each step.
Move language-specific instrumentation examples (Python, Node.js, Go) into the referenced `references/instrumentation.md` file and keep only one concise example inline.
Remove the 'Distributed Tracing Concepts' section and the generic 'Best Practices' list — Claude already knows these concepts and the list adds no actionable specificity.
Trim the Tempo setup section to essential config only or move it to a separate reference file, keeping the main skill focused on the most common path (Jaeger).
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is extremely verbose at ~300+ lines, explaining basic concepts Claude already knows (trace structure, what spans/tags/logs are), providing full instrumentation examples in three languages (Python, Node.js, Go) when one would suffice with references for others, and including generic best practices lists and troubleshooting tips that add little unique value. | 1 / 3 |
Actionability | The code examples are mostly executable and concrete (Jaeger deployment YAMLs, OpenTelemetry instrumentation code), but some are incomplete (e.g., `query_database()` and `fetch_users_from_db()` are undefined stubs, Go example missing imports like `attribute`). The Jaeger query syntax examples are not clearly tied to a specific API or CLI tool. | 2 / 3 |
Workflow Clarity | There is no clear end-to-end workflow sequence for implementing distributed tracing. The content presents disconnected sections (setup, instrumentation, sampling, analysis) without a numbered step-by-step process, validation checkpoints, or feedback loops. For a complex multi-step operation like setting up distributed tracing across microservices, this lack of sequencing and verification is a significant gap. | 1 / 3 |
Progressive Disclosure | The skill references external files (references/jaeger-setup.md, references/instrumentation.md, assets/jaeger-config.yaml.template) which is good structure, but no bundle files are provided so these references are broken. The main file itself contains too much inline content that should be in those reference files (full instrumentation examples in 3 languages, full Tempo deployment YAML). | 2 / 3 |
Total | 6 / 12 Passed |
Validation
100%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
bbc5ade
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.