CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

flux-controller-minor-releases

Run the upstream Flux controller minor release procedure for helm-controller, image-automation-controller, image-reflector-controller, kustomize-controller, notification-controller, source-controller, and source-watcher. Use when cutting a new controller minor release (vX.Y.0): creating the release series branch, drafting the minor changelog, tagging, merging the release branch back to main, and adding the backport label.

Quality

95%

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.

A high-quality operational skill: every step is executable with exact commands, the multi-controller release workflow is rigorously sequenced with validation gates and recovery paths, and the guidance captures genuinely non-obvious domain knowledge. The only weaknesses are deliberate rule repetition across 'Important rules' and 'Critical Checks' that inflates token cost, and a monolithic single-file layout where the changelog and API-bump deep-dives could be externalized.

Suggestions

Consolidate duplicated rules: state the fetch-before-reasoning rule, the release wave order, and the bump-before-cut requirement once (e.g. in their canonical sections) and have 'Critical Checks' reference them by name instead of restating them, saving tokens without losing the checklist function.

Move the 'Selecting the PRs' changelog methodology and 'Useful Local Queries' sections into reference files (e.g. references/changelog-selection.md, references/queries.md) with one-line pointers from the main flow, keeping SKILL.md focused on the 11-step release procedure.

In the 'How To Build The Changelog Entry' section, replace the two long prose paragraphs in step 3 about patch-shipped exclusions with a compact worked example (a before/after candidate list), which is easier to follow than the narrative description of the matching-by-change rule.

DimensionReasoningScore

Conciseness

The body is dense with non-obvious operational knowledge (wave ordering, two-commit release PR rule, api-tag-before-release-tag, per-module go.mod bumping) and wastes few tokens on concepts Claude already knows. However, several rules are stated two or three times — the fetch rule appears in 'Preconditions' and 'Critical Checks', the release order in both its own section and 'Critical Checks', and the bump-before-cut rule in the 'Hard rule' and step 1 — so it sits at 'efficient; minor instances that could be trimmed' rather than the lean anchor 5.

4 / 5

Actionability

Fully executable throughout: exact git commands ('git switch -c release/vX.Y.x main', 'git tag -s -m "api/vX.Y.0" api/vX.Y.0'), exact gh invocations with --json field lists and a jq expression, a copy-paste YAML snippet for the backport label, exact commit messages, and PR title/body templates. This is copy-paste-ready guidance covering the common cases, matching the anchor 5 example's standard.

5 / 5

Workflow Clarity

Eleven numbered steps in explicit sequence with ordering rationale (waves, 'Push the api/ tag first', 'Why last' for the label PR) and abundant validation checkpoints for this batch/upstream operation: 'git fetch --all --tags --prune' before reasoning about refs, CI green plus maintainer approval before every merge, 'Confirm both version refs are vX.Y.0 on the merged commit before tagging', and verifying the tag-triggered workflow completes. Feedback loops for error recovery are explicit (rebase + force-with-lease if the label PR is opened early, amend-to-two-commits for review feedback, 'go build ./...' / 'go vet ./...' after API bumps), which clears the destructive/batch validation cap and matches anchor 5.

5 / 5

Progressive Disclosure

Well-sectioned with clear headers and explicit internal cross-references ('see "Bumping the API in dependent controllers"', 'see "How To Build The Changelog Entry"'), and there are no bundle files to nest — everything is one level deep in SKILL.md. It falls short of anchor 5 because a ~330-line single file inlines substantial material that could be split out for this multi-part procedure (the changelog PR-selection methodology and 'Useful Local Queries' would sit naturally in reference files), which is the 'minor organization gaps' of anchor 4 rather than fully appropriate placement.

4 / 5

Total

18

/

20

Passed

Description

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

An exemplary description: concrete, comprehensive action list, explicit 'Use when' trigger with the version pattern, and a tightly scoped niche naming the exact repositories. It follows third-person/imperative voice and contains no fluff or over-claims.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — 'creating the release series branch, drafting the minor changelog, tagging, merging the release branch back to main, and adding the backport label' — and names all seven target controllers, giving comprehensive coverage of the procedure. Nothing is left at a generic 'helps with releases' level.

5 / 5

Completeness

Explicitly answers what ('Run the upstream Flux controller minor release procedure...creating the release series branch...adding the backport label') and when ('Use when cutting a new controller minor release (vX.Y.0)') with a concrete trigger phrase. Not 4, because the 'when' clause is fully explicit rather than merely present.

5 / 5

Trigger Term Quality

Natural maintainer phrasings are all present: 'cutting a new controller minor release', the version pattern '(vX.Y.0)', 'changelog', 'tagging', 'backport label', and each controller name (e.g. 'source-controller'), so a request like 'cut source-controller v2.5.0' would match. This fits the comprehensive-coverage anchor better than anchor 4, which reserves room for missing natural terms.

5 / 5

Distinctiveness Conflict Risk

A clear niche scoped to 'upstream Flux controller' minor releases with the seven repos enumerated, so overlap with generic release/git skills or the flux2 release procedure is minimal. Anchor 5 (distinct triggers, minimal conflict) is the best fit; anchor 4 would imply notable overlap with a closely related skill, which the explicit controller list forecloses.

5 / 5

Total

20

/

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

fluxcd/agent-skills

Path

internal/skills/flux-controller-minor-releases/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.