CtrlK
BlogDocsLog inGet started
Tessl Logo

review-prs

Review recent BuilderIO/agent-native human pull requests, approve eligible internal PRs, and merge changes that are ready by Steve's bar. Use for scheduled or manual PR sweeps; flag external non-bug work and unresolved major product or UX decisions to Steve.

60

Quality

76%

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/review-prs/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 contains dense, genuinely non-obvious policy with strong validation and safety gating for a destructive-capability (merge) workflow, and its commands are largely executable. Its weaknesses are heavy repetitive boilerplate across the owner-exception sections, a monolithic structure with no reference files, and an undefined 'unknown-membership policy' it leans on repeatedly.

Suggestions

Factor the repeated 'does not waive the ultra-scary safety gate / external-author prohibition / independent-review requirement' clause out of each owner-exception paragraph into a single shared statement applying to all exceptions.

Split stable detail — the per-owner exception roster and the merge-queue/dequeue command sequences — into reference files (e.g., references/owner-exceptions.md, references/merge-procedure.md) linked from a shorter SKILL.md, and give the concrete `gh` command for the organization membership API instead of naming it abstractly.

Define or explicitly link the 'existing unknown-membership policy' the body cites at least four times; it is load-bearing for approval and readiness decisions but never specified here.

DimensionReasoningScore

Conciseness

At ~490 lines the body restates the same waiver boilerplate in nearly every owner-exception paragraph — "This exception does not waive the ultra-scary safety gate, the external-author prohibition, or the independent review requirement for..." appears with minor rewording for Alice/Nick, Shomix, Sid/Enzo, Manu, shawnmcclelland, and kapunahelewong/Wes, and merge-gate conditions (pending/failed/unknown not satisfied, same-head pinning) are repeated across sections. This is noticeably verbose with several padded, duplicative sections — it does not explain concepts Claude already knows, so it stays above the 'severely verbose' anchor, but the repetition goes beyond the 'could be tightened' level.

2 / 5

Actionability

Much of the guidance is executable and copy-paste ready: the rulesets listing command, the guarded `gh pr merge --squash --admin --match-head-commit` and queue variants, the dequeue GraphQL mutation, the ship command, and the recap table template. It falls short of the top anchor because some key procedures are named but never shown — the "organization membership API" is invoked repeatedly with no concrete `gh` command, and PR selection ("List open PRs newest by creation or update time") has no command.

4 / 5

Workflow Clarity

The pipeline is sequenced (selection gates → evidence sweep → approval policy → merge-readiness → 10-minute gate → merge → recap) with strong validation checkpoints and genuine feedback loops: gate reset on push/failed check/new feedback, immediate dequeue plus `--disable-auto`, revalidation immediately before the admin merge, and post-merge verification that the merge commit is an ancestor of origin/main. It is not a 5 because the flow is spread across many interlocking sections and repeatedly defers to "the existing unknown-membership policy", which is never defined or linked in this body — a real gap for a merge-authorizing skill.

4 / 5

Progressive Disclosure

There are no bundle files at all; everything — per-owner exception rosters, merge-queue mechanics, handoff drafting rules — is inlined in one ~490-line SKILL.md with only a one-line "Related skills" pointer. Section headers keep it navigable (above the 'minimal structure, no headers' anchor), but content that clearly belongs in separate reference files is inline with no progressive disclosure, matching the 'some structure but could be better organized; content that should be separate is inline' anchor.

3 / 5

Total

13

/

20

Passed

Description

92%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: it states concrete actions across the whole review-approve-merge-escalate lifecycle, gives an explicit 'Use for' trigger, and is tightly scoped to one repository and workflow. Keyword coverage is good though not exhaustive of natural synonyms.

DimensionReasoningScore

Specificity

The description lists multiple concrete, domain-specific actions: "Review recent BuilderIO/agent-native human pull requests", "approve eligible internal PRs", "merge changes that are ready by Steve's bar", and "flag external non-bug work and unresolved major product or UX decisions to Steve" — covering the full review/approve/merge/escalate lifecycle. This matches the anchor for comprehensive coverage of specific concrete actions; the only arguable gap (membership verification) is a detail rather than a capability.

5 / 5

Completeness

It explicitly answers both questions: the 'what' is the review/approve/merge/flag lifecycle in the first sentence, and the 'when' is the explicit trigger clause "Use for scheduled or manual PR sweeps". Both are concrete and explicitly stated, matching the top anchor; the when-clause is present, so the missing-trigger cap does not apply.

5 / 5

Trigger Term Quality

Natural terms users would say are present — "pull requests", "PRs", "PR sweeps", "approve", "merge", "scheduled or manual" — and "Use for scheduled or manual PR sweeps" is a natural trigger phrase. A few common variations are missing (e.g., "open PRs", "code review", "triage"), which fits the 'good keyword coverage; a few natural terms missing' anchor rather than the comprehensive-synonyms anchor.

4 / 5

Distinctiveness Conflict Risk

The description is anchored to a clear niche — the BuilderIO/agent-native repository, internal vs external authors, and Steve's merge bar — with distinct trigger phrases. It is highly unlikely to fire for an unrelated PR-review or general code-review skill, matching the 'clear niche with distinct triggers; minimal conflict risk' anchor.

5 / 5

Total

19

/

20

Passed

Validation

68%

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

Validation — 11 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

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

Warning

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

relative_links

Relative link issues: 1 suspicious

Warning

Total

11

/

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.