CtrlK
BlogDocsLog inGet started
Tessl Logo

maple-telemetry-conventions

Maple's OpenTelemetry conventions: custom span attribute keys (`maple.*` vendor namespace, `query.context`, `db.query.*`, `result.*`, `cache.*`, `tenant.*`), Title Case status codes (`Ok`/`Error`/`Unset`), resource attribute dual-emit (`deployment.environment` + `deployment.environment.name`), span kinds, Tinybird MV pre-extracted columns, loop-prevention filters, and sampling. Use whenever writing or reviewing instrumentation code in any language (TypeScript, Rust, Python) in this repo: adding `setAttribute`/`setAttributes`/`record`/`#[instrument(fields(...))]` calls, setting span status, configuring an OTLP exporter, defining a new resource attribute, or wiring a new query through `WarehouseQueryService.compiledQuery()`.

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

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

75%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.

A well-structured, token-efficient reference body: an explicit 'When to apply' section, a clean one-level-deep index, and a quick-reference table of exact spellings and file paths. Recurring weakness is that the highest-value details live entirely in referenced files — including some that could not be verified — and there is no inline executable example or verification step.

Suggestions

Deduplicate the Index and Quick reference table: state each rule once (e.g., Title Case status codes and loop-prevention guards currently appear in both) and keep the Index as pure navigation links.

Add one short inline annotated-span snippet per language (or one TypeScript example) so the most common case — emitting an attribute and setting status — is executable without opening a referenced file.

Add a verification step for new attributes, e.g., 'before adding a new `maple.*` key, check `rules/mv-first-class-columns.md` and `packages/domain/src/tinybird/materializations.ts` to decide whether it needs an MV column', turning attribute introduction into a checkable sequence.

DimensionReasoningScore

Conciseness

The body is lean and assumes competence — no OpenTelemetry primer, only repo-specific rules like 'Never `OK`, `ERROR`, `SUCCESS`, `FAILED`'. It sits at 4 rather than 5 because content is repeated between the Index descriptions and the Quick reference table (status codes, deployment env, service map, and loop prevention each appear twice), which could be trimmed.

4 / 5

Actionability

Guidance is highly concrete — exact attribute spellings, exact file paths ('`apps/ingest/src/main.rs`: ... `init_tracing`', 'Read both via `DEPLOYMENT_ENV_SQL` / `deploymentEnvExpr`'), and canonical example files. It stops short of 5 because no inline executable snippet exists; the common cases rely on reading the canonical files and rule files rather than copy-paste-ready examples.

4 / 5

Workflow Clarity

The 'When to apply' list clearly sequences when the skill applies, but this is a reference skill with no multi-step process. It fits the 4 anchor: usage is clear with minor gaps, notably no ordering guidance across the seven rule files and no verification checkpoint (e.g., how to confirm a new attribute is or isn't already MV-pre-extracted before adding it).

4 / 5

Progressive Disclosure

The structure is exactly right — a concise overview, a one-level-deep Index with one-line summaries per `rules/*.md` file, a quick-reference table, and pointers to canonical repo files. It is scored 4 rather than 5 because the seven referenced `rules/*.md` files are not present in the skill bundle as provided (no `references/`, `scripts/`, `assets/`, or `rules/` directories exist), so the navigation layer cannot be verified end-to-end.

4 / 5

Total

16

/

20

Passed

Description

92%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.

A near-exemplary description: concrete capability inventory, an explicit third-person 'Use whenever...' clause with actionable triggers spanning all three languages, and minimal conflict risk. The only weakness is that trigger coverage leans on API-level jargon rather than also including broader natural terms like 'tracing' or 'observability'.

DimensionReasoningScore

Specificity

The description lists multiple concrete capabilities — 'custom span attribute keys (`maple.*` vendor namespace, `query.context`, `db.query.*`, `result.*`, `cache.*`, `tenant.*`)', 'Title Case status codes (`Ok`/`Error`/`Unset`)', 'resource attribute dual-emit', 'Tinybird MV pre-extracted columns', 'loop-prevention filters, and sampling' — comprehensive and domain-specific, matching the score-5 anchor. It is not the 4 anchor because there are no noticeable coverage gaps.

5 / 5

Completeness

It explicitly answers both what (the enumerated conventions) and when ('Use whenever writing or reviewing instrumentation code in any language (TypeScript, Rust, Python) in this repo: adding `setAttribute`/... calls, setting span status, configuring an OTLP exporter, ...'), matching the score-5 anchor with concrete trigger phrases. Not 4, because the 'when' clause is fully explicit rather than improvable.

5 / 5

Trigger Term Quality

Good keyword coverage including concrete API terms users would say when adding instrumentation: 'setAttribute`/`setAttributes`/`record`/`#[instrument(fields(...))]', 'setting span status', 'configuring an OTLP exporter', plus language names (TypeScript, Rust, Python). It falls short of the 5 anchor because broader natural phrasings a user might say ('telemetry', 'tracing', 'observability') are absent as standalone trigger terms.

4 / 5

Distinctiveness Conflict Risk

It occupies a clear niche ('Maple's OpenTelemetry conventions', scoped to 'in this repo' and `WarehouseQueryService.compiledQuery()`) with distinct triggers, so it is unlikely to fire for unrelated skills. It is well above the 4 anchor, which still allows minor overlap risk with closely related skills.

5 / 5

Total

19

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

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.