CtrlK
BlogDocsLog inGet started
Tessl Logo

maple-csharp-style

.NET / C# OpenTelemetry style for Maple: OpenTelemetry.Extensions.Hosting + OTLP HTTP exporter, ActivitySource for spans, ILogger bridging via WithLogging, inline endpoint + ingest key.

68

Quality

83%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

High

Do not use without reviewing

SKILL.md
Quality
Evals
Security

Quality

Content

96%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is an excellent, lean integration guide: complete copy-paste-ready code, correct ordering, and Maple-specific gotchas embedded as code comments instead of padded prose. Its only structural nitpick is that all ~105 lines live inline with no progressive disclosure, though nothing here is so long that splitting is required.

DimensionReasoningScore

Conciseness

The body is lean with zero padding: install commands, one bootstrap code block, one span example, and short Maple-specific notes. Every comment encodes a non-obvious gotcha Claude would not know ('every custom ActivitySource name, or its spans are dropped', 'WithLogging needs OpenTelemetry.Extensions.Hosting 1.9 or later', 'an Endpoint set in code is used as-is, so include the /v1/<signal> path'), so every token earns its place rather than explaining concepts Claude already knows.

5 / 5

Actionability

Guidance is fully executable: four copy-paste `dotnet add package` commands, a complete `AddOpenTelemetry()` bootstrap with resource attributes, tracing/metrics/logging export, and a working ActivitySource business-span pattern with error recording. All common cases (custom spans, log correlation, coexistence with existing exporters) are covered with concrete code.

5 / 5

Workflow Clarity

The sequence Install → Bootstrap → Bounded business spans → Logs → Coexistence is unambiguous and correctly ordered (dependencies before wiring, wiring before extension). This is a configuration skill with no destructive or batch operations, so no validation checkpoints are required; the included failure-mode notes (unregistered sources yield null spans, null-safe `activity?.`) serve as implicit error guidance.

5 / 5

Progressive Disclosure

The body is well-sectioned with clear headers and no buried or nested references (there are no bundle files, so nothing is misfiled or nested). It sits at 4 rather than 5 because the skill is over 50 lines with no external split — the coexistence notes and the business-span example are self-contained appropriately, but a leaner core with the extended example moved to a reference file would match the 'content appropriately split' anchor more closely.

4 / 5

Total

19

/

20

Passed

Description

70%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is highly specific and clearly niched to Maple's .NET/C# OpenTelemetry integration, naming concrete packages and wiring details rather than vague claims. Its main weakness is the complete absence of an explicit 'Use when...' trigger clause, which caps completeness and leaves natural trigger phrasings like 'tracing' or 'instrument' underrepresented.

Suggestions

Append an explicit trigger clause, e.g. 'Use when setting up OpenTelemetry tracing, metrics, or log export in a .NET/C# service that ships telemetry to Maple.'

Add natural synonyms users would actually say — 'tracing', 'logs', 'metrics', 'instrument', 'telemetry' — alongside the jargon terms 'OTLP' and 'ActivitySource'.

Convert part of the component list into concrete actions (e.g. 'Configure OTLP HTTP export of traces, metrics, and ILogger logs') to strengthen the 'what' as actions rather than a noun stack.

DimensionReasoningScore

Specificity

Quotes like 'OpenTelemetry.Extensions.Hosting + OTLP HTTP exporter', 'ActivitySource for spans', 'ILogger bridging via WithLogging, inline endpoint + ingest key' name several concrete, specific components rather than vague actions. Not a 5 because it reads as a noun-phrase component list rather than concrete actions (no verbs like 'configure', 'export'), leaving minor gaps in what the skill actually does; not a 3 because coverage of the stack (hosting, exporter, spans, logs, auth) is comprehensive for the domain.

4 / 5

Completeness

The 'what' is clear (specific packages, exporter, span/log wiring for Maple), but there is no 'Use when...' clause or equivalent explicit trigger guidance anywhere in the description. The rubric explicitly caps completeness at 3 for a missing 'when', so it cannot score 4 despite the strong 'what'.

3 / 5

Trigger Term Quality

Natural terms a user would say are present: '.NET / C#', 'OpenTelemetry', 'ILogger', 'ingest key'. Below 5 because common user phrasings like 'tracing', 'logs', 'metrics', 'telemetry setup', or 'instrument' are absent and 'OTLP' / 'ActivitySource' are jargon; above 3 because the core terms a user needs this skill would plausibly say are all covered.

4 / 5

Distinctiveness Conflict Risk

The scope is a clear niche — 'OpenTelemetry style for Maple' with Maple-specific details (OTLP HTTP exporter, ingest key, /v1/<signal> paths) — so it is clearly distinguishable from generic .NET or OpenTelemetry skills and unlikely to trigger for the wrong skill. Minor overlap risk exists only with another Maple telemetry skill, which the scoping already minimizes.

5 / 5

Total

16

/

20

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 — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
MapleTechLabs/maple
Reviewed

Table of Contents

Is this your skill?

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.