CtrlK
BlogDocsLog inGet started
Tessl Logo

release-digest

Post a "what's changed since the last release" recap to the release Slack channel for final QA. Groups merged PRs by author and classifies each as feature / bug fix / task. Use when the user wants a release recap, a changelog since the last tag, or to prep QA before cutting a release from main.

73

Quality

90%

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

SKILL.md
Quality
Evals
Security

Quality

Content

88%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 a strong, executable four-phase workflow with explicit validation gates, user confirmation before the outward-facing post, and domain-specific guidance that Claude could not infer. Its only weaknesses are minor: the model-catalog rule is repeated three times, and the gather-output schema and classification policy are inlined where a reference file could slim SKILL.md further.

DimensionReasoningScore

Conciseness

Nearly all content is non-obvious, team-specific guidance (classification policy, Slack mrkdwn quirks like 'an underscore would close the italics mid-paragraph', ordering rules) that Claude could not infer, so it earns its tokens. Minor over-explanation remains — the model-catalog rule is stated in the Task bucket, again in its own bolded paragraph, and a third time as decision-order step 2 — so it fits 'efficient; minor instances that could be trimmed' rather than the lean anchor.

4 / 5

Actionability

Fully executable throughout: 'python3 .agents/skills/release-digest/scripts/gather_changes.py > /tmp/release_digest.json', the exact JSON output fields (prs[], direct_commits[], excluded_prs[], unresolved_prs[]), a complete copy-paste Slack message template, the channel ID 'C0BDGTGBL4Q', and the exact MCP tool name 'mcp__claude_ai_Slack__slack_send_message'. Matches the fully executable, common-cases-covered anchor.

5 / 5

Workflow Clarity

Four clearly sequenced phases with explicit validation checkpoints and feedback loops: 'If pr_count is 0 AND direct_commits is empty ... Do not post to Slack. Stop here', 'If non-empty, the change set is partial — tell the user which PRs couldn't load before posting', 'Show the composed message to the user and get confirmation before posting', plus a closing checklist. This is a batch/outward-facing operation and validation is present, so the cap at 3 does not apply.

5 / 5

Progressive Disclosure

The body is well-sectioned (Phase 1-4, Checklist) and the mechanical work is correctly externalized into the real bundle file scripts/gather_changes.py (verified to exist and match its in-body description), referenced one level deep. Minor gap: the full gather-output JSON schema and the long classification policy are inlined rather than split into a reference file, keeping it just below the 'clear overview with well-signaled references' anchor.

4 / 5

Total

18

/

20

Passed

Description

92%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 is strong: concrete third-person actions, an explicit 'Use when...' clause with natural trigger phrases, and a distinct niche. The only minor gap is a few missing trigger synonyms such as 'release notes'.

DimensionReasoningScore

Specificity

Quotes: "Post a 'what's changed since the last release' recap to the release Slack channel", "Groups merged PRs by author and classifies each as feature / bug fix / task". Multiple specific concrete actions that comprehensively cover what the skill does, matching the anchor for comprehensive coverage; a score of 4 would require a noticeable gap in action coverage, which is absent.

5 / 5

Completeness

Quotes the what ("Post a ... recap to the release Slack channel ... Groups merged PRs by author and classifies each") and an explicit when ("Use when the user wants a release recap, a changelog since the last tag, or to prep QA before cutting a release from main"). Both what and when are clearly and explicitly answered with concrete trigger phrases; a 4 would require the when to be less explicit.

5 / 5

Trigger Term Quality

Quotes: "release recap", "a changelog since the last tag", "prep QA before cutting a release from main". Good keyword coverage with natural phrases users would say, but a few common synonyms are missing (e.g. "release notes", "what's new"), so it fits 'good coverage; a few natural terms missing' rather than the comprehensive anchor.

4 / 5

Distinctiveness Conflict Risk

Quotes: "what's changed since the last release", "recap to the release Slack channel", "changelog since the last tag". A clear niche (pre-release recaps posted to a specific release channel) with distinct triggers and minimal conflict risk with generic changelog or git-log skills.

5 / 5

Total

19

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
Kiln-AI/Kiln
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.