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

Optimize this skill with Tessl

npx tessl skill review --optimize ./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 comprehensive, executable coverage of the LaunchDarkly custom metrics lifecycle with correct API endpoints and SDK usage. However, it is significantly over-verbose — repetitive boilerplate across API functions, redundant tracking pattern examples, and an inline SessionMetricsTracker class inflate the token cost substantially. The workflow is well-sequenced but lacks validation checkpoints for destructive operations like delete.

Suggestions

Consolidate the repetitive API functions into a single generic helper with a brief table of endpoints/methods, rather than repeating auth headers and error handling 5 times.

Reduce the tracking patterns section to 1 example with a brief note about varying metric_key/data, rather than 4 nearly identical functions.

Move the SessionMetricsTracker class and API key detection function to separate bundle files, referencing them from the main skill.

Add a validation checkpoint before delete (e.g., confirm metric exists and is not attached to active experiments) and a verify step after create before tracking.

DimensionReasoningScore

Conciseness

The skill is extremely verbose at ~350+ lines. Many functions are repetitive (every API function repeats the same auth header/error handling boilerplate). The tracking patterns section has 4 nearly identical functions that differ only in metric key and data fields. The SessionMetricsTracker class and API key detection function add significant bulk that Claude could easily construct from brief instructions. Claude doesn't need to be shown how to make HTTP requests with requests library.

1 / 3

Actionability

All code examples are fully executable Python with correct API endpoints, proper request headers, and complete function signatures. The complete workflow example ties all steps together in a copy-paste ready manner. Required fields and common error codes (400, 409, 404) are documented with handling.

3 / 3

Workflow Clarity

The lifecycle overview table and numbered sections (1-5) provide clear sequencing. The complete workflow example demonstrates the full flow. However, there are no validation checkpoints — the delete operation has no confirmation step, there's no verification that a metric was successfully created before tracking events, and no error recovery loops for failed API calls.

2 / 3

Progressive Disclosure

The content references related skills (sdk, built-in-metrics, online-evals) and external docs, which is good. However, the massive amount of inline code — especially the SessionMetricsTracker class, the 4 tracking pattern functions, and the API key detection — should be in separate reference files. The skill is monolithic when much of this content could be split out.

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 well at specifying concrete actions and covering the full lifecycle of metric management, demonstrating good 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 distinguished from general monitoring or analytics 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 and reduce ambiguity.

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 specific actions and lifecycle coverage, but lacks an explicit 'Use when...' clause or equivalent trigger guidance. The 'when' is only implied by the capabilities 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 generic 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.