CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

ci-triage

Parse CI failures, identify failing job/step, classify as flake, regression, env, or config. Use in CI sweeper loops before any fix attempt.

Quality

82%

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

The canonical home for this skill is ci-triage in cobusgreyling/loop-engineering

SKILL.md
Quality
Evals
Security

Quality

Content

80%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 lean, well-structured body that gives a concrete output format and crisp classification definitions without any padding. Its weakness is incomplete decision logic: the workflow sequence is implicit and the criteria for "Actionable" and for most classification-to-action mappings are unspecified.

Suggestions

Add explicit decision criteria for the "Actionable: yes | no" field (e.g., what evidence makes a failure actionable vs. not).

Extend the action mapping beyond the single "Env failures → escalate-human" rule so flake, regression, and config each have a default suggested loop action (e.g., flake → watch, regression → minimal-fix, config → minimal-fix or escalate).

Include one worked example of a filled-in failure block so the output format is unambiguous in practice.

DimensionReasoningScore

Conciseness

The body is ~34 lines with one-line classification definitions ("flake: intermittent, passed on retry, no code change"), a compact output template, and zero explanation of concepts Claude already knows; the untrusted-input block is operational safety policy directly relevant to ingesting CI logs rather than padding, so every token earns its place per anchor 5.

5 / 5

Actionability

Concrete guidance is present — an exact output template with five fields, definitional classification rules, and one explicit action rule ("Env failures → escalate-human") — but there is no criterion for deciding the "Actionable: yes | no" field, no mapping from flake/regression/config classifications to loop actions, and no worked example, which are the minor gaps of anchor 4 rather than the copy-paste-ready common-case coverage of anchor 5.

4 / 5

Workflow Clarity

The sequence (parse failure → identify job/step → classify → fill output block → choose loop action) is only implicit in the output template rather than stated, and two of the five output fields ("Actionable" and "Suggested loop action" for three of the four classifications) lack decision rules — the sequence is present but checkpoints/decision criteria are missing or implicit, matching anchor 3; the simple-skill exception does not apply because the single action is not fully unambiguous.

3 / 5

Progressive Disclosure

The skill is under 50 lines, needs no external references, and none exist in the bundle; sections ("Output per failure", "Classification Rules", "Untrusted input") are well-organized, which per the rubric guideline merits a 5 with just well-organized sections.

5 / 5

Total

17

/

20

Passed

Description

80%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 tight, third-person description that states concrete capabilities and an explicit usage clause. Its main limitation is that trigger coverage and the "when" clause are narrowly framed around CI sweeper loops, leaving common user phrasings like "flaky tests" or "build failure" unstated.

DimensionReasoningScore

Specificity

"Parse CI failures, identify failing job/step, classify as flake, regression, env, or config" lists multiple specific concrete actions (parse, identify, classify) with a complete four-way taxonomy, comprehensively covering the triage flow — matching the anchor-5 example's parallel action list rather than anchor 4, which presumes coverage gaps.

5 / 5

Completeness

Both parts are explicit: the "what" ("Parse CI failures, identify failing job/step, classify as flake, regression, env, or config") and a "Use in CI sweeper loops before any fix attempt" clause, so it is not capped at 3; but the "when" is scoped narrowly to sweeper-loop context rather than broader concrete user trigger phrases, matching anchor 4 rather than the fully explicit trigger phrasing of anchor 5.

4 / 5

Trigger Term Quality

Natural keywords like "CI failures", "flake", "regression", and "failing job/step" are present and would be said by users, but common variations such as "flaky tests", "build failure", or "broken build" are missing — good coverage with a few natural terms absent, so anchor 4 rather than the comprehensive synonym coverage of anchor 5.

4 / 5

Distinctiveness Conflict Risk

The flake/regression/env/config taxonomy and "CI sweeper loops" framing give it a clear niche, but the broad entry term "Parse CI failures" could overlap with a general CI-fix or debugging skill — mostly distinct with minor overlap risk against closely related skills, matching anchor 4 rather than the minimal-conflict profile of anchor 5.

4 / 5

Total

17

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

14

/

16

Passed

Repository

cobusgreyling/loop-engineering

Path

starters/ci-sweeper/.claude/skills/ci-triage/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.