CtrlK
BlogDocsLog inGet started
Tessl Logo

pr-review-loop

Enforce the Basic Machines GitHub PR review loop before merging. Use whenever Codex is preparing to merge, squash-merge, auto-merge, declare a PR ready, monitor Codex comments, address review feedback, or wait for Codex approval on a GitHub PR, especially when the user says "approved", "merge", "ship", "PR is ready", "monitor Codex comments", or "address Codex feedback".

67

Quality

80%

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/pr-review-loop/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

70%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 highly actionable, well-sequenced gate workflow with real validation and feedback loops. Its main costs are token efficiency (duplicated jq logic, repeated freshness prose) and the absence of any progressive disclosure — everything lives inline in one long SKILL.md.

Suggestions

Extract the duplicated ~30-line jq reaction-state check into a single script in scripts/ (e.g. codex-reaction-state.sh) and call it once for both PR-body and comment reactions, cutting roughly 30 lines and removing the maintenance hazard of two divergent copies.

Move the detailed per-surface API recipes (REST reactions, reviews pagination, GraphQL reviewThreads query) into a references/ file, keeping SKILL.md to the hard rule, signal definitions, and the numbered loop.

Consolidate the freshness/approval-lower-bound rule, which is currently restated in the Hard Rule, Signals, and step 2 prose, into a single authoritative statement.

DimensionReasoningScore

Conciseness

The body is operational and avoids tutoring Claude on basics, but the ~30-line jq latest_reaction block is duplicated nearly verbatim for PR-body and comment reactions, and the freshness rule is restated several times in prose. This fits 'mostly efficient but could be tightened' rather than the minor-trim level of 4.

3 / 5

Actionability

Concrete, executable gh/jq commands cover every Codex surface (reactions, issue comments, top-level reviews, GraphQL threads). It falls short of fully copy-paste ready because commands contain <owner>/<repo>/<number>/<comment-id> placeholders that must be substituted, matching 'mostly executable with minor gaps'.

4 / 5

Workflow Clarity

A clearly sequenced 9-step loop with explicit validation checkpoints (head-SHA mismatch exits 1, approval_not_before freshness bounds), a built-in feedback loop (fix, push, restart from step 1), a required gate report format, and merge-only-on-approved/overridden — matching the top anchor with validation and error recovery.

5 / 5

Progressive Disclosure

A single ~300-line file with clear section headers but no bundle structure; the duplicated reaction-check jq and long API blocks would sit better in a scripts/ or references/ file. Structure exists but content that could be separate is inline, matching the middle anchor rather than the minimal-structure level of 2.

3 / 5

Total

15

/

20

Passed

Description

90%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 with an explicit 'what' and a rich, explicit 'when' clause containing natural user-quotable trigger phrases. The only weakness is that the 'what' is a single enforced behavior rather than a list of concrete capabilities.

DimensionReasoningScore

Specificity

The description names its domain ('Basic Machines GitHub PR review loop') and one concrete action ('Enforce... before merging'), but does not enumerate several distinct capabilities, matching the 'domain plus 1-2 concrete actions, not comprehensive' anchor.

3 / 5

Completeness

It explicitly answers both what ('Enforce the Basic Machines GitHub PR review loop before merging') and when ('Use whenever Codex is preparing to merge... especially when the user says...') with concrete trigger phrases, matching the top anchor.

5 / 5

Trigger Term Quality

Comprehensive natural trigger coverage including quoted user phrases like "approved", "merge", "ship", "PR is ready", "monitor Codex comments", "address Codex feedback", plus verbs like squash-merge and auto-merge; no common variation appears missing.

5 / 5

Distinctiveness Conflict Risk

It occupies a clear niche — the Codex approval gate on GitHub PRs before merging — with distinct triggers (Codex, thumbs-up approval, PR merge vocabulary) that would not fire for unrelated skills.

5 / 5

Total

18

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
basicmachines-co/basic-memory
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.