CtrlK
BlogDocsLog inGet started
Tessl Logo

split-pr

Analyzes current changes and suggests how to split them into smaller, reviewable PRs

53

Quality

67%

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

Fix and improve this skill with Tessl

tessl review fix ./.claude/skills/split-pr/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

The body delivers a clear, well-sequenced, highly actionable workflow with concrete git commands, explicit size thresholds, and a complete output template — it avoids teaching known concepts and reads as expert guidance. Its weaknesses are moderate padding (user-interaction scripts, notes, and three long worked examples inlined in SKILL.md) and missing adaptation notes for the Go/Kubernetes-specific command pipelines. Moving examples and split patterns to a reference file and adding an explicit validation step for each proposed PR would lift the weakest dimensions.

Suggestions

Move the three worked Examples and the four Common Split Patterns into a references/ file (e.g., references/patterns.md) and link them from a short section in SKILL.md, keeping the body lean.

Trim the "User Interaction" and "Notes" sections, which restate principles already covered in Best Practices, or fold them into a single brief line.

Note that the grep exclusion pipelines ('vendor/', '.pb.go', 'zz_generated') are Go/Kubernetes-specific and must be adapted for other languages, and add a command for estimating per-PR line counts (e.g., git diff with pathspecs per proposed group).

DimensionReasoningScore

Conciseness

The body is mostly efficient — concrete git commands, numeric limits, and patterns rather than explanations of concepts Claude already knows — but sections like "User Interaction", "Notes" ("Be pragmatic", "Consider the team"), and the three worked examples restate principles or state the obvious and could be tightened. It is below 4 because several padded sections could be trimmed without losing guidance, but well above 2 since nothing teaches basic concepts.

3 / 5

Actionability

The instructions are mostly executable: copy-paste git commands ("git diff main...HEAD --stat", the exclusion-count pipelines), explicit thresholds (<10 files, <400 LOC), and a complete output template for the proposed split. Not a 5 because of minor gaps: the grep exclusion pipelines are Go/Kubernetes-specific ('.pb.go', 'zz_generated', 'vendor/') without noting they must be adapted, and there is no command to compute per-group line counts when sizing each proposed PR.

4 / 5

Workflow Clarity

The six steps (analyze → evaluate limits → identify groupings → propose split → order PRs → present plan) form a clear sequence with an explicit decision gate in step 2 ("If changes exceed these limits... proceed") and a user feedback loop at the end. Not a 5 because verification of the proposed split (e.g., an explicit step to check each PR passes tests/CI independently) appears only as a principle, not as a workflow checkpoint; the skill is analysis-only so the destructive-operation cap does not apply.

4 / 5

Progressive Disclosure

The ~205-line body has clear section headers but no bundle files exist and no references are used, while substantial content that would fit naturally in separate files — the three worked examples and the four "Common Split Patterns" — is fully inlined. This matches 'some structure but... content that should be separate is inline'; it is above 2 because structure is good, but below 4 since the SKILL.md is close to monolithic for its length.

3 / 5

Total

14

/

20

Passed

Description

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

The description clearly states what the skill does using concrete third-person verbs, but it entirely lacks a 'Use when...' trigger clause, which both caps completeness and leaves natural trigger phrasings ("large PR", "break down changes") uncovered. It is mostly distinctive within a well-defined niche. Adding explicit trigger guidance with common synonyms would raise completeness, trigger-term quality, and distinctiveness simultaneously.

Suggestions

Add an explicit trigger clause, e.g., 'Use when the user mentions a PR that is too large, wants to break down or split changes, or asks to make a changeset more reviewable.'

Include natural synonyms and phrasings users actually say — 'large PR', 'break up/down changes', 'too many files changed', 'reviewable' — to improve trigger-term coverage.

Optionally enumerate one or two more concrete capabilities (e.g., 'groups changes by component and proposes an ordered PR sequence with dependencies') to raise specificity.

DimensionReasoningScore

Specificity

"Analyzes current changes" and "suggests how to split them into smaller, reviewable PRs" name the domain and two concrete actions, matching the anchor for 1-2 concrete actions without comprehensive coverage. It is not a 4 because it omits several specific capabilities the skill actually performs (grouping by component, ordering PRs, dependency mapping) and is not a 2 because the actions are concrete rather than generic.

3 / 5

Completeness

The 'what' is clearly answered (analyze changes, propose a split into smaller reviewable PRs), but there is no 'Use when...' clause or equivalent trigger guidance, capping completeness at 3 per the rubric. Not a 2 because the 'what' is specific rather than vague; not a 4 because no 'when' guidance exists at all, even weakly.

3 / 5

Trigger Term Quality

Relevant keywords like "split", "changes", and "PRs" are present, but common natural phrasings users would say ("large PR", "break down/up", "too big to review", "too many files") are missing. It sits at the 'some relevant keywords but missing common variations' anchor — better than generic one-word triggers (2) but short of good coverage (4).

3 / 5

Distinctiveness Conflict Risk

PR-splitting is a fairly clear niche with triggers ("split", "reviewable PRs") distinct from adjacent skills like commit-message generation or general code review, matching 'mostly distinct; minor overlap risk with closely related skills'. Not a 5 because the broad phrase "analyzes current changes" could plausibly fire for general diff-review or code-review skills.

4 / 5

Total

13

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
stacklok/toolhive
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.