CtrlK
BlogDocsLog inGet started
Tessl Logo

custom-metrics

Create, track, retrieve, update, and delete custom business metrics for configs. Covers full lifecycle: define metric kinds via API, emit events via SDK, and query results.

50

Quality

55%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Risky

Do not use without reviewing

Fix and improve this skill with Tessl

tessl review fix ./skills/agentcontrol/custom-metrics/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

50%

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

The skill provides highly actionable, executable code covering the full CRUD lifecycle for LaunchDarkly custom metrics, which is its primary strength. However, it is significantly over-verbose — repeating boilerplate patterns across every function (auth headers, error handling, print statements) and including extensive tracking pattern examples that inflate token cost without proportional benefit. Adding validation checkpoints (e.g., verify metric exists before tracking) and consolidating repetitive code into a shared helper would substantially improve both conciseness and workflow clarity.

Suggestions

Extract repeated boilerplate (API_TOKEN retrieval, headers construction, status code handling) into a single shared helper function, then show each CRUD operation as a concise call to that helper.

Add explicit validation steps: verify metric creation succeeded (check response) before proceeding to track events, and add a confirmation prompt or check before delete operations.

Reduce the number of tracking pattern examples from 4 to 1-2 representative ones — Claude can generalize from fewer examples.

Move the SessionMetricsTracker class and detailed tracking patterns to a separate reference file (e.g., PATTERNS.md) and link to it from the main skill.

DimensionReasoningScore

Conciseness

Extremely verbose at ~350+ lines. Many functions are repetitive (same boilerplate for API_TOKEN, headers, error handling repeated 5+ times). The SessionMetricsTracker class, multiple tracking pattern examples, and extensive print statements add bulk without proportional value. Claude already knows how to make HTTP requests and handle status codes.

1 / 3

Actionability

All code is fully executable Python with concrete API endpoints, correct HTTP methods, proper headers, and realistic examples. The complete workflow example ties all CRUD operations together in a copy-paste ready sequence.

3 / 3

Workflow Clarity

The lifecycle table and numbered sections (Create → Track → Get → Update → Delete) provide clear sequencing, and the complete workflow example demonstrates the flow. However, there are no validation checkpoints — no verification that a metric was successfully created before tracking events, no error recovery loops, and the delete operation (destructive) has no confirmation step.

2 / 3

Progressive Disclosure

References to related skills (sdk, built-in-metrics, online-evals) and external docs are well-signaled. However, the content is monolithic — the SessionMetricsTracker class, common tracking patterns, and detailed CRUD functions could be split into separate reference files. For a standalone SKILL.md with no bundle, too much detail is inline.

2 / 3

Total

8

/

12

Passed

Description

60%

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 does a good job listing specific concrete actions and covering the full lifecycle of metric management, giving it strong specificity. However, it lacks an explicit 'Use when...' clause which hurts completeness, and the trigger terms are somewhat technical/domain-specific rather than matching natural user language. The domain could be more clearly scoped to reduce potential overlap with other metrics-related skills.

Suggestions

Add an explicit 'Use when...' clause, e.g., 'Use when the user wants to define, track, or query custom business metrics for their configs, or mentions metric kinds, event emission, or metrics API.'

Include more natural trigger term variations such as 'analytics', 'tracking events', 'counters', 'KPIs', or the specific platform/product name to improve discoverability.

Clarify what 'configs' refers to (e.g., a specific product or platform) to improve distinctiveness and reduce conflict risk with generic metrics/monitoring skills.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions: create, track, retrieve, update, delete custom business metrics. Also specifies lifecycle steps: define metric kinds via API, emit events via SDK, and query results.

3 / 3

Completeness

Clearly answers 'what does this do' with the full lifecycle description, but lacks an explicit 'Use when...' clause or equivalent trigger guidance. The 'when' is only implied by the actions listed, which caps this at 2 per the rubric guidelines.

2 / 3

Trigger Term Quality

Includes some relevant terms like 'metrics', 'API', 'SDK', 'configs', 'events', but misses common user-facing variations. Terms like 'custom business metrics' and 'metric kinds' are somewhat domain-specific and may not match how users naturally phrase requests. Missing terms like 'analytics', 'tracking', 'counters', 'gauges', or specific product/platform names.

2 / 3

Distinctiveness Conflict Risk

The mention of 'custom business metrics for configs' and the specific lifecycle (metric kinds via API, emit events via SDK) provides some distinctiveness, but 'metrics' and 'configs' are fairly broad terms that could overlap with monitoring, observability, or general configuration skills.

2 / 3

Total

9

/

12

Passed

Validation

90%

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

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (504 lines); consider splitting into references/ and linking

Warning

Total

10

/

11

Passed

Repository
launchdarkly/ai-tooling
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.