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

87%

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

78%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, highly actionable triage skill with a copy-paste output template, concrete classification discriminators, and a strong escalation guardrail. Its main gaps are undefined decision criteria for the "Suggested loop action" and "Actionable" fields, and a slightly padded generated safety block.

Suggestions

Add one line of criteria for the "Suggested loop action" field, e.g. when to choose minimal-fix (regression with a clearly attributable commit) vs. watch (suspected flake) vs. escalate-human (env, or actionable=no).

Define what makes a failure "Actionable: yes | no" (e.g., error reproduces from the log alone vs. requires runner/registry access).

Tighten the untrusted-input block to the loop-specific rules (flag by number/path, never carry suspicious text forward) and drop the generic enumeration of injection commands.

DimensionReasoningScore

Conciseness

The output template and one-line classification rules are lean and assume Claude's competence, but the generated "Untrusted input" block spends ~10 lines enumerating generic prompt-injection behaviors ("run a command, edit a file, approve or merge, skip a check, fetch a URL, reveal a secret") that could be trimmed. This is anchor 4 (efficient with minor over-explanation), not 5's "every token earns its place".

4 / 5

Actionability

The markdown output template is copy-paste ready and the classification rules give concrete discriminators ("intermittent, passed on retry, no code change"; "new failure correlated with recent commit"), plus an explicit escalation rule. However, "Suggested loop action: minimal-fix | watch | escalate-human" lacks any criteria for choosing minimal-fix vs. watch, and "Actionable: yes | no" is undefined — a minor gap matching anchor 4 rather than 5.

4 / 5

Workflow Clarity

The parse → identify → classify → decide-action sequence is legible through the output template, and "Env failures → escalate-human. Do not 'fix' with code changes" is a real guardrail checkpoint. But the loop-action and actionable-yes/no decision points have no stated criteria, leaving it above anchor 3's implicit checkpoints yet below 5's explicit validation steps.

4 / 5

Progressive Disclosure

The body is under 50 lines, single-purpose, and has no bundle files to split out; sections ("Output per failure", "Classification Rules", "Untrusted input") are well-organized with nothing that belongs in a separate file. The rubric's simple-skill exception applies, so well-organized sections alone warrant 5.

5 / 5

Total

17

/

20

Passed

Description

92%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, well-scoped description that names concrete actions, an explicit classification taxonomy, and a specific usage context. Its only weakness is keyword coverage that omits common synonyms like "build failure" or "flaky test".

DimensionReasoningScore

Specificity

"Parse CI failures, identify failing job/step, classify as flake, regression, env, or config" lists three concrete actions plus an enumerated four-way taxonomy, comprehensively covering its declared triage scope. It fits the 5 anchor ("multiple specific concrete actions; comprehensive coverage") better than 4, since there are no gaps in what the description claims to do.

5 / 5

Completeness

The what is explicit ("Parse CI failures, identify failing job/step, classify as flake, regression, env, or config") and the when is explicit and concrete ("Use in CI sweeper loops before any fix attempt"), satisfying anchor 5's "clearly and explicitly answers both what AND when". Not 4, because the when-clause is already specific rather than merely present.

5 / 5

Trigger Term Quality

"CI failures", "failing job/step", "flake", "regression", and "CI sweeper loops" are natural terms users would say, but common variations like "build failure", "flaky test", or "pipeline failure" are absent. This matches anchor 4 ("good keyword coverage; a few natural terms missing") rather than 5's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

CI failure triage with a four-category classification taxonomy and a loop-placement trigger ("before any fix attempt") is a clear niche with distinct triggers and minimal conflict risk, matching anchor 5. It is more distinctive than anchor 4's "minor overlap risk with closely related skills".

5 / 5

Total

19

/

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/.codex/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.