CtrlK
BlogDocsLog inGet started
Tessl Logo

rum-tracking

Guides product analytics and RUM (Real User Monitoring) event tracking in web (React/Next.js) and mobile (React Native/Expo) apps. Decides what user interactions are valuable to capture, what's noise, what's PII to avoid, and how to implement, audit, update, and remove tracking code cleanly. Covers event naming, property schemas, tracking plans, GDPR/CCPA/DPDPA compliance, OpenTelemetry semantic conventions for browser and mobile RUM, and platforms (PostHog, Segment, Mixpanel, Amplitude, Datadog RUM, Sentry, OTel, Dash0). Modes: guide (default), implement, audit, remove, plan. Triggers on "track this event", "add analytics", "what should I track", "is this PII", "tracking plan", "remove tracking", "audit analytics", "/rum-tracking".

67

Quality

84%

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

66%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-orchestrated thin-index SKILL.md with outstanding mode-based workflow design, explicit gates, and a closing checklist — but the bundle is incomplete: 12 of the 14 referenced rule/template files are absent, so the on-demand loading the whole skill depends on cannot actually happen. The description and structure are strong; the bundle contents are the critical gap.

Suggestions

Ship the referenced bundle files: all ten `rules/*.md` files (what-to-track, what-not-to-track, pii-and-compliance, event-design, otel-conventions, tracking-plan, implementation-web, implementation-mobile, audit-checklist, update-and-remove) and both `templates/*` files are referenced but missing from the bundle — every mode's step 1 currently fails.

De-duplicate the file lists: the Workflow-by-Mode sections and the Required Reading by Mode table repeat the same file references; keep the per-mode steps as actions and let the table carry the file loading.

Inline the minimal wrapper contract (the `track()` signature and event-name union) in SKILL.md so implement mode has executable guidance even before `templates/analytics-wrapper.template.ts` is loaded.

DimensionReasoningScore

Conciseness

The body is lean — mode tables, numbered steps, one-line anti-patterns — and explains nothing Claude already knows. The one trim opportunity is duplication: the Workflow-by-Mode steps restate the exact file lists that the Required Reading by Mode table already carries. Efficient with minor instances that could be tightened, so 4 rather than 5.

4 / 5

Actionability

The in-body guidance is concrete (explicit gates like "gate the user before writing instrumentation", "PII gate... on every property before the diff is final", "Mark `deprecated` first, set a sunset date, then remove"), but nearly all executable detail is deferred to `rules/*.md` and `templates/*.md`, and 12 of the 14 referenced paths do not exist in the bundle. Every mode's first step ("Load rules/what-to-track.md") points at a missing file, leaving key implementation details unavailable — some concrete guidance but incomplete.

3 / 5

Workflow Clarity

Five modes each get a clear numbered sequence with explicit validation checkpoints: the plan-exists gate before instrumentation, the PII gate before the diff is final, downstream-consumer identification before deletion, and a Definition of Done checklist closing the loop. Remove mode's destructive risk is explicitly safeguarded (deprecate first, sunset date, update plan in same PR), so the destructive-operation cap does not apply.

5 / 5

Progressive Disclosure

The index design itself is excellent — one level deep, clearly signaled, organized by mode — but scored against the actual bundle: only `references/event-catalog.md` and `references/platforms.md` exist. All ten `rules/*.md` files and both `templates/*` files referenced throughout the body are dangling, so navigation leads to dead ends for 12 of 14 paths. The claimed structure is not realized on disk, which is as broken as buried or missing references.

2 / 5

Total

14

/

20

Passed

Description

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

An exemplary description: it states what the skill does across all five modes in concrete third-person language, enumerates coverage areas including compliance and platforms, and closes with an explicit, natural trigger-phrase list. No vague fluff or over-claims.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions spanning the full lifecycle — "Decides what user interactions are valuable to capture, what's noise, what's PII to avoid, and how to implement, audit, update, and remove tracking code cleanly" — plus concrete coverage areas (event naming, property schemas, tracking plans, GDPR/CCPA/DPDPA compliance, named platforms). Coverage is comprehensive with no gaps, matching the 5 anchor rather than 4.

5 / 5

Completeness

Both what ("Guides product analytics and RUM event tracking... implement, audit, update, and remove tracking code") and when (the explicit "Triggers on..." clause with concrete phrases) are clearly stated, matching the 5 anchor. Third-person voice is used throughout ("Guides", "Decides", "Covers"), so no voice penalty applies.

5 / 5

Trigger Term Quality

An explicit trigger list of eight natural phrases users would actually say — "track this event", "add analytics", "what should I track", "is this PII", "tracking plan", "remove tracking", "audit analytics", "/rum-tracking" — covering synonyms across all five modes. Nothing significant is missing for the domain, so it fits the comprehensive 5 anchor over 4.

5 / 5

Distinctiveness Conflict Risk

A clear niche — product-analytics/RUM event tracking for React/Next.js and React Native/Expo — with named platforms (PostHog, Segment, Mixpanel, Amplitude, Datadog RUM, Sentry, OTel, Dash0) and analytics-specific triggers unlikely to fire for unrelated skills. Minor overlap with dedicated OTel instrumentation skills exists but the scoping to analytics events keeps conflict risk minimal.

5 / 5

Total

20

/

20

Passed

Validation

81%

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

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

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

Warning

relative_links

Relative link issues: 35 missing

Warning

Total

13

/

16

Passed

Repository
mthines/agent-skills
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.