CtrlK
BlogDocsLog inGet started
Tessl Logo

review-branch

Converges a LOCAL branch with no pull request through a bounded review-apply-simplify loop. Dispatches the branch-reviewer agent, which runs the same impact graph, finders, verifier, and confidence/severity gates as pr-reviewer, but carries findings in a local findings.jsonl instead of GitHub review threads — so a run makes zero GitHub API calls, posts nothing, and works on an un-pushed branch or offline. Stops when every finding is applied or honestly declined AND the repo's own fast checks are green; a finding it can neither fix nor honestly decline stays flagged and visible, never quietly resolved. Use it to iterate before opening a PR, or when the comment round trip on your own PR is pure overhead. Once a PR exists use /review-loop instead — threads are the right bus when other people read them. Invoke with /review-branch [--base <ref>] [--cap N] [--effort high] [--no-simplify] [--no-checks] [--report] [--include-untracked].

69

Quality

87%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

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.

A well-engineered orchestration procedure with an unambiguous step sequence, genuine validation feedback loops (checks-red fix-and-retry, no-progress break, full-range re-review), and clean delegation of the record semantics to a referenced rules file. The main costs are repeated invariants that could be consolidated and a loop spec whose abstract operations are defined only via the missing referenced file.

Suggestions

Consolidate the repeated never-green-wash invariant: state it once in Hard rules and have the empty-range abort and flagged-reporting sections reference it by name instead of restating it.

Define or inline the loop's abstract operations (apply_findings, run_fast_checks, open_findings) — even one-line signatures with their return states — so the Step 1 spec is self-contained when findings-bus.md is not at hand.

Merge the STOP_REASON derivation warning (loop comment and Step 2 both explain 'never infer it from the iteration count') into a single place, e.g. the report section only.

DimensionReasoningScore

Conciseness

The body is dense and assumes Claude's competence (no explanations of git, CI, or review basics), with every table earning its tokens, but invariants are repeated — the never-green-wash rule appears three times (empty-range abort, 'Surface every flagged finding prominently', Hard rules) and the STOP_REASON warning appears both in the loop comment and Step 2. This matches anchor 4 ('efficient; minor instances... that could be trimmed') rather than 3, since none of the repetition explains concepts Claude already knows.

4 / 5

Actionability

Step 0 gives executable bash (git rev-parse fallback chain, bus path setup), the check discovery is a concrete first-hit-wins list (package.json/Makefile/justfile/Taskfile scripts, then documented lint+typecheck+test targets), the report is a copy-paste template, and the dispatch prompt shape is spelled out. The Step 1 loop itself is control-flow pseudocode with undefined abstractions (apply_findings, run_fast_checks), though harness variance is explicitly justified, so it lands at anchor 4 ('mostly executable... minor gaps') rather than 5.

4 / 5

Workflow Clarity

The sequence is explicit — Step 0 precondition/empty-diff abort, loop A (full-range re-review) → B (apply, one commit per finding) → C (simplify) → D (checks) → Step 2 report — with real feedback loops: red checks trigger 'fix the regression this loop just introduced, then re-run once / if still red: break', a no-progress break exists, and each pass validates the previous iteration's fixes over the full range. STOP_REASON discipline prevents misreported outcomes. This matches anchor 5 (clear sequence, explicit validation, error-recovery loops).

5 / 5

Progressive Disclosure

Good structure with a clearly signaled one-level-deep reference — rules/findings-bus.md is linked with purpose ('Owns the record, the lifecycle, and the convergence predicate. Read it; never restate it') and targeted anchors (#the-lifecycle, #append-only-and-why), and sibling links are peers rather than nesting. However, no bundle directory is provided and the referenced rules/findings-bus.md is absent from the bundle, so its navigation target cannot be verified — anchor 4 ('references mostly clear; minor organization gaps') rather than 5's 'easy navigation'.

4 / 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 highly specific, third-person description that clearly states what the skill does, when to use it, and how it differs from its PR-based siblings, with concrete mechanisms (agent dispatch, findings.jsonl bus, zero GitHub calls) and an explicit use-when clause. Its only weakness is trigger-term breadth — a few natural user phrasings are missing — which keeps it just short of full marks.

DimensionReasoningScore

Specificity

Lists multiple concrete actions with mechanisms — 'Converges a LOCAL branch... through a bounded review-apply-simplify loop', 'Dispatches the branch-reviewer agent, which runs the same impact graph, finders, verifier, and confidence/severity gates', 'carries findings in a local findings.jsonl', 'makes zero GitHub API calls', plus an explicit stop condition. Coverage is comprehensive with no vague filler, matching the anchor-5 example's level of concreteness rather than anchor 4's 'minor gaps'.

5 / 5

Completeness

Explicitly answers both: what ('Converges a LOCAL branch with no pull request through a bounded review-apply-simplify loop... zero GitHub API calls... works on an un-pushed branch or offline') and when ('Use it to iterate before opening a PR, or when the comment round trip on your own PR is pure overhead'), with a concrete boundary for handoff. The 'Use when' clause is present and specific, so the completeness cap of 3 does not apply.

5 / 5

Trigger Term Quality

Good natural-term coverage with synonyms for the core concept ('local branch', 'un-pushed branch', 'no pull request', 'pre-PR', 'offline', 'iterate before opening a PR') and explicit routing ('Once a PR exists use /review-loop instead'). A few natural phrases a user might say ('clean up my branch', 'code review') are absent, so it sits at anchor 4 rather than the comprehensive synonym coverage of anchor 5, and clearly above anchor 3's 'missing common variations'.

4 / 5

Distinctiveness Conflict Risk

Clear niche (no-PR local convergence, zero GitHub calls, findings.jsonl bus) that is explicitly distinguished from siblings — 'Once a PR exists use /review-loop instead — threads are the right bus when other people read them'. The description actively routes away from near-identical skills, giving minimal conflict risk; anchor 5, not anchor 4's 'minor overlap risk'.

5 / 5

Total

19

/

20

Passed

Validation

81%

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

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

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

Warning

relative_links

Relative link issues: 5 missing, 11 suspicious

Warning

Total

13

/

16

Passed

Repository
mthines/agent-skills
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.