CtrlK
BlogDocsLog inGet started
Tessl Logo

agent-release-manager

Agent skill for release-manager - invoke with $agent-release-manager

52

2.51x
Quality

33%

Does it follow best practices?

Impact

78%

2.51x

Average score across 3 eval scenarios

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./.agents/skills/agent-release-manager/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

42%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 sprawling, padded monolith: it contains a real, useful workflow (swarm setup, branch creation, multi-package version bumps, validation, PR creation) buried in marketing-style example prose, generic best-practice filler, and non-executable pseudocode placeholders. It also opens with a stray second YAML frontmatter block, a structural defect that confuses where the actual skill metadata lives.

Suggestions

Cut the Best Practices, Monitoring and Metrics, and Release Strategies sections — they restate knowledge Claude already has (semver, rollback concepts) as generic bullets — and move the example PR body template and CI/CD YAML into a references/ file, leaving SKILL.md as a lean overview.

Make the code examples executable: replace '[updated package.json]' and '[comprehensive release description]' placeholders with real content or a command that generates them, and use real path separators instead of '$'.

Add explicit validation checkpoints to the pipeline ('only create the PR if npm test and lint pass; abort and report on failure') and turn the abstract rollback plan into concrete steps, since this skill performs batch operations on live repos.

Remove the duplicate second YAML frontmatter block (lines 6-42) so the file has exactly one frontmatter section.

DimensionReasoningScore

Conciseness

The ~370-line body is heavily padded: a full example PR body with emoji marketing headers ('### 🎯 Release Highlights'), a generic Best Practices section of platitudes ('Security vulnerability scanning', 'User communication and notifications'), a Monitoring and Metrics list of generic bullet nouns, and explanations of concepts Claude already knows (semantic versioning semantics, what rollback plans are). This matches 'Noticeably verbose; several unnecessary explanations or padded sections' (level 2); it is not level 1 because the usage-pattern sections do contain real, non-obvious material (MCP tool call shapes, hook scripts).

2 / 5

Actionability

There is genuinely concrete material (npm test/lint/build commands, gh pr create invocations, a GitHub Actions YAML block, MCP tool call examples), but much of it is non-executable as written: MCP calls are shown in pseudo-invocation syntax ('mcp__claude-flow__swarm_init { topology: ... }'), file writes contain literal placeholders ('[updated package.json]', '[comprehensive release description]'), and paths use '$' in place of separators. This straddles 'Some concrete guidance but incomplete; pseudocode instead of executable code' (level 3) — above level 2 because the shell/CI snippets are real commands, below level 4 because the core orchestration flow cannot be run as shown.

3 / 5

Workflow Clarity

A rough sequence exists (swarm init → branch → version bumps → validation → PR → merge/deploy, mirrored by the TodoWrite checklist), but this is a batch operation touching live repos (push_files, PR creation, deployment) and there are no validation checkpoints or feedback loops: no 'if tests fail, stop', no gate between validation and PR creation, and the rollback plan is described abstractly rather than as steps. Per the rubric's cap for batch operations without validation, workflow clarity cannot exceed 3.

3 / 5

Progressive Disclosure

The body has clear section headers (Usage Patterns, Batch Release Workflow, Release Strategies, Best Practices, CI/CD) so it is not the unstructured monolith of level 2, but everything — the 50-line PR body template, the CI YAML, the strategy definitions — is inlined in a single 370-line file with no references/ or scripts/ bundle (the directory listing shows none exist). This fits 'Some structure but could be better organized... content that should be separate is inline' (level 3), below level 4 because no material is offloaded to separate files at all.

3 / 5

Total

11

/

20

Passed

Description

23%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 frontmatter description is boilerplate auto-generated filler: it labels the skill and gives an invocation token but says nothing about what the skill actually does or when to use it. The real descriptive content (capabilities, purpose) is stranded in a second YAML block in the body where the description-matching machinery will never read it.

Suggestions

Rewrite the frontmatter description to list concrete actions in third person, e.g. 'Coordinates multi-package releases: version bumping, changelog generation, validation, and PR creation via GitHub and ruv-swarm.'

Add an explicit trigger clause: 'Use when cutting a release, publishing a new version, coordinating version bumps across packages, or preparing release PRs.'

Remove the duplicated second YAML frontmatter block from the body and fold its meaningful fields (description, tools) into the single frontmatter so there is one canonical description.

DimensionReasoningScore

Specificity

The description 'Agent skill for release-manager - invoke with $agent-release-manager' names no concrete action whatsoever — there is not even a generic verb like 'Processes' or 'Coordinates'. It is pure abstract labeling ('Agent skill for...'), matching the anchor 'Entirely vague; no concrete actions; pure abstract language' and clearly below the level-2 anchor, which requires at least a minimal/generic action alongside the domain name.

1 / 5

Completeness

The 'what' is only weakly implied by the skill name (release management) and the 'when' is entirely absent — there is no 'Use when...' clause or equivalent, which caps completeness at 3 per the judging guidelines, and the vagueness of the 'what' pushes it to the anchor 'Has a vague what and no when'. The richer description ('Automated release coordination and deployment...') exists only in a second, non-standard YAML block in the body, not in the frontmatter being evaluated.

2 / 5

Trigger Term Quality

The only keywords are 'release-manager' and the literal invocation token '$agent-release-manager' — technical jargon/slash-command syntax rather than natural phrases a user would say ('cut a release', 'publish a version', 'deploy', 'changelog'). This fits 'One or two generic keywords; missing the natural phrases users say' (level 2); it is above level 1 only because 'release' is a relevant domain term, and below level 3 because no synonyms or variations appear.

2 / 5

Distinctiveness Conflict Risk

'release-manager' does name a niche that is reasonably distinguishable from generic file/document skills, but the boilerplate 'Agent skill for X - invoke with $X' pattern means it would compete with every sibling skill of the same family (pr-manager, issue-tracker, sync-coordinator), matching 'Somewhat specific but could still overlap with similar skills'. It lacks the distinct trigger phrases of the level-4/5 anchors.

3 / 5

Total

8

/

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
ruvnet/ruflo
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.