CtrlK
BlogDocsLog inGet started
Tessl Logo

pr-lifecycle

Complete issue → PR → merge lifecycle with readiness checks

55

Quality

63%

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 ./.copilot/skills/pr-lifecycle/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

77%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 core lifecycle procedure is excellent: highly executable, clearly phased, and rich with validation checkpoints and error-recovery guidance. The main weaknesses are the inlined 'Readiness Check Gaps & Recommendations' analysis (~120 lines of CI design work with JavaScript implementations) that pads the token budget and belongs in a separate reference, and the overall monolithic single-file structure with no progressive disclosure.

Suggestions

Move the 'Readiness Check Gaps & Recommendations' section — especially the three JavaScript implementations — into a references/ file (e.g., references/readiness-check-internals.md) and keep only a one-line pointer in SKILL.md; it describes CI internals, not the agent's lifecycle.

Consider splitting the 11 readiness-check tables into references/pr-readiness-checks.md, keeping Phase 4 as a short summary table in the body, so the routine workflow path stays lean.

Trim incidental padding such as 'Read the issue. Understand the acceptance criteria before writing code.' and deduplicate rules that appear in both the phases and the Anti-Patterns section (branching from main, git add ., reset --soft).

DimensionReasoningScore

Conciseness

The six-phase procedure, per-check What/Pass/Fix/Gotcha tables, and two worked examples are tight and command-dense, but the ~120-line 'Readiness Check Gaps & Recommendations' section embeds three full JavaScript implementations of proposed CI checks — an analysis/design report rather than lifecycle guidance. Matches 'Mostly efficient but includes some unnecessary explanation or could be tightened'; not 4 because that section alone is a substantial block of content the skill's executor does not need, and not 2 because the rest of the body has almost no padding or explanation of concepts Claude already knows.

3 / 5

Actionability

Virtually every step is a copy-paste-ready command (git fetch/checkout/rebase, gh pr create with full title/body templates, npx changeset add, gh run view --log-failed), and the two examples (docs-only PR, SDK feature PR) cover the common cases end-to-end. The per-check tables give the exact fix command for every failure mode. Fully executable with no gaps.

5 / 5

Workflow Clarity

The lifecycle is sequenced into six explicit phases with checkpoints throughout: the pre-push safety check ('Verify NO unintended deletions', 'git reset HEAD <file>' recovery), the 11 readiness checks each with Pass/Fix/Gotcha remediation, and stale-check re-trigger guidance in Phase 5. This is a clear sequence with explicit validation, feedback loops for error recovery, and a checklist for a complex process.

5 / 5

Progressive Disclosure

The body is well-sectioned (Context, Scope, Phases, Examples, Anti-Patterns), but the entire skill is one ~530-line monolithic file with no bundle structure — no references/, scripts/, or assets/ exist, and the Gap-analysis section (with the JS code) is exactly the content that belongs in a separate reference file. Matches 'Some structure but could be better organized; content that should be separate is inline'; not 4 because substantial reference-grade material (three implemented/proposed check functions) is inlined in the overview file rather than split out, though not 2 because section headers and cross-skill pointers keep it navigable.

3 / 5

Total

16

/

20

Passed

Description

50%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 accurate and domain-specific but minimal: it states the pipeline shape and one feature (readiness checks) without any 'when to use' trigger clause, synonyms, or distinguishing triggers. It reads as a scope label rather than an activation description, capping all dimensions at the midpoint.

Suggestions

Add an explicit trigger clause, e.g., 'Use when picking up a GitHub issue to implement, when creating or updating a PR, or when a PR readiness check is failing.'

Include natural synonyms and variations users would actually say: 'pull request', 'open a PR', 'submit a PR', 'rebase', 'changeset', 'squash commit' — not just 'PR' and 'merge'.

Enumerate one or two more concrete capabilities (e.g., 'branch from dev, squash to a single commit, satisfy all 11 readiness checks, rebase and force-push fixes') to lift specificity above the generic 'Complete ... lifecycle' framing.

DimensionReasoningScore

Specificity

The description names the domain ("issue → PR → merge lifecycle") and one concrete mechanism ("readiness checks"), but the actions are summarized at the pipeline level rather than enumerated, matching 'Names domain and 1-2 concrete actions, but not comprehensive'. Not 4 because no several specific actions are listed; not 2 because the lifecycle framing and readiness checks are more concrete than a purely generic 'Processes PDF files'-style statement.

3 / 5

Completeness

The 'what' is reasonably clear (issue → PR → merge lifecycle with readiness checks), but there is no 'Use when...' clause or equivalent explicit trigger guidance anywhere in the description. Per the guidelines this caps completeness at 3 ('Has a clear what but when is missing or only weakly implied'). Not 4 because no 'when' is present even implicitly.

3 / 5

Trigger Term Quality

Terms like "issue", "PR", "merge", and "readiness checks" are natural phrasing a user would say for this workflow, but there are no synonyms or variations (e.g., 'pull request', 'open a PR', 'submit a PR'). Matches 'Some relevant keywords but missing common variations or synonyms'; not 4 because the keyword set is thin and un-contextualized by any trigger clause.

3 / 5

Distinctiveness Conflict Risk

The issue→PR→merge scope is somewhat distinct, but the description gives no trigger guidance to disambiguate it from closely related git/PR skills (the body itself lists sibling skills git-workflow, release-process, and reviewer-protocol covering adjacent territory). Matches 'Somewhat specific but could still overlap with similar skills'; not 4 because nothing in the description alone steers a user away from those overlapping skills.

3 / 5

Total

12

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (538 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository
bradygaster/squad
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.