CtrlK
BlogDocsLog inGet started
Tessl Logo

new-branch

Create a fresh git branch. Use for an explicit /new-branch request or when a task-owned worktree needs a branch to ship detached work. Keep platform-assigned Builder.io and Fusion branches in place.

52

Quality

65%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./.agents/skills/new-branch/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 body is strong on safety engineering — validation and fail-safe fallbacks for every risky step are exemplary — and its git commands are concrete and mostly executable. Its weaknesses are redundancy (the same permission and preservation rules restated many times), an incoherent sentence fragment at the top of the rotation section, and a monolithic layout that inlines a long script and rule sets that belong in bundle files.

Suggestions

Consolidate the repeated authorization rules into a single stated rule set in the Activation guard; the current text restates 'no permission needed in a task-owned worktree' and 'never stash/discard/overwrite' in at least four separate sections.

Fix the broken sentence opening the post-merge rotation script block ('immutable `ship_merge_head_oid` captured before the guarded merge...') and move the ~70-line bash script into a scripts/ file with a short inline summary of its fail-safe conditions.

Reorder the body so the general Steps workflow precedes the specialized post-merge /ship rotation path, or split the rotation path into its own referenced section, so a reader encounters the common case first.

DimensionReasoningScore

Conciseness

The body restates the same authorization rules repeatedly — "needs no extra permission" / "without asking" / "do not pause to ask" appears across the Activation guard, Steve's standing instruction, Preserve branch ownership, the Post-merge rotation intro, and Steps; "never stash, discard, or overwrite" and the Builder.io/Fusion carve-out each appear three-plus times. This matches anchor 2 ("noticeably verbose; several unnecessary... padded sections") — the content is policy-dense, not concept-explaining, so it stays above 1, but the redundancy is well beyond anchor 3's 'some' tightening.

2 / 5

Actionability

Concrete executable commands are provided throughout — the pre-flight fetch/gh pr list/git log triple, the branch-naming resolution via `gh api user --jq .login`, and a ~70-line fail-safe bash rotation script with per-step error handling. Not 5 because the script embeds unresolved placeholders (`<persisted-ship_merge_head_oid>`, `<github-username>/changes-N`), the naming rule is split from the script that uses it, and some guidance remains abstract ("choose a safe branch", "the freshest base that preserves all current work").

4 / 5

Workflow Clarity

Validation checkpoints are unusually strong for a risky operation: the pre-flight section mandates comparing the merge-commit SHA with wait-and-re-fetch recovery, and the rotation script validates ancestry, local/remote unpublished commits, and dirty publishable paths with explicit keep-the-source-branch fallbacks on every failure. This avoids the destructive-operation cap. Below 5 because the section sequence is muddled — Steps arrives after Post-merge rotation, the rotation section opens with a broken mid-sentence fragment ("immutable `ship_merge_head_oid` captured before the guarded merge..."), and the guard rules are scattered rather than assembled into one ordered checklist.

4 / 5

Progressive Disclosure

Section headers exist and are sensible (Activation guard, Pre-flight, Post-merge rotation, Steps, Branch naming, After creation, Important), but everything lives inline in one ~200-line file: the ~70-line rotation script, the naming rules, and the ownership policy each read as content that belongs in a scripts/ file or a separate reference, and the only pointer to outside material (`Follow babysit-pr`) is a bare inline mention, not a clearly signaled reference. This matches anchor 3 (structure present, but content that should be separate is inline).

3 / 5

Total

13

/

20

Passed

Description

62%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 answers both what and when explicitly and is reasonably concise, but its action coverage is thin and its trigger vocabulary leans on internal jargon (task-owned worktrees, ship detached work) rather than phrases users would naturally say. It is a solid, mostly distinct description that falls short of the strongest examples on coverage and naturalness.

Suggestions

Broaden the 'what' to mention the concrete behaviors the skill covers (basing new PR branches on fresh origin/main, basing existing-PR updates on the live PR head, post-merge /ship branch rotation), not just 'create a fresh git branch'.

Add natural trigger phrasings users would actually say — e.g. 'create a new branch', 'make a branch for this work', 'start a branch off main' — alongside the /new-branch invocation.

Replace or gloss the jargon in the trigger clause ('needs a branch to ship detached work', 'Builder.io and Fusion') so the when-condition is legible outside the internal platform context.

DimensionReasoningScore

Specificity

The description names the domain ("Create a fresh git branch") and one secondary action ("Keep platform-assigned Builder.io and Fusion branches in place"), but coverage stops at 1-2 concrete actions. It is above anchor 2 ("Processes PDF files"-level genericity) because branch creation is stated concretely, but it omits the ship/PR-base and rotation behaviors the skill actually covers.

3 / 5

Completeness

Both 'what' ("Create a fresh git branch") and 'when' ("Use for an explicit /new-branch request or when a task-owned worktree needs a branch to ship detached work") are explicitly present. Not anchor 5 because the second trigger is jargon-laden and opaque ("ship detached work"), and the 'what' is a single thin action rather than comprehensive concrete triggers.

4 / 5

Trigger Term Quality

Natural terms like "new branch", "fresh git branch", and the explicit "/new-branch" invocation are present, but common user phrasings ("make a branch", "switch branches", "branch off main") are missing, and heavy internal jargon ("task-owned worktree needs a branch to ship detached work") is not something a user would naturally say. This sits between anchor 4's good-but-gapped coverage and anchor 3's partial keywords — closer to 3.

3 / 5

Distinctiveness Conflict Risk

The explicit "/new-branch" trigger plus the platform-branch carve-out ("Keep platform-assigned Builder.io and Fusion branches in place") give it a fairly distinct niche with only minor overlap risk against closely related git/ship/PR skills. Not 5 because "Create a fresh git branch" alone could plausibly fire for ordinary branch-creation requests handled by other workflow skills.

4 / 5

Total

14

/

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_version

'metadata.version' is missing

Warning

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

Total

13

/

16

Passed

Repository
BuilderIO/agent-native
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.