CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

pr-voice

Rewrite a thin or missing pull-request description (title + body) in the repo's own PR voice, learned from its merged-PR history — title convention, section shape, length for the diff size, how issues get closed. Grounded in the actual diff; never invents testing claims or motivation. Shows a before/after and applies with `gh pr edit` only on explicit confirmation. Use when the user asks to write, rewrite, fill in, or clean up a PR description, or to draft one for the current branch before opening a PR.

Quality

96%

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

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 well-crafted procedural skill: dense, concrete, and safe, with quantified thresholds, executable commands, and explicit validation and confirmation checkpoints around a write-to-GitHub operation. The one structural weakness is progressive disclosure — it depends on a `scripts/pr-corpus.py` that is not in the provided bundle, with no inline fallback.

Suggestions

Ship `scripts/pr-corpus.py` in the skill's bundle (or verify it exists at the referenced `${CLAUDE_PLUGIN_ROOT}/scripts/` path), since Phase 2 — the voice profile that drives all drafting decisions — is unusable without it.

Add a documented scriptless fallback in §2.1 for when the script is unavailable (e.g., how to approximate the profile from `merged.json` directly), so the workflow degrades gracefully instead of stalling.

Include a brief note of the script's expected output location or schema so the profile fields referenced throughout §2–§3 (`words_by_diff_size`, `common_heading_sequence`, `no_heading_share`) can be debugged if the script's output drifts.

DimensionReasoningScore

Conciseness

The body is ~200 lines of dense operational guidance with no explanation of concepts Claude already knows — every section carries rules, thresholds, or commands (e.g. "Fetch 100 because busy repos are often majority-bot", "conventional-commit prefix only if `conventional_share` ≥ 0.6"). The brief motivation paragraph and the "What this skill does NOT do" list are operational boundaries, not padding, so it matches the lean anchor.

5 / 5

Actionability

Commands are copy-paste ready with full field lists (`gh pr view <n> --json number,title,body,...`), safe mechanics are spelled out ("body via file, never inline, so backticks/quotes/newlines survive"), and concrete thresholds govern every judgment call (buckets "small < 50 changed lines ≤ medium < 400 ≤ large", "Stay inside `p25`–`p75`"). Example dialogue lines and the sample voice read-back cover the common cases.

5 / 5

Workflow Clarity

Four numbered phases with cross-referenced sections give a clear sequence, and validation checkpoints are explicit: the silent §3.3 self-check checklist before showing anything, the §4.2 confirmation gate before any write to GitHub, post-edit verification ("After editing, `gh pr view <n> --json title,body` and confirm it landed unchanged"), and an iteration loop in §4.1. The destructive/batch-operation cap doesn't apply because confirmation and verification are present.

5 / 5

Progressive Disclosure

The single cross-file reference — `python3 "${CLAUDE_PLUGIN_ROOT}/scripts/pr-corpus.py"` (§2.1) — is clearly signaled but is not present in the bundle (no `scripts/` directory exists), so the workflow's central profiling step is unusable as shipped. Structure within SKILL.md itself is good, which keeps this above a 2, but a dangling reference to the workflow's key dependency is more than the "minor organization gaps" of a 4.

3 / 5

Total

18

/

20

Passed

Description

100%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 is exemplary: it states what the skill does in concrete, third-person/imperative terms, includes an explicit and comprehensive 'Use when' trigger clause with natural synonyms, and carves out a distinct niche with minimal conflict risk. No changes needed.

DimensionReasoningScore

Specificity

Multiple specific concrete actions with comprehensive coverage: "Rewrite a thin or missing pull-request description (title + body)", "learned from its merged-PR history — title convention, section shape, length for the diff size, how issues get closed", "Shows a before/after and applies with `gh pr edit` only on explicit confirmation". Not a 4: coverage spans what is rewritten, where the voice comes from, and the safety mechanism, with no gaps.

5 / 5

Completeness

Both questions are answered explicitly: the what ("Rewrite a thin or missing pull-request description (title + body) in the repo's own PR voice... Grounded in the actual diff; never invents testing claims or motivation") and the when ("Use when the user asks to write, rewrite, fill in, or clean up a PR description, or to draft one for the current branch before opening a PR").

5 / 5

Trigger Term Quality

The trigger clause covers the natural verbs a user would actually say — "write, rewrite, fill in, or clean up a PR description, or to draft one for the current branch before opening a PR" — plus the synonyms "pull-request description" and "PR description". No natural phrasing in this domain is missing (no file extensions apply here).

5 / 5

Distinctiveness Conflict Risk

A clear niche — PR descriptions written in a repo's own measured voice — with triggers naming "PR description" specifically, so it won't fire for commit-message or code-writing requests. The distinguishing claims ("never invents testing claims", "only on explicit confirmation") further separate it from generic PR-writing assistants.

5 / 5

Total

20

/

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

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

15

/

16

Passed

Repository

livlign/claude-skills

Path

plugins/pr-voice/skills/pr-voice/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.