CtrlK
BlogDocsLog inGet started
Tessl Logo

update-ci-images

Long-running orchestration to rebuild every Positron CI image (ubuntu24_04, rocky_8, rocky_9, debian, openSUSE15_6, SLES15_6, and postgres — each as a multi-arch amd64+arm64 manifest) at one new tag with a new Node version. Creates a branch + PR, bumps NODE_VERSION, dispatches the build workflows on that branch with bounded concurrency, monitors the runs, auto-fixes failures and retries, and leaves the PR open for human review once all 7 builds are green.

68

Quality

81%

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.

This is a strong operational skill: fully executable commands in every phase, a preflight gate, a real diagnose-fix-retry feedback loop with bounded retries and explicit escalation criteria, and bundle scripts that exist and match their documented usage. The only meaningful improvement is structural — moving the long 'Known failure patterns' section into a references file — plus minor tightening of a couple of explanatory passages.

DimensionReasoningScore

Conciseness

The body is dense with non-obvious operational knowledge (the gh-vs-REST PR-edit pitfall, the PPM publish-window race, the TinyTeX mirror round-robin) and assumes competence — no space is spent explaining git, gh, or Docker. It is not a 5 because a few passages run longer than needed, e.g. the PPM race root-cause narrative ('on the rolling latest channel, pak resolves a version from the PACKAGES metadata but the matching binary/source file can already have rotated out of latest mid-publish') and the caffeinate aside could each be tightened by a sentence or two. It is well above a 3: nearly every token is repo-specific hard-won detail, not generic explanation.

4 / 5

Actionability

Every phase gives copy-paste-ready commands with concrete arguments: `gh auth status`, `git -C "$REPO" switch -c update-images/<tag>`, `bash <dir>/scripts/bump-node-version.sh <node>`, `id=$(bash <dir>/scripts/dispatch-job.sh <branch> <tag> [os])`, `gh api -X PATCH repos/<owner>/<repo>/pulls/<n> -f body="$NEW_BODY"`, `gh run view <id> --log-failed`. The four referenced helper scripts exist in the bundle and their usage lines match the body's invocations. This matches the score-5 anchor: fully executable commands covering the common cases.

5 / 5

Workflow Clarity

Six clearly sequenced phases (Phase 0 preflight → Phase 5 finish) with explicit validation checkpoints: the preflight block must 'confirm all pass before changing anything' (clean tree, auth scopes, Node-version existence HEAD checks), and Phase 4 provides a full feedback loop (diagnose via --log-failed → classify by failure signature → fix/transient-retry → re-dispatch → per-root-cause counters with hard stop conditions at fix_attempts 3 / transient_retries 5 and an escalation report). This is a batch operation and validation is present, so the workflow-clarity cap at 3 does not apply. Matches the score-5 anchor: explicit validation, error-recovery loops, and a checklist (the PR body checklist ticked per green build).

5 / 5

Progressive Disclosure

The bundle is used well: all four script references (`scripts/bump-node-version.sh`, `bump-ppm-snapshot.sh`, `dispatch-job.sh`, `wait-for-runs.sh`) are real files one level deep, clearly signaled via the `<dir>` convention defined once ('`<dir>` of this skill below means `.claude/skills/update-ci-images`'), and the body correctly keeps the what/why inline while delegating the how. It is not a 5 because some well-bounded reference material is inlined rather than split — notably the 'Known failure patterns' section (~40 lines of terra/GDAL, PPM-race, and TinyTeX diagnosis detail) is prime `references/` material, and the repo-specific facts (the posit-dev/positron#14613 ref, the frozen debian date 2026-03-01, the rocky_8/rocky_9 divergence) would navigate better as a signaled one-level reference. Structure and signaling are otherwise good, matching the score-4 anchor.

4 / 5

Total

18

/

20

Passed

Description

75%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 exemplary on specificity and distinctiveness — it names every artifact, action, and outcome of the orchestration in third-person voice with no fluff. Its one structural weakness is the complete absence of a 'when to use' clause, which both caps completeness and leaves trigger guidance implicit.

Suggestions

Add an explicit trigger clause, e.g. 'Use when asked to rebuild/update the Positron CI images with a new Node version, or when NODE_VERSION needs a coordinated bump across all images.'

Include natural user phrasings as trigger synonyms ('update CI images', 'rebuild Docker images', 'bump Node in the CI images') so the description matches how a maintainer would actually ask.

State when NOT to use it (e.g. single-image rebuilds or PPM-snapshot-only repins) to further sharpen distinctiveness.

DimensionReasoningScore

Specificity

Quotes: 'rebuild every Positron CI image (ubuntu24_04, rocky_8, rocky_9, debian, openSUSE15_6, SLES15_6, and postgres — each as a multi-arch amd64+arm64 manifest) at one new tag with a new Node version. Creates a branch + PR, bumps NODE_VERSION, dispatches the build workflows on that branch with bounded concurrency, monitors the runs, auto-fixes failures and retries, and leaves the PR open for human review once all 7 builds are green.' It enumerates the exact artifacts and multiple concrete actions with comprehensive coverage, matching the score-5 anchor ('Lists multiple specific concrete actions; comprehensive coverage'). It is not a 4 because there are no meaningful coverage gaps — the full lifecycle (create, bump, dispatch, monitor, fix, finalize) is explicitly listed.

5 / 5

Completeness

The 'what' is fully and concretely answered (rebuild 7 named multi-arch images at one tag, bump NODE_VERSION, dispatch/monitor/auto-fix, leave PR open). However, there is no 'when' at all — no 'Use when...' clause or equivalent explicit trigger guidance ('Long-running orchestration to rebuild...' describes the job, not when to invoke it). Per the judging guidelines, a missing 'Use when...' clause caps completeness at 3.

3 / 5

Trigger Term Quality

Natural terms present: 'rebuild', 'CI image', 'Positron', 'Node version', 'tag', 'multi-arch', 'workflow'. A maintainer asking to 'rebuild the CI images with the new Node version' would phrase-match well, and repo-specific tokens (Positron, NODE_VERSION, workflow_dispatch) are the right vocabulary for this audience. It is not a 5 because common variations and synonyms are missing — no 'update', 'Docker images', 'CI builds', or '.yml' workflow names a user might naturally say. It is above a 3 because the keyword set is good, not just 'some relevant keywords'.

4 / 5

Distinctiveness Conflict Risk

Quotes: 'every Positron CI image (ubuntu24_04, rocky_8, rocky_9, debian, openSUSE15_6, SLES15_6, and postgres — each as a multi-arch amd64+arm64 manifest)'. This is a clear niche with uniquely identifying tokens (Positron, the OS variant list, '7 builds') that no other skill would plausibly share, matching the score-5 anchor ('Clear niche with distinct triggers; minimal conflict risk').

5 / 5

Total

17

/

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
posit-dev/positron
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.