CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

but

Commit, push, branch, and manage version control with GitButler. Use for commits, selective dirty-file or hunk commits, branches, diffs, PRs, history edits, squashes, amends, undo, merge, apply, and unapply. For selected dirty files or hunks, inspect with `but diff`; use compact `but status` for commit order, branch/stack placement, or conflict overview; use `but status -fv` when file/hunk IDs or per-commit file details matter. Replaces git write commands.

Quality

90%

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

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

Excellent agent-facing content: fully executable commands, exact ID semantics with error-message-driven recovery, and well-sequenced recipes with genuine feedback loops. The only real costs are repeated meta-guidance that could be consolidated and reference navigation that relies on CLI commands instead of direct file pointers.

DimensionReasoningScore

Conciseness

The body is dense and operational with no explanations of concepts Claude already knows — everything teaches GitButler-specific semantics Claude cannot infer. However, meta-guidance repeats noticeably (`--status-after` in ~8 places, "do not run a verification status" ~5 times) and some passages are sprawling compound sentences (rule 3's integrated-branch logic, the chaining paragraph) that could be consolidated, fitting 4 ("minor instances… that could be trimmed") rather than 5.

4 / 5

Actionability

Fully executable throughout: complete command lines with flags (`but commit -b <branch> -m "<msg>" <id> <id>`), exact ID grammar with valid and invalid examples (`uvw:2e4` vs `uvw:16-40`), quoted error strings ("Unclear where to commit. Found more than one stack"), and exact recovery commands. Copy-paste-ready guidance covers the common cases comprehensively.

5 / 5

Workflow Clarity

Recipes are numbered with explicit checkpoints and feedback loops: the conflict-resolution loop ("Go back to step 1 until it reports no conflicts"), pull's safe-refusal plus `but undo` recovery, dependency-conflict recovery driven by the printed Hint with a fallback re-check, and `but resolve finish` reporting leftover markers and remaining conflicts. Ordering rules ("oldest first", "bottom-up") and chaining-safety conditions make the destructive workflows well-guarded, matching the 5 anchor.

5 / 5

Progressive Disclosure

The bundle's three reference files (references/reference.md, concepts.md, examples.md) are clearly signaled in a dedicated Notes section via `but skill reference` / `but skill concepts` / `but skill examples`, and the body's rules-and-patterns split against the 735-line full reference is reasonable. But references are only reachable via CLI commands rather than file paths, and the 221-line body inlines recipe detail that could partly live in examples.md — "good structure… minor organization gaps" (4) rather than 5's cleanly split overview.

4 / 5

Total

18

/

20

Passed

Description

88%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: concrete, comprehensive action coverage with an explicit "Use for" trigger list and a clear scope statement. Its main gap is missing a few natural user terms (notably "rebase", "pull", "revert") for capabilities the skill actually supports.

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — "Commit, push, branch, and manage version control", "selective dirty-file or hunk commits", "history edits, squashes, amends, undo, merge, apply, and unapply" — plus command-level inspection guidance ("inspect with `but diff`", "use compact `but status`"). Coverage is comprehensive across the tool's write surface, matching the 5 anchor rather than 4's "minor gaps in coverage".

5 / 5

Completeness

It clearly answers "what" (the enumerated action list) and "when" via the explicit "Use for commits, selective dirty-file or hunk commits, branches, diffs, PRs…" trigger enumeration, reinforced by "Replaces git write commands" as scope guidance. Both are explicit with concrete trigger phrases, matching the 5 anchor.

5 / 5

Trigger Term Quality

Good natural-keyword coverage (commits, push, branch, diffs, PRs, squashes, amends, undo, merge, history edits), but very common user verbs for capabilities the skill explicitly handles are absent — "rebase" (handled via `but pull`), "pull", "revert". That fits 4 ("a few natural terms missing") rather than 5's comprehensive synonym coverage.

4 / 5

Distinctiveness Conflict Risk

The niche is clear and distinct — GitButler (`but`) as the replacement for git write commands — with tool-specific triggers. However, generic VCS trigger words like "commits" carry minor overlap risk with closely related skills (e.g., commit-message generation), fitting 4 rather than 5's minimal conflict risk.

4 / 5

Total

18

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository

gitbutlerapp/gitbutler

Path

crates/but/skill/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.