CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

loop-verifier

Independent checker for release note drafts. Reviews accuracy against the changelog-scan data, tone, completeness, and flags breaking/security items. Use after draft-release-notes. Never let the drafter verify itself.

Quality

85%

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

78%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 lean, well-structured instruction-only skill with a copy-paste output template and an effective verification checklist. Its main flaws are small but real: inconsistent verdict vocabulary (REJECT vs. the APPROVE/REVISE/ESCALATE_HUMAN enum), an undefined ESCALATE_HUMAN trigger, and a redundant hallucination check split across two checklist items.

Suggestions

Align the verdict vocabulary: the default stance says 'REJECT' but the output template only offers APPROVE | REVISE | ESCALATE_HUMAN — replace REJECT with REVISE (or add it to the enum) and add one line defining when to choose ESCALATE_HUMAN.

Merge the overlapping checklist items 1 and 3 ('no hallucinations' vs. 'no invented features') into a single check to remove redundancy.

Specify where the inputs live (e.g., state-file paths or how the orchestrator passes the scan output and draft) so the verifier can locate them without guessing.

DimensionReasoningScore

Conciseness

The ~43-line body is tight — a terse 6-item checklist, compact output template, and no explanation of concepts Claude already knows. It stops short of anchor 5 because of minor trims available: checklist items 1 ('Every item in the draft exists in the scan input (no hallucinations)') and 3 ('No invented features or incorrect attribution') overlap heavily, and the 12-line untrusted-input block could be slightly tightened. This matches anchor 4 ('efficient; minor instances... that could be trimmed') rather than 3, since nothing is padded or over-explained.

4 / 5

Actionability

Highly concrete for an instruction-only skill: an exact output skeleton ('## Draft Verdict: APPROVE | REVISE | ESCALATE_HUMAN', 'Scan coverage: good | missing items (list)', 'Accuracy: pass | issues (list)') and specific checks ('Tone matches the project (use any "Release voice" guidance provided)'). It is not anchor 5 because ESCALATE_HUMAN is offered in the template but its trigger criteria are never defined, and the Inputs section lists artifacts without saying where they come from — minor execution gaps matching anchor 4.

4 / 5

Workflow Clarity

The verify-and-verdict flow is clear: numbered checklist, explicit default stance ('Default stance: REJECT or require changes unless the draft is excellent'), a built-in feedback loop (REVISE verdict plus 'Recommended changes'), and an approval condition ('If everything is solid: APPROVE'). It misses anchor 5 on a real inconsistency: the stance says 'REJECT' but the output enum is 'APPROVE | REVISE | ESCALATE_HUMAN' — REJECT is not a valid verdict, and when to escalate to a human is undefined. This is a minor decision/checkpoint gap matching anchor 4, not 3 (this is not a destructive or batch operation, and checkpoints are explicit).

4 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are all absent), and this under-50-line skill needs none — the body is self-contained with well-organized sections (Inputs / Checklist / Output / Untrusted input) and a clearly signaled one-level background link. Per the rubric's simple-skill guideline this matches anchor 5; the only path mentioned, scripts/sync-untrusted-input.mjs, sits inside an editor-facing HTML comment, not consumer-facing navigation.

5 / 5

Total

17

/

20

Passed

Description

87%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 strong description: concrete actions, an explicit 'Use after...' trigger, and clear differentiation from the companion drafter skill. Its only weakness is keyword coverage that leans on internal tool names ('changelog-scan') rather than standalone natural synonyms like 'changelog' or 'release draft'.

DimensionReasoningScore

Specificity

Names the domain ('Independent checker for release note drafts') and several concrete actions — 'Reviews accuracy against the changelog-scan data, tone, completeness, and flags breaking/security items'. It falls just short of anchor 5 because coverage has minor gaps (no mention of producing a verdict output or the links/thanks and scannability checks the body performs), matching anchor 4's 'several specific actions; minor gaps'.

4 / 5

Completeness

Clearly answers 'what' ('Reviews accuracy... tone, completeness, and flags breaking/security items') and 'when' with an explicit, concrete trigger: 'Use after draft-release-notes', reinforced by 'Never let the drafter verify itself'. The 'when' is fully explicit and names the exact predecessor step, matching anchor 5 rather than anchor 4 (where 'when' could be more explicit or specific).

5 / 5

Trigger Term Quality

'release note drafts', 'breaking/security items', and 'draft-release-notes' are natural terms a user or orchestrator would say, giving good keyword coverage. 'changelog' appears only embedded in the tool name 'changelog-scan data', and standalone synonyms like 'changelog' or 'release draft' are missing, so it fits anchor 4 ('good keyword coverage; a few natural terms missing') rather than 5.

4 / 5

Distinctiveness Conflict Risk

It carves out a clear niche — verification of release-note drafts within a named two-skill loop — with explicit anti-conflict guidance ('Use after draft-release-notes. Never let the drafter verify itself'). This is a distinct trigger with minimal overlap risk, matching anchor 5; it is not merely 'mostly distinct' as in anchor 4.

5 / 5

Total

18

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

14

/

16

Passed

Repository

cobusgreyling/loop-engineering

Path

starters/changelog-drafter/.grok/skills/loop-verifier/SKILL.md

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.