CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

triage-visual-changes

Triage a UI Verify build from your coding agent via the UI Verify MCP — bucket a build's changed stories into real regressions vs cosmetic reflow vs rendering noise, summarize the real regressions for a PR comment, and accept baselines in bulk. Use after a UI Verify build reports changes and you want the agent to review, summarize, or accept from the terminal instead of clicking through the dashboard. Triggers - "triage this build", "summarize the visual regressions", "accept all the new baselines".

67

Quality

84%

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

77%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 highly actionable, well-sequenced operational manual whose every instruction is concrete and executable, with unusually strong validation discipline around the destructive bulk-accept operation. Its weaknesses are duplication — critical rules restated across the table, recipes, and guardrails — and a dense inlined tool reference that belongs in a separate reference file.

Suggestions

Move the per-tool behavioral detail (refusal conditions, paging semantics, comment gating, before_after crop semantics) into a references/tools.md and keep a lean three-column table in SKILL.md, leaving each recipe to link to the detail it needs.

State each safety rule once in Guardrails and reference it from the recipes instead of restating it — 'unresolved comment blocks the accept', 'render both images', and 'trust the judge's regression verdict' currently appear 2-5 times each.

Trim tool-table cells to a single 'Does' line plus key args, pushing examples and edge cases (storyId on unchanged stories, one-crop-per-region stacking) into the reference file.

DimensionReasoningScore

Conciseness

The body never explains concepts Claude already knows and is dense with operational specifics, but core rules are repeated 3-5 times across sections ('unresolved comment blocks the accept' appears in the tool table, Recipe 1, Recipe 6, and Guardrails; 'render both images' and 'trust the judge's regression verdict' each appear twice), and several tool-table cells run 50-150 words where one line would carry the essential. Anchor 3 ('mostly efficient but could be tightened') fits better than 4 because this duplication is more than minor.

3 / 5

Actionability

Fully executable throughout: exact MCP setup commands ('claude mcp add --transport http uiverify https://uiverify.ai/api/mcp --header ...'), JSON config for Cursor, concrete tool invocations with args ('accept_build { prNumber: 123 }', 'render_diff_image which: baseline AND candidate'), a download command ('curl -L "$url" -o before.png'), and worked example output shapes for the PR comment. Matches the anchor 'copy-paste ready commands; specific examples cover the common cases'.

5 / 5

Workflow Clarity

Each recipe is a clear sequence with explicit validation checkpoints: confirm 'bucket ⚠️ empty' before bulk accept, 'list_comments it and honor it before review_diff / accept_build', and 'Resolve before you accept'. Feedback loops are explicit (accept refused while unresolved comments exist — the error names the stories — then read/address/resolve/retry), and the Guardrails section acts as a checklist. The batch operation (accept_build) has validation, so the destructive/batch cap does not apply.

5 / 5

Progressive Disclosure

Sections are clearly organized (MCP setup, tool table, six recipes, passed-build, guardrails), but the ~600-word tool table is effectively an API reference inlined in a 155-line SKILL.md, and no bundle files exist to offload it. Anchor 3 ('content that should be separate is inline') fits; not 4 because the inlined tool reference is a real organization gap, not a minor one.

3 / 5

Total

16

/

20

Passed

Description

82%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 strong description that explicitly covers what it does, when to use it, and concrete trigger phrases, in a distinct niche with essentially no conflict risk. The gaps are second-person voice in the when-clause (a stated penalty) and coverage that omits the skill's PR-image, changeset, and comment capabilities.

Suggestions

Rewrite the when-clause in third person ('Use after a UI Verify build reports changes and the user wants the agent to review, summarize, or accept from the terminal...') to satisfy the third-person voice guideline and recover the specificity penalty.

Add the remaining capabilities to close the coverage gap — e.g. 'post before/after images to the PR, review the whole-PR changeset, and answer or resolve reviewer comments' — so the description reflects all six recipes.

DimensionReasoningScore

Specificity

The description lists several concrete actions ('bucket a build's changed stories into real regressions vs cosmetic reflow vs rendering noise, summarize the real regressions for a PR comment, and accept baselines in bulk'), a base 4 with minor gaps (PR before/after images, whole-PR changeset, and comment workflows uncovered). The when-clause 'when... you want the agent to review, summarize, or accept from the terminal' is second person, which the judging guidelines penalize by reducing specificity by 1, landing at 3.

3 / 5

Completeness

Explicitly answers both questions: what ('bucket a build's changed stories into real regressions vs cosmetic reflow vs rendering noise, summarize... for a PR comment, and accept baselines in bulk') and when ('Use after a UI Verify build reports changes...'), with concrete trigger phrases appended. Matches the anchor-5 example structure exactly.

5 / 5

Trigger Term Quality

Good natural-phrase coverage: 'Triggers - "triage this build", "summarize the visual regressions", "accept all the new baselines"' are phrases a user would actually say, plus 'visual regressions' and 'accept baselines' in the body of the description. Missing a few common variations ('visual diff review', 'screenshot regressions'), so it sits between anchors 4 and 5 but closer to 4.

4 / 5

Distinctiveness Conflict Risk

A clear niche with minimal conflict risk: 'UI Verify build', 'UI Verify MCP', and 'uv_proj_... API key' name a specific product and workflow, and the trigger phrases ('triage this build', 'accept all the new baselines') are specific to this tool, so no other skill would plausibly claim them.

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

FranciscoMoretti/chat-js

Path

.agents/skills/triage-visual-changes/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.