CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

triage

Triages a PR comment — from a bot (Copilot, CI) or a human reviewer. Routes to the `triage_helper.py` helper for identity checks, thread snapshotting, isolated-worktree fixes, and publish/reply/resolve mechanics; you classify the finding and apply a justified fix. `--dry-run` is fully read-only (investigation and a printed plan, zero mutations). `--no-resolve` runs the full fix/reply workflow but never resolves a thread. Run from inside the repo.

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

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

An exceptionally actionable, well-sequenced workflow: every subcommand, flag, refusal code, and validation gate is concrete, and the phase ordering with feedback loops is exemplary for a destructive-adjacent operation. The weaknesses are token efficiency — the hard gates are repeated across three summary sections plus the phases, and design rationale is inlined that the body itself says belongs elsewhere — and a bundle that omits the references/triage.md file the whole skill depends on.

Suggestions

Consolidate the hard gates stated redundantly in "Validation gate (no exceptions)", "Never do these", "Always do these", and inline in the phases into one canonical checklist, and reference it from the phases instead of restating each rule.

Move design-rationale asides (Phase A's lock-ownership mechanics, Phase E's hook-execution security paragraph, Phase F's push-irreversibility rationale) into references/triage.md alongside the other reasoning the body already delegates there.

Ship references/triage.md in the skill bundle — the body routes all judgment calls and the state-record data model to it, so its absence from the bundle leaves the skill's core reasoning unreachable and makes the reference unverifiable.

DimensionReasoningScore

Conciseness

The bulk is necessary operational detail rather than concepts Claude already knows, but the same hard gates are stated four times — inline in Phases B/E/F/G, again in "Validation gate (no exceptions)" ("No stage-commit before a validation command has run and reported PASS"), then in "Never do these" ("Never call snapshot more than once per run") and "Always do these" — and phases carry design-rationale asides ("which is what stops one run from releasing another run's active lock"; the hook-execution security paragraph in Phase E) despite the body's own claim that "This file only routes to the helper and states the hard gates; it is not where the reasoning lives." It is not 2 because the verbosity is dense domain-specific guidance, not fluff or padded filler; it is not 4 because the duplication and nested parenthetical run-ons could be cut substantially.

3 / 5

Actionability

Fully executable guidance: the helper invocation template is copy-paste ready ("CLAUDE_PLUGIN_ROOT='${CLAUDE_PLUGIN_ROOT}'; python3 \"$CLAUDE_PLUGIN_ROOT/examples/triage/scripts/triage_helper.py\" <subcommand> [flags]"), every subcommand appears with its complete flag set ("state lock --repo-root \"$REPO_ROOT\" --repo \"$REPO\" --pr <n>"), refusal codes are enumerated with their meanings (PR_READ_UNUSABLE, HEAD_MOVED, PUBLISH_DESTINATION_MISMATCH, ...), and the Report section shows exact output line and table formats.

5 / 5

Workflow Clarity

Phases A through H are explicitly ordered with hard validation checkpoints ("No publish before stage-commit succeeded", "No reply that claims a fix before publish returned matches_pushed_commit: true") and thorough feedback loops for error recovery — e.g. on commit drift "re-inspect the commit and revalidate before Phase F", and on PRESERVATION_FAILED "do not continue to step 3 at all: stop, report the block, and leave the worktree in place for manual recovery". The destructive worktree-cleanup path is gated behind preserve/state write with the ordering spelled out.

5 / 5

Progressive Disclosure

The body cleanly signals a single one-level reference up front ("Read `references/triage.md` before making any judgment call. It holds the evidence-assessment rules, the finding/execution/discussion state model, and the failure-recovery table") and names the helper script path. However, references/triage.md is not present in the provided bundle, so the central reference cannot be verified as a real file, and a substantial amount of reference-worthy detail (error-code semantics, lock-ownership reasoning, hook-disable rationale) is inlined despite the file declaring itself a thin router — anchor 4 (good structure, minor organization gaps) rather than 5.

4 / 5

Total

17

/

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.

A highly specific, low-conflict description that comprehensively states what the command does, including exact flag semantics. Its one real gap is that the trigger guidance ("when to use this") is absent from the description field itself — it lives in a separate when_to_use frontmatter key — which caps completeness at 3 per the rubric.

Suggestions

Add an explicit "Use when..." clause to the description itself (e.g. "Use when triaging review comments on a pull request, replying to a review thread, or deciding whether a flagged issue is already fixed") so the trigger guidance is present in the evaluated description text, not only in the separate when_to_use field.

Include the spelled-out synonyms "pull request" and "code review" alongside "PR comment" so natural-language triggers match a wider range of user phrasings.

DimensionReasoningScore

Specificity

Lists multiple concrete actions — "identity checks, thread snapshotting, isolated-worktree fixes, and publish/reply/resolve mechanics" plus "you classify the finding and apply a justified fix" — and fully specifies flag semantics ("--dry-run is fully read-only (investigation and a printed plan, zero mutations)"; "--no-resolve runs the full fix/reply workflow but never resolves a thread"). Coverage of the command's capabilities is comprehensive, matching the anchor-5 example's breadth.

5 / 5

Completeness

The "what" is explicit and concrete (triage PR comments, route to triage_helper.py, classify, apply a justified fix), but the description text itself contains no "Use when..." clause or equivalent trigger guidance — the when-guidance lives only in the separate when_to_use frontmatter field, outside this evaluated text. Per the rubric, a missing explicit trigger clause caps completeness at 3; it is not 2 because the "what" is clear, and not 4 because the "when" is entirely absent rather than merely weak.

3 / 5

Trigger Term Quality

Natural phrases users would actually say are present: "PR comment", "triage", "Copilot, CI", "human reviewer", "classify the finding", "resolves a thread". A few common variations are missing — the spelled-out "pull request", "code review", and "review feedback" — so it sits at anchor 4 rather than 5.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear niche with distinct triggers: "Routes to the `triage_helper.py` helper", "isolated-worktree fixes", "publish/reply/resolve mechanics" name a specific workflow unlikely to collide with any other skill's description. Minimal conflict risk.

5 / 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: 5 missing

Warning

Total

14

/

16

Passed

Repository

nitinjain999/platform-skills

Path

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