Skip to content
cccskills
FreePublished on GitHubEnglish overview

code-review

Review GitHub CLI (`gh`) pull requests by checking their intent, related issues, repository rules, and code changes. Receive findings grouped by severity, with attention to bugs, breaking changes, missing tests, and reviewability.

OriginalShow the original description

Use when reviewing GitHub CLI (gh) pull requests.

cli/cli46,748 stars(GitHub 46,748 + cccskills 0)
Works withGitHub

Run score Not tested

See how to install

Good for

  • Reviewing a `gh` pull request before merging
  • Checking a change against repository conventions
  • Finding breaking changes or missing tests
  • Preparing clear, severity-ranked review comments

Overview

What it does

Reviews pull requests handled with GitHub CLI (gh) by examining the diff alongside related issues and comments, past decisions, and repository rules. It prioritizes bugs, security concerns, compatibility breaks, and missing tests. It also checks changes to output and exit codes used by scripts in non-interactive runs. Findings are grouped by severity, explained in plain language in terms of user impact, and may include links to related issues or changes.

When it helps

Use it to identify problems before merging or to review changes against project-specific rules. It can also help organize the important parts of a diff and distinguish items that need correction from optional suggestions.

Example requests

  • “Review this gh pull request, including related issues and repository rules.”
  • “Check whether this change breaks compatibility or lacks tests.”

Notes

The review checks the repository’s AGENTS.md and guides that apply to the changed areas. For vulnerability findings, it follows the SECURITY process instead of including details in a public review.

This overview was written by AI (OpenAI Codex) from the public SKILL.md. Check the original below for the exact behavior.

Document check

AI checked the SKILL.md for operations that need care and for setup requirements. The score comes only from actually running the skill (hands-on test).

SafetyAre sending data, deleting files, and running commands disclosed?
AGoodIt directs vulnerability findings to the `SECURITY` process.
Easy setupDoes it need few tools or API keys, and are they documented?
BPartly lackingIt uses `gh` and repository guides; installation prerequisites are unstated.

Not counted in the score. Rated by AI (OpenAI Codex) as of Oct 26, 2026. Treat it as a guide and read the original before installing.

Disagree? Request a re-evaluation

Tell us which point is wrong and why. No login needed. We will check it against the SKILL.md, redo the evaluation, and show the result here.

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

Files included (1)

  • SKILL.md6.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

CLI Code Reviewer

You review pull requests for the GitHub CLI (gh). Hold each change to the root contract and applicable task guides, and hunt for the issues below.

Understand intent first

Before critiquing the diff, establish what the change is for and whether it was agreed.

  • Read the linked issue, its comments, and the PR description for the spec and acceptance criteria.
  • For external upstream PRs, apply the root contribution gate against the actual issue. If eligibility is missing or unverifiable, report that policy blocker rather than suggesting implementation work to make an unsolicited PR acceptable. Do not infer eligibility from the PR author's claimed role or fork ownership.
  • Search related issues, pull requests, and commits for prior decisions on the same idea.
  • Prefer correctness and regression findings over style. Verify a claim against the code before raising it, so the review posts no false positives.

Conventions

Read AGENTS.md fresh, then use its task table to read the guides relevant to the diff before reviewing that area. The root and applicable guides are the repository convention set; moving a rule into a guide does not make it optional. In particular, command/output changes use Command development, tests use Testing, and API/host/feature changes use API and hosts. Apply their rules rather than personal preferences; do not load unrelated guides.

If a finding concerns a vulnerability, stop public reporting and follow SECURITY. The reporting format below does not authorize posting vulnerability details in a review.

What to look for

🛑 Requirement

Severity: blocking

  • A change that contradicts a past maintainer decision. Cite the commit, pull request, or issue where the idea was rejected.
  • A breaking change the PR does not document or a maintainer has not approved. See What counts as breaking below.
  • A downstream break, such as changing an error-message string that a later conditional keys on.
  • New or changed API surface: validate it, and confirm whether feature detection or other GHES handling is required.
  • New behavior that ships without tests. Every new branch, validator, and error case needs coverage, not just the happy path.
  • Logic that reimplements something the codebase already makes reusable.
    • Search for an existing equivalent before accepting new helper code, and flag the duplication.
    • Look first in:
      • the command set's shared package, for logic shared across its subcommands
      • the top-level api and git packages, for operations that span command sets
      • cross-cutting internal helpers such as internal/text
      • the Go standard library
  • A bug, a security issue, or otherwise incorrect behavior.
  • A violated root or applicable task-guide rule, or a failing go test ./... or make lint. Distinguish observed failures from checks that were not run.

💭 Commentary

Severity: non-blocking

  • Go modernization the toolchain would apply, such as what go fix would change.
  • Any issues reported by running golangci-lint run, or any non-empty diff returned by golangci-lint fmt --diff.
  • A refactor that meaningfully cuts lines of code.
  • An alternative approach with different trade-offs.
  • Command-local logic that might be worth exporting / migrating into a shared package.

💅 Nit

Severity: non-blocking

  • Overly long or pointless comments to shorten.
  • Readability and naming.

Scope and reviewability

Severity: non-blocking

Beyond the code, review the shape of the PR and advise on how to make it reviewable.

  • Scope: keep a PR to one concern. Flag a PR that bundles an unrelated refactor or fix with its main change, and name what to split out.
  • Commits: commits should be atomic and easy to review. Large mechanical or repetitive changes in one commit are fine, but flag complex logic crammed into a single commit or a history that is hard to follow. Read the code and suggest reviewable chunks to break it into.

What counts as breaking

A change can be breaking even when it is intentional, well-reasoned, and documented. Do not wave one through because the PR argues it is an improvement. Judge it by who consumes the behavior:

  • Interactive (TTY): a human runs the command, reads the output, and answers prompts. They can pick a different option or read a changed label, so changes to interactive flows are not breaking.
  • Non-interactive (non-TTY): a script runs the command, passes flags, and consumes output deterministically. Changing anything a script depends on is breaking.

Flag a change to the non-interactive contract as a requirement:

  • Moving output between stdout and stderr, or changing what a command writes on the non-TTY path. Scripts redirect and consume those streams.
  • Changing the output a script parses, such as a --json field or a command's default output.
  • Changing a default value or behavior on the non-interactive path.
  • Tightening the input a flag accepts, so a value that used to work now errors.
  • Changing an exit code, or erroring where the command used to succeed.
  • Changing an error message
  • Renaming any command input: flags, arguments, or subcommands.

How to report

Each finding needs a severity label:

  • 🛑 Requirement: a breaking change, security concern, deviation from convention.
  • 💭 Commentary: a non-blocking improvement or food for thought.
  • 💅 Nit: a non-blocking, minor polish.

Structure the review this way:

  • Group findings by severity: requirements first, then commentary, then nits.

Write each finding with this style guide:

  • Label it with its severity label.
  • Describing behavior changes from a user perspective is a helpful framing tool; "A user who runs gh foo bar will have this problem".
  • Use annotated code blocks to help highlight the problem and the fix where it is appropriate to do so.
  • Describe each finding in plain language, ramp up to the technical details as needed, giving plain language exposition.
  • Avoid inline code spans referring to type names, functions, etc.; prefer annotated code blocks.
  • OPTIONAL: Include a "References" section with links to related issues, pull requests, or commits that provide context for the finding.
    • High value references are things like a prior PR that rejected the same idea, or a commit that introduced the code in question, or a maintainer's comment regarding this logic.

Write each finding with this template:

<SEVERITY LABEL>: <1-LINE SUMMARY OF THE FINDING>

<DETAILS>

References:
<OTHER ISSUE AND PR CONTEXT>

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

This dispatcher helps with GitHub Agentic Workflows by identifying whether a request is about design, creation, configuration, updates, debugging, or upgrades. It selects the matching workflow prompt or skill file so the agent can follow task-specific guidance.

  • Design a GitHub Agentic Workflow from scratch
  • Create or configure a workflow engine
  • Update or debug an existing workflow
cli/cli46.7KUpdated Oct 25, 2026

cli-exercise

FreeSummary

Exercise a real command-line program with specified cases or a stated goal, then capture and verify the observed behavior. It produces local media evidence such as a session video, helping reviewers see what the command did without treating the recording as proof of general correctness.

  • Record specified CLI test cases
  • Demonstrate a command’s behavior
  • Validate an interactive terminal workflow
cli/cli46.7KUpdated Oct 25, 2026

Verify CLI exercise expectations against recorded evidence, render requested media, inspect the results, and return local artifacts with case outcomes. The workflow keeps failures visible and does not publish evidence by default.

  • Verifying a recorded CLI exercise
  • Rendering and inspecting session evidence
  • Returning local artifacts without publishing
cli/cli46.7KUpdated Oct 25, 2026

Use this skill to execute supplied CLI test cases without changing their commands, inputs, ordering, or assertions. It guides preparation, exercise, and validation case by case, then classifies results as passed, failed, blocked, or observed based on actual evidence.

  • Run caller-supplied CLI cases in their specified order
  • Preserve literal inputs and expected assertions
  • Validate each case against observed output or state
cli/cli46.7KUpdated Oct 25, 2026

Use this skill to explore a CLI goal by choosing observable checks within an approved scope. It guides the agent through preparation, one exercise, and immediate validation for each case, then helps report what the evidence established and what remained unreachable.

  • Explore a CLI task with a clear goal and approved boundaries
  • Choose checks for an outcome such as uploading a file
  • Run and validate CLI cases one at a time
cli/cli46.7KUpdated Oct 25, 2026

This internal module checks whether cli-exercise can use its required build, terminal, and media tools. When a dependency is missing, it identifies a suitable setup path and requires approval before installation, then rechecks readiness. It does not authorize recordings or other actions.

  • Check cli-exercise tool readiness
  • Find missing recording or rendering dependencies
  • Prepare an approved dependency installation
cli/cli46.7KUpdated Oct 25, 2026

See all skills by cli

Report a problem with this skill