CtrlK
BlogDocsLog inGet started
Tessl Logo

stave-worktree-pr-flow

Ship the full current in-progress work as a PR in one pass. If already running inside a workspace-linked `git worktree` (for example under `.stave/workspaces/*`), reuse that same worktree in place. Otherwise move the dirty state into a dedicated temporary worktree, commit with a Conventional Commit message, push, open a GitHub pull request, and clean up the temporary worktree unless the user asks to keep it. Use for prompts like "worktree 만들어서 PR", "현재 작업 PR로 올려줘", or "spin this dirty tree into a PR branch".

82

0.84x
Quality

94%

Does it follow best practices?

Impact

39%

0.84x

Average score across 2 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

92%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 strong, highly operational skill body: a 9-step workflow with concrete git/gh commands, explicit validation checkpoints, error-recovery handling for stash conflicts and cleanup failures, and mode selection (reuse vs. create temporary worktree) resolved before any state is moved. The only improvement space is minor textual redundancy — the original-checkout/cleanup-cwd rule and the stop-and-ask clauses are each stated more than once, and Guardrails partially duplicates the steps.

Suggestions

State the cleanup-cwd rule once (in step 8) and have step 2 only say 'record the original checkout path' without re-explaining its use.

Consolidate the repeated 'stop and ask before doing something misleading' guidance into a single Guardrails bullet instead of restating it in steps 2, 3, and 5.

Trim Guardrails bullets that restate in-step constraints (e.g. never removing a dirty worktree already appears in step 8) so each safety rule lives in one place.

DimensionReasoningScore

Conciseness

The body is lean and assumes competence — it never explains what a worktree, stash, or Conventional Commit is — and nearly every bullet is an instruction. But there are minor trims available: the cleanup cwd rule is stated in step 2 ('Record the original checkout path up front... use that original checkout... in step 8') and again in step 8, 'stop and ask/clarify' appears in steps 2, 3, and 5, and the Guardrails section restates constraints already inlined in steps 3, 5, and 8. That matches the score-4 anchor (efficient, minor over-explanation that could be trimmed) rather than score 5's 'every token earns its place'.

4 / 5

Actionability

Concrete, copy-ready commands appear at every decision point: `git stash push --include-untracked -m "worktree-pr:<branch>:<timestamp>"`, `git worktree add -b <branch> ../.worktrees/<repo>/<branch> HEAD`, `git push -u origin <branch>` with `--force-with-lease` guidance, and `gh pr create --base <base> --head <branch> --title <title> --body <body>`. Even the temporary-worktree path is a deterministic template rather than an ad hoc guess. This is the score-5 anchor — fully executable guidance covering the common cases; score 4 would require missing key details, and none are.

5 / 5

Workflow Clarity

Nine explicitly sequenced steps with validation checkpoints throughout: capture repo state before moving anything (step 2), verify the stash landed in the new worktree (step 3), re-run `git status --short --branch` and run formatter/typecheck/tests in the execution worktree (step 4), confirm clean status after commit (step 5), check `gh auth status` before planning (step 2), and error-recovery loops for stash conflicts and the cwd-stuck-cleanup retry (step 8). Because this is a destructive/batch-adjacent operation, the cap of 3 would apply only if validation were missing — it is not; feedback loops are explicit, matching the score-5 anchor.

5 / 5

Progressive Disclosure

The single external reference is real, relevant, one level deep, and well signaled: 'PR title and commit message must follow [PR and Commit Conventions](references/pr-conventions.md)' (references/pr-conventions.md exists, 17 lines, and contains exactly the convention details kept out of SKILL.md). The workflow itself — which must be inline to be followed — stays in the body under clear section headers (Workflow, Guardrails). This matches the score-5 anchor: appropriate split, well-signaled one-level references, easy navigation.

5 / 5

Total

19

/

20

Passed

Description

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

An excellent description: it states the complete what in third person with concrete actions, gives an explicit 'Use for prompts like...' trigger clause with verbatim user phrasings in two languages, and even encodes the conditional worktree-reuse behavior. The only weakness is mild overlap risk between the generic 'ship current work as a PR' framing and ordinary PR-creation skills.

Suggestions

Sharpen the when-clause to scope it to worktree/branch-spinning requests specifically (e.g. 'Use when the user wants the dirty tree moved onto a new branch/worktree and shipped as a PR, rather than a plain commit on the current branch') to reduce overlap with generic commit-and-PR skills.

Add one more common natural phrasing such as 'PR 올려줘' or 'make a PR from these changes' to round out trigger coverage.

DimensionReasoningScore

Specificity

The description enumerates the full concrete pipeline in third person — 'reuse that same worktree in place', 'move the dirty state into a dedicated temporary worktree, commit with a Conventional Commit message, push, open a GitHub pull request, and clean up the temporary worktree' — with comprehensive coverage of every action the skill performs. It matches the score-5 anchor (multiple specific concrete actions, comprehensive) and exceeds score 4, which would imply gaps; none are evident.

5 / 5

Completeness

Both halves are explicit: 'what' is the full commit→push→PR→cleanup pipeline, and 'when' is stated directly as 'Use for prompts like...' with concrete trigger phrases. This matches the score-5 anchor exactly; score 4 would require the 'when' to be less explicit, but here it is stated verbatim with example prompts.

5 / 5

Trigger Term Quality

It quotes natural user phrasings verbatim — 'worktree 만들어서 PR', '현재 작업 PR로 올려줘', 'spin this dirty tree into a PR branch' — covering both Korean and English variants plus the natural synonyms users actually say (worktree, PR, dirty tree, in-progress work). This sits at the score-5 anchor (comprehensive natural terms incl. synonyms) rather than 4, which is reserved for keyword sets with a few natural terms missing.

5 / 5

Distinctiveness Conflict Risk

The worktree-reuse branch ('If already running inside a workspace-linked `git worktree`... under `.stave/workspaces/*`') carves a clear niche, but the broader framing 'Ship the full current in-progress work as a PR in one pass' and the trigger '현재 작업 PR로 올려줘' could also plausibly match a generic 'commit and open a PR' skill. That is minor overlap with closely related skills — the score-4 anchor — rather than the minimal-conflict score-5 anchor.

4 / 5

Total

19

/

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
sendbird/stave
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.