CtrlK
BlogDocsLog inGet started
Tessl Logo

rebase

Start a local Git rebase when the user explicitly requests replay of a named source ref, or of the current branch, onto a named target, including a rebase-then-push request, or continue or abort an active rebase. Use only when local history replay will start or is active; do not use for merge-based branch updates, repository merge settings, pull-request or merge-request merging, or push-only requests.

63

Quality

74%

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 ./.agents/skills/rebase/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

56%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 skill is structurally excellent — point-of-need, one-level-deep references that all resolve, and a validation-obsessed state machine covering rebase, publication, and recovery paths. Its weaknesses are executable specificity (no actual git commands anywhere) and token efficiency: the giant mermaid chart's abstract label language makes it dense and hard to act on directly.

Suggestions

Add a short 'Commands' section with the concrete git invocations for each node (e.g., `git rebase --onto <target> <upstream> <source>`, `git rebase --continue`, `git worktree add <path> <source>`, `git push --force-with-lease <remote> <result>:<ref>`), or inline them in the flowchart labels.

Compress the mermaid chart: collapse the many near-identical "Failure or unobservable → Recover" edges into a single default edge per stage, and extract the worktree-writer/handoff negotiation into a reference file, keeping the main flowchart to the core rebase lifecycle.

Replace abstract labels like "bind current result OID R" and "reobserve the named result ref" with concrete git terms (e.g., "record `git rev-parse` of the result ref", "re-run `git rev-parse` and confirm it matches R") so the workflow reads as instructions rather than a policy document.

DimensionReasoningScore

Conciseness

There is no padding with concepts Claude already knows (no rebase tutorials, no git basics), and the "Result-bound verification" section is lean. But the ~100-line mermaid state machine carries heavy abstraction cost — labels like "bind current result OID R", "reobserve the named result ref", "checkpoint only task-authorized changes after worker checkpoint" require multiple re-reads to extract instruction, so the chart is noticeably over-dense relative to what it communicates. This sits at 3 ("mostly efficient but... could be tightened") rather than 4, because a substantial fraction of the flowchart's token load (worktree-writer negotiation, handoff obligations, many near-duplicate failure edges) could be compressed without losing guidance.

3 / 5

Actionability

The body contains zero concrete commands — no `git rebase <source> <target>`, `git rebase --continue/--abort`, `git worktree add`, or `git push --force-with-lease` appears anywhere; every operation is stated abstractly ("create start-only branch worktree", "start fresh replay in bound start worktree", "push immutable R with the authorized exact lease"). The decision logic is detailed, which lifts it above the 1 anchor ("only describes rather than instructs"), but the specific executable steps are missing, matching the 2 anchor ("high-level hints but missing the specific steps to execute").

2 / 5

Workflow Clarity

The workflow is exceptionally thorough as a sequence: a complete state machine with explicit validation checkpoints ("bind validation to the immutable result commit R", "verify checks left tracked source unchanged", "Exit zero; post-fetch destination equals R"), feedback loops (correction commit → "invalidate old evidence and rebind R" → rerun checks; push lease retry), and a dedicated Recover path for every failure edge. It falls short of the 5 anchor only on readability — the cryptic node/label vocabulary ("Satisfied{...ancestry-only; T ancestor of S?}", "BindWT", "FinishMode") makes an otherwise clear sequence hard to follow, leaving minor clarity gaps consistent with the 4 anchor.

4 / 5

Progressive Disclosure

The body is an overview plus a point-of-need index: all five referenced files exist in ./references/ (active-rebase-recovery.md, conflict-and-ambiguity.md, history-shape.md, named-stash.md, publication.md), each linked exactly where the workflow needs it ("read [named stash](./references/named-stash.md); save and bind exact entry"), one level deep with no nested references inside them. This matches the 5 anchor ("clear overview with well-signaled one-level-deep references; content appropriately split") — detailed procedures live in the references while the skill body carries only the flow and the verification policy.

5 / 5

Total

14

/

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 strong description: third-person voice, concrete enumeration of the full start/continue/abort lifecycle, and an explicit 'Use when' clause with negative triggers that sharply delimit it from merge- and push-related skills. The only weakness is a few missing natural trigger phrasings such as "force push" and "conflict".

DimensionReasoningScore

Specificity

The description enumerates the complete rebase lifecycle — "Start a local Git rebase", "replay of a named source ref, or of the current branch, onto a named target", "continue or abort an active rebase" — which is comprehensive, concrete coverage for this domain. It fits the 5 anchor ("multiple specific concrete actions; comprehensive coverage") rather than 4, since start/continue/abort is the full set of operations the skill performs and each is stated concretely rather than generically.

5 / 5

Completeness

It explicitly answers both questions: what ("Start a local Git rebase... or continue or abort an active rebase") and when ("Use only when local history replay will start or is active; do not use for merge-based branch updates, repository merge settings, pull-request or merge-request merging, or push-only requests"). The 'Use when' trigger guidance is explicit and concrete, matching the 5 anchor exactly; not 4 because the 'when' clause leaves nothing implicit.

5 / 5

Trigger Term Quality

Good keyword coverage with natural terms users would say — "rebase", "Git rebase", "rebase-then-push", "continue", "abort" — matching the 4 anchor ("good keyword coverage; a few natural terms missing"). It falls short of 5 because common phrasings like "force push" (only implied via "rebase-then-push"), "conflict", and "onto main/the target branch" are absent from the description itself.

4 / 5

Distinctiveness Conflict Risk

It occupies a clear niche (local history replay) and actively disambiguates adjacent skills — "do not use for merge-based branch updates, repository merge settings, pull-request or merge-request merging, or push-only requests" — minimizing conflict risk. This matches the 5 anchor ("clear niche with distinct triggers; minimal conflict risk"); the 4 anchor would apply only if an adjacent skill still overlapped, and the explicit exclusions cover the nearest neighbors (merge, PR merge, push).

5 / 5

Total

19

/

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
Jamie-BitFlight/claude_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.