CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

changelog-scan

Scan recent merges and commits since last release for changelog content.

Quality

56%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./starters/changelog-drafter/.codex/skills/changelog-scan/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

The body is admirably lean and pairs sensible output priorities with a well-crafted untrusted-input safety policy, but it is not actionable: the output format is delegated to a "reference implementation" absent from the bundle, and there are no commands, steps, or examples for scanning merges and commits since the last release. Inlining the format (or shipping the reference within the bundle) and adding concrete git commands with a validation checkpoint would resolve the main weaknesses.

Suggestions

Inline the "structured per-item + summary format" (or link the actual reference file inside the bundle) so the required output shape is reachable — currently the format-defining reference does not exist in the skill.

Add concrete enumeration commands, e.g. determining the last release tag and running `git log <last-tag>..HEAD --merges` / `gh pr list`, so the scan step is executable rather than implied.

Add a short example entry plus a validation checkpoint (e.g. verify every merged PR since the tag is represented) to give the batch operation a feedback loop.

DimensionReasoningScore

Conciseness

The body is lean and free of concept explanations Claude already knows; the "Untrusted input" block is dense operational safety policy rather than padding. It sits at anchor 4 rather than 5 because minor tokens could be trimmed (the background URL line, slight redundancy in the policy bullets) and the opening line spends tokens on an unresolvable pointer to "the reference implementation".

4 / 5

Actionability

"Produce the same structured per-item + summary format as the reference implementation" delegates the output format to a reference that is not present anywhere in the bundle, and no concrete commands (e.g., a tag-range git log to enumerate merges/commits) or example entries are given — only high-level hints like "Focus on user-facing changes" and "Explicitly list breaking and security signals". This matches anchor 2 (high-level hints, missing specific steps) rather than 3, which requires at least some concrete or executable guidance.

2 / 5

Workflow Clarity

No steps are listed; the implied sequence (locate the last release, enumerate merges/commits, produce per-item + summary output) has many gaps — including how "since last release" is determined — and no validation checkpoints for what is a batch operation over many items, matching anchor 2. It is above anchor 1 because the deliverable and focus are stated coherently, but below anchor 3 because steps are not even enumerated.

2 / 5

Progressive Disclosure

The body's only reference — "the reference implementation" that defines the required output format — has no path and does not exist in the bundle (no references/, scripts/, or assets/ are provided), so navigation to the essential content fails entirely; structure is otherwise minimal (two directive lines plus the "## Untrusted input" section). This fits anchor 2 (references buried/undiscoverable) rather than anchor 3, which presumes at least reachable, if unclearly signaled, external content.

2 / 5

Total

10

/

20

Passed

Description

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

The description states a clear, distinctive "what" with domain-appropriate keywords, but it omits any "when"/trigger clause and misses common synonyms such as "release notes". Adding an explicit use-when phrase and the missing synonyms would lift completeness and trigger quality.

Suggestions

Add an explicit trigger clause, e.g. "Use when the user asks for a changelog, release notes, or a summary of changes since the last release or tag."

Include natural synonyms users would say — "release notes", "PRs", "tags", "what changed" — to broaden trigger coverage.

Enumerate the concrete outputs (per-item entries plus a summary) in the description itself so the "what" is self-contained.

DimensionReasoningScore

Specificity

"Scan recent merges and commits since last release for changelog content" names a specific domain (merges/commits since last release) and one concrete action (scan for changelog content), matching the anchor for 1-2 concrete actions without comprehensive coverage. It is below anchor 4 because only a single action verb is present, and above anchor 2 because the domain and output purpose are concrete rather than generic.

3 / 5

Completeness

The description has a clear "what" ("Scan recent merges and commits since last release for changelog content") but no "Use when..." clause or equivalent trigger guidance, which the guidelines cap at 3. It cannot score 4 because the "when" is not merely imprecise — it is entirely absent.

3 / 5

Trigger Term Quality

Terms like "merges", "commits", "changelog", and "release" are natural phrases users would say, but common variations such as "release notes", "PRs", "tags", or "what changed since the last release" are missing. This fits anchor 3 (relevant keywords but missing common variations) rather than anchor 4, whose fuller coverage would require those synonyms.

3 / 5

Distinctiveness Conflict Risk

The changelog-from-git-history niche scoped "since last release" is distinct, but the words "commits" and "merges" could also appear in triggers for commit-message-writing or code-review skills, creating minor overlap risk (anchor 4). It falls short of anchor 5's minimal conflict risk because of that shared vocabulary, and is well above anchor 3's generic overlap.

4 / 5

Total

13

/

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/.codex/skills/changelog-scan/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.