CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

release

Cut an OpenWork release, release the app, publish a new version, rerun or recover a release tag, verify release assets. Tag-driven GitHub Actions release that makes zero commits to the repo.

Quality

86%

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.

An operationally dense, copy-paste-ready runbook with an explicit sequenced workflow, validation checkpoints, gated destructive operations, and well-signaled pointers to repo runbook and validation tooling. Its only weaknesses are minor: a few trimmable justification passages and an inlined pre-flight section that could live in a reference file.

DimensionReasoningScore

Conciseness

Nearly every line is a command or a repo-specific constraint Claude cannot infer ("Versions live in git tags only", "A release is done when the run is green and the GitHub release is published", the v0.18.52 checksum-mismatch failure mode), with no explanation of concepts Claude already knows. It is not 5 because a few passages could be trimmed — the incident 2026-09-09 backstory and its Warden mechanics ("warden.yml skips them and warden-clearance.yml requires head_repository == repository") state more justification than needed to act — and not 3 because there is no padded or redundant material beyond those minor spots.

4 / 5

Actionability

Fully executable, copy-paste-ready commands throughout: `pnpm release:cut` variants, `gh workflow run "Release App" ... -f bump=patch`, the gh+jq PR-triage scripts, `gh run watch <run-id> --exit-status`, `gh release view ... --json assets`, the `curl -sI` asset spot-check, and `npm view openwork-server version`. It covers the common cases (default cut, manual equivalent, expedited admin tag, rerun/recovery, verification); the only placeholders (vX.Y.Z, <sha>, <run-id>) are appropriately parameterized. Not 4 — no gaps exist.

5 / 5

Workflow Clarity

Clear, ordered sequence — pre-flight fork-PR triage, cut, watch, verify, validate — with explicit validation checkpoints ("never when the tag is created" done-criterion, `--exit-status` watch, asset-name verification, the validate-a-release gate before declaring rollout-safe) and explicit error-recovery loops ("If the run fails before the release is published: land the fix on dev ... cut the next patch"). The destructive tag-delete is gated ("Only delete/recreate a tag after verifying the GitHub release is still draft-only") and ship-anyway decisions require a recorded decision. Not 4 — checkpoints and recovery paths are explicit, not implicit.

5 / 5

Progressive Disclosure

A well-sectioned single file with clear headers and one-level-deep, clearly signaled pointers to repo materials ("Full runbook: docs/RELEASING.md", scripts/release/stamp-version.mjs and verify-tag.mjs, the validate-a-release skill path). No bundle files (references/, scripts/, assets/) exist, so this scores the file's own structure: good organization, but the ~55-line pre-flight triage section with two gh/jq scripts is inlined where a reference file could carry it, and the skill is well over the 50-line simple-skill exception. Not 5 (not a lean overview with split-out references); not 3 (structure and navigation are clear, references are signaled, not buried).

4 / 5

Total

18

/

20

Passed

Description

78%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 specific, trigger-rich description with concrete verbs and good synonym coverage, weakened by the absence of an explicit 'Use when...' clause and by minor overlap with validate-a-release around 'verify release assets'. Adding a use-when clause would move completeness from 3 to 4-5.

Suggestions

Add an explicit 'Use when...' clause, e.g. 'Use when cutting, tagging, recovering, or verifying an OpenWork release, or when asked to publish a new app version.'

Disambiguate from the validate-a-release skill: narrow 'verify release assets' (e.g. 'check that published release assets exist') or explicitly defer post-publish artifact validation to validate-a-release.

Include the phrase 'GitHub release' explicitly so searches for 'GitHub release' or 'release tag' route here naturally.

DimensionReasoningScore

Specificity

The description enumerates concrete actions — "Cut an OpenWork release, release the app, publish a new version, rerun or recover a release tag, verify release assets" — plus the mechanism ("Tag-driven GitHub Actions release that makes zero commits to the repo"), covering cut/publish/rerun/recover/verify across the whole workflow. This matches the anchor for multiple specific concrete actions with comprehensive coverage; anchor 4 ('several specific actions; minor gaps') fits less well because coverage here spans every phase of the release lifecycle.

5 / 5

Completeness

The 'what' is clear ("Tag-driven GitHub Actions release that makes zero commits to the repo") but there is no 'Use when...' clause or equivalent explicit trigger guidance — the action list only weakly implies when to use the skill. Per the rubric guideline, a missing 'Use when' clause caps completeness at 3; it is not 4 because 'when' is never stated explicitly, and not 2 because the 'what' is concrete and multi-faceted.

3 / 5

Trigger Term Quality

Natural user phrasings are comprehensively covered with synonyms: "cut a release", "release the app", "publish a new version", "rerun", "recover a release tag", "verify release assets" — the words a user would actually say when needing this skill. This clearly matches the comprehensive-synonyms anchor rather than anchor 4 ('a few natural terms missing'), since the description already spans the release/ship/publish/recover vocabulary of the domain.

5 / 5

Distinctiveness Conflict Risk

The 'OpenWork' qualifier and release-lifecycle verbs carve out a clear niche, but "verify release assets" overlaps with the closely related validate-a-release skill (which the body says checks updater-manifest sha512 and signing/notarization), so a user asking to 'verify the release' could route to the wrong skill. This is 'mostly distinct; minor overlap risk with closely related skills' (4) rather than the minimal-conflict anchor 5.

4 / 5

Total

17

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

referenced_paths_exist

Referenced path issues: 2 missing, 2 deeper-than-1-level

Warning

Total

15

/

16

Passed

Repository

different-ai/openwork

Path

.opencode/skills/release/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.