Content
80%Weight 40%Scale 1-5Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
An efficient, well-structured instruction-only skill: exact output contract, specific scan targets, and clear decision rules with no wasted tokens. The weak spot is workflow clarity — the step order is implicit and, because scanning many merges is a batch operation, the absence of verification checkpoints (e.g. confirming findings are newly introduced by the merge) caps it at 3.
Suggestions
Add explicit validation checkpoints for the batch scan, e.g. "Confirm each TODO/FIXME was introduced by the merge being scanned (git blame or diff against the merge base), not pre-existing".
Number the workflow steps (enumerate merges from the last 7 days → scan each → classify → emit per-merge output → apply the suggested loop action) so the sequence is explicit rather than implied.
Define "state" in "unless state says otherwise" (where the state file lives, what it overrides) so the 7-day window rule is fully executable.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The body is lean and assumes competence: an exact output template, a five-item scan checklist, terse decision rules, and a safety block that earns its tokens because the skill ingests untrusted PR content. Nothing explains concepts Claude already knows, and nothing reads as padding — matching the 'every token earns its place' anchor. | 5 / 5 |
Actionability | Concrete, executable guidance: an exact per-merge markdown output format with defined fields, specific scan targets, and an explicit decision mapping ("Large refactors → ticket", "Medium+ risk paths → escalate-human"). It stops short of fully copy-paste-ready because the command to enumerate merges (e.g. `git log --merges --since=7.days origin/main`) is left implicit and "state" in "unless state says otherwise" is undefined. | 4 / 5 |
Workflow Clarity | The sequence (enumerate recent merges → scan each → classify risk/effort → emit the per-merge block) is present but implicit, and there are no validation/verification checkpoints (e.g. confirming a TODO was actually introduced by the merge rather than pre-existing, or verifying file:line references). Per the rubric's guideline, a batch operation without validation steps is capped at 3 even though the decision rules themselves are clear. | 3 / 5 |
Progressive Disclosure | The skill is under 50 lines, needs no external files, and is organized into well-labeled sections (Output per merge, What to look for, Rules, Untrusted input) — meeting the rubric's condition for a top progressive-disclosure score on a small self-contained skill. The only reference to an external path (`scripts/sync-untrusted-input.mjs`) sits inside a generated delimiting comment, not a content pointer. | 5 / 5 |
Total | 17 / 20 Passed |