CtrlK
BlogDocsLog inGet started
Tessl Logo

service

Create or modify a service package following OpenMeter conventions. Use when building new domain packages or modifying existing service/adapter layers.

60

Quality

71%

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

Fix and improve this skill with Tessl

tessl review fix ./.agents/skills/service/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

65%Weight 40%Scale 1-3

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

The body is highly actionable, packed with executable Go templates and concrete paths that a competent Claude can apply directly. Its weaknesses are length/repetition that could be tightened, a creation workflow missing explicit build/verify checkpoints, and a monolithic structure with no bundle files to split detail into.

Suggestions

Add explicit verification checkpoints to the creation workflow (e.g. after "Run make generate": "verify wire_gen.go regenerates and the package compiles before implementing API handlers").

Move the large reference catalogs (full custom-error type list, complete Wire wiring template) into a references/ bundle file and link to it from SKILL.md to reduce inline length and improve progressive disclosure.

Trim repeated "See openmeter/... for examples" pointer lines by consolidating them into a single "Reference packages" section.

DimensionReasoningScore

Conciseness

The body is dense and assumes Claude's competence without explaining basics, but at ~520 lines it is long and contains repeated example-pointer lines plus inline sections (full Wire wiring, full error catalog) that could be tightened, fitting anchor 2 rather than the every-token-earns-its-place anchor 3.

2 / 3

Actionability

Provides fully executable, copy-paste-ready Go templates (transaction boilerplate, Validate() patterns, entity mapping, Wire provider), concrete file paths, and specific commands like "Run make generate", matching the fully-executable anchor and not the incomplete anchor 2.

3 / 3

Workflow Clarity

The Workflow section gives a clear 12-step creation sequence and 4-step modification sequence, but explicit validation/verification checkpoints between steps (e.g. "verify the build compiles after make generate") are absent from the workflow even though it involves code-generation and wiring, capping it at anchor 2 per the destructive/batch-operations guideline.

2 / 3

Progressive Disclosure

Sections are well-organized and references to real example files are one level deep with no nested bundles, but the skill ships as a single monolithic SKILL.md (~520 lines) with no bundle files (references/, scripts/, assets/ absent) to offload detailed catalogs, fitting anchor 2 rather than the cleanly-split anchor 3.

2 / 3

Total

9

/

12

Passed

Description

77%Weight 40%Scale 1-3

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 clearly answers both what the skill does and when to use it with an explicit Use-when trigger and concrete actions. It is slightly held back by generic "service package" phrasing that could overlap with related skills and by missing some natural trigger variations.

Suggestions

Add more natural trigger phrasings users would say, e.g. "Use when adding a new OpenMeter service, scaffolding a domain package, or wiring service/adapter layers".

Sharpen distinctiveness by naming the stack/scope more specifically (e.g. "Go service/adapter package using ent ORM and Wire") to reduce overlap with /api and /db-migration skills.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — "Create or modify a service package", "building new domain packages", "modifying existing service/adapter layers" — matching the multiple-specific-actions anchor rather than the single-domain anchor at 2.

3 / 3

Completeness

Explicitly states what ("Create or modify a service package following OpenMeter conventions") and an explicit "Use when" trigger for when, satisfying the both-what-and-when-with-triggers anchor; not 2 because the when clause is explicit rather than implied.

3 / 3

Trigger Term Quality

Relevant natural terms like "service package", "domain packages", and "service/adapter layers" are present, but common variations a user might say (e.g. "add a new OpenMeter service", "ent service") are missing, fitting anchor 2 over the fuller coverage of anchor 3.

2 / 3

Distinctiveness Conflict Risk

Scoped to OpenMeter service/adapter packages which is a niche, but the fairly generic phrase "service package" could overlap with sibling skills like /api and /db-migration referenced in the body, so it lands at anchor 2 rather than the conflict-free anchor 3.

2 / 3

Total

10

/

12

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.

Validation13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

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

Warning

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

frontmatter_unknown_keys

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

Warning

Total

13

/

16

Passed

Repository
openmeterio/openmeter
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.