Agent skill

API Review

by openshift in openshift/api

Run strict OpenShift API review workflow for PR changes or local changes

Apache-2.0Auto-check passed

Install API Review

skills CLI
$ npx skills add openshift/api --skill api-review -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install openshift/api api-review --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/openshift/api.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/api-review .claude/skills/api-review && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
api-review
GitHub stars
121
Token cost
~1.8k tokens
SKILL.md length
818 words
Files
2 (incl. scripts)
Skills in repo
1
Repo updated
First seen
Licence
Apache-2.0

At a glance

Run strict OpenShift API review workflow for PR changes or local changes

  • Works in 3 steps: Run preflight checks → Documentation validation → Cleanup (PR mode only)
  • SKILL.md covers Step 1: Run preflight checks, Step 2: Documentation validation, Step 3: Cleanup (PR mode only) and FINAL OUTPUT — MANDATORY
  • Runs Shell scripts from its folder; calls bash and git

What it does

API Review is an agent skill from openshift/api. Run strict OpenShift API review workflow for PR changes or local changes

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/preflight.sh`).

The repository describes itself as: Canonical location of the OpenShift API definition. The licence is Apache-2.0.

Example prompts

  • “/api-review”

Requirements

  • A Bash shell

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Run preflight checks
  2. Documentation validation
  3. Cleanup (PR mode only)

What it can do on your machine

Read from SKILL.md and the folder at commit f9511d3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Shell), which the agent can run.

    Shell commands in SKILL.md call:

    • bash
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

API Review loads about 1.8k tokens when it runs. Until then it costs about 21 tokens; SKILL.md has 818 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~21
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from openshift/api at commit f9511d3, republished under its Apache-2.0 licence (© openshift). 818 words, ~1,772 tokens.

Download SKILL.mdSave it as .claude/skills/api-review/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
api-review
description
Run strict OpenShift API review workflow for PR changes or local changes

Step 1: Run preflight checks

Run the preflight script to discover changed API files and run linting:

bash
bash .claude/skills/api-review/scripts/preflight.sh $ARGUMENTS

Read the output:

  • If it says NO_API_FILES_CHANGED, respond "No API files changed. Nothing to review." and stop.
  • If lint says FAILED, report the lint failures and stop.
  • The Changed API Files section lists the files to review in Step 2.
  • If the mode is pr, note the Original-Branch for cleanup in Step 3.

Step 2: Documentation validation

CRITICAL: Only review new or modified lines (the + lines in the diff). Do NOT flag pre-existing issues in unchanged context lines. There is significant tech debt in existing APIs and reviewing it is out of scope.

For each changed API file listed in the preflight output, validate only the new/modified lines for:

  1. Field Documentation: New struct fields must have documentation comments
  2. Optional Field Behavior: New optional fields must explain what happens when the field is omitted (not provided). This is about omission, not about empty values — empty strings or empty lists are a separate concern handled by validation markers.
  3. Validation Documentation: New validation rules must be documented and match markers. For +kubebuilder:validation:Enum fields, each enum value must be listed AND its meaning explained in the field's own comment using the "When set to X, ..." pattern (e.g., "When set to Vault, HashiCorp Vault is used as the secret store"). Simply listing values without explaining what they do is insufficient. Note: explanations on the type definition do NOT satisfy this rule — the field comment is what users see in generated docs.
  4. Validation / Documentation Mismatch: This rule covers two directions:
    • Markers contradict docs: A validation marker prevents behavior the comment describes. For example, +kubebuilder:validation:MinItems=1 is set but the comment says "an empty list means no items are excluded" — the validation prevents the documented behavior. Note: "omitted" (field not provided) is different from "empty" (field present with zero items or empty string). MinItems=1 preventing empty lists does NOT contradict documentation about omitted behavior — only flag when documentation describes behavior for a value that validation markers explicitly prevent.
    • Docs claim constraints with no enforcement: The comment describes a constraint but there is no validation marker (Pattern, XValidation, MaxLength, etc.) that enforces it. The API will silently accept values that violate the documented constraint. Either add the marker or remove the claim. Only flag when enforcement is completely absent — do not flag when a marker enforces the documented constraint but you think the enforcement could be stricter or more thorough.
  5. Missing Cross-field Validation: When documentation states a relationship between fields (e.g., "mutually exclusive with FieldX", "required when FieldY is set", "cannot be used together with FieldZ"), there MUST be a corresponding +kubebuilder:validation:XValidation rule enforcing that relationship. Documentation alone is not sufficient — the cluster will not enforce undocumented-in-code relationships.
  6. Undocumented Constraints: ALL kubebuilder constraint markers (MinLength, MaxLength, MinItems, MaxItems, Minimum, Maximum, MaxProperties, Pattern) MUST be documented in the field's comment. If a field has +kubebuilder:validation:MinLength=5 but the comment does not mention the minimum length requirement, that is an issue. This includes MinLength=1 on required fields — even though "required + MinLength=1" may seem redundant, the MinLength constraint is separately enforced at the validation layer and must be documented so users know empty strings are rejected. Check every field with constraint markers, including fields on supporting/referenced types added in the same diff (e.g., a SecretNameReference type with a name field). Exception: MinProperties does not need to be documented — it is a structural constraint ("don't send an empty object") that is self-evident from the type definition.
  7. CEL Expression Review: For +kubebuilder:validation:XValidation rules, check that CEL expressions are logically correct: no unreachable branches, correct enum value references that match the actual +kubebuilder:validation:Enum values, proper use of has() guards for optional fields, and no tautological or contradictory conditions. Prefer combined ternary expressions for related required/forbidden checks (e.g., self.type == 'X' ? has(self.x) : !has(self.x)). Flag verbose or overly complex CEL that could be simplified.
Show full SKILL.md (169 more words)Show less

IMPORTANT: Only report issues that violate one of the 7 numbered rules above. Do not report design suggestions, code cleanup, type choice recommendations (e.g. *int32 vs int32), missing enhancementPR calls, or best practices that fall outside these rules. A false positive is worse than a missed issue.

thinking
For EACH changed field (including fields on supporting types introduced in the diff), check ALL of the following:
1. Field documentation present?
2. Optional fields explain omitted behavior?
3. Enum values explained in the FIELD's own comment (not just the type definition)?
4. Any validation marker contradicting the comment prose? Any comment claiming a constraint that has no marker to enforce it?
5. Documented field relationships enforced with XValidation?
6. ALL constraint markers (MinLength, MaxLength, MinItems, MaxItems, Minimum, Maximum, MaxProperties, Pattern) documented in comment? Including MinLength=1? (Exception: MinProperties does not need documentation)
7. CEL expressions logically correct? Prefer combined ternary for required/forbidden checks?

Step 3: Cleanup (PR mode only)

If the preflight output showed Mode: pr, switch back to the original branch:

bash
git checkout <Original-Branch from preflight output>

FINAL OUTPUT — MANDATORY

After completing all analysis, you MUST produce a text response listing every issue found. If you do not output text, the review is lost. Do not end on a tool call.

Use this EXACT format for EACH issue:

path/to/file.go:+LineNumber: Brief description Current (problematic) code:

go
[exact code from the PR diff]

Suggested change:

diff
- [old code line]
+ [new code line]

Explanation: [Why this change is needed]

The path/to/file.go must be the relative path from the repository root (e.g., config/v1/types_console.go). The +LineNumber is the line number in the new version of the file.

Every issue must be enumerated individually. Do NOT summarize into tables or counts. If no issues are found, say "No issues found."

© openshift, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (scripts) in .claude/skills/api-review of openshift/api.

  • SKILL.md
  • scripts/preflight.sh

Open the folder on GitHubat commit f9511d3

Compare with similar skills

API Review next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

API Review compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
API Review this skillopenshift/api121—~1.8kAutomated safety check: PassApache-2.0
Openshiftsickn33/agentic-awesome-skills47k1 repos~2.4kAutomated safety check: PassMIT
OpenshiftBagelHole/DevOps-Security-Agent-Skills1.1k—~2.2kAutomated safety check: PassMIT
Strict APIalirezarezvani/claude-skills28k—~836Automated safety check: PassMIT
Typescript Strict Modethedaviddias/Front-End-Checklist74k—~526Automated safety check: PassMIT
Review StrictUniClipboard/UniClipboard1.9k—~411Automated safety check: PassAGPL-3.0

Similar skills

  • Openshift

    sickn33/agentic-awesome-skills

    Manage Red Hat OpenShift clusters and deployments. An agent skill from sickn33/agentic-awesome-skills.

    47k GitHub starsUsed in 1 repo~2.4k tokens
    DevOps & CloudAuto-check passed
  • Openshift

    BagelHole/DevOps-Security-Agent-Skills

    Manage Red Hat OpenShift clusters and deployments. An agent skill from BagelHole/DevOps-Security-Agent-Skills.

    1.1k GitHub stars~2.2k tokensUpdated 4 mo ago
    DevOps & CloudAuto-check passed
  • Strict API

    alirezarezvani/claude-skills

    A skill your agent uses when the user says 'no hallucinations', 'verify APIs', 'reality check', or 'don't invent functions'.

    28k GitHub stars~836 tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Typescript Strict Mode

    thedaviddias/Front-End-Checklist

    A skill your agent uses when setting up a new TypeScript project, auditing an existing tsconfig.json, or reviewing code where null-reference errors or implicit any types are present.

    74k GitHub stars~526 tokensUpdated 3 days ago
    Auto-check passed
  • Review Strict

    UniClipboard/UniClipboard

    Perform a strict, evidence-based review of the current branch or working-tree changes without modifying files.

    1.9k GitHub stars~411 tokensUpdated today
    Auto-check passed
  • Typescript Strict

    citypaul/.dotfiles

    TypeScript strict mode patterns including schema-first development, branded types, type vs interface guidance, and tsconfig strict flags.

    740 GitHub stars~2.8k tokensUpdated today
    DevelopmentAuto-check passed

Questions about API Review

What does API Review do?

Run strict OpenShift API review workflow for PR changes or local changes. API Review is an agent skill from openshift/api.

How do I install API Review in Claude Code?

Run `npx skills add openshift/api --skill api-review -a claude-code`. Or copy the skill folder (.claude/skills/api-review in openshift/api) into .claude/skills/api-review in your project. Claude Code loads it when a task matches its description.

How do I install API Review in Codex?

Run `npx skills add openshift/api --skill api-review -a codex`. Or copy the skill folder (.claude/skills/api-review in openshift/api) into .agents/skills/api-review in your project. Codex loads it when a task matches its description.

Can I use API Review in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add openshift/api --skill api-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/api-review, .gemini/skills/api-review, .github/skills/api-review and .opencode/skills/api-review in your project.

What does API Review need to run?

Going by SKILL.md and its folder, API Review needs a shell for the scripts in its folder and the command-line tools its instructions call (bash and git). Our summary lists: A Bash shell.

Does API Review access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is API Review safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does API Review use?

API Review is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does API Review use?

About 1.8k tokens (SKILL.md is roughly 7.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to API Review?

Skills that share tags, products or a category with API Review: Openshift (sickn33/agentic-awesome-skills, 47k stars), Openshift (BagelHole/DevOps-Security-Agent-Skills, 1.1k stars), Strict API (alirezarezvani/claude-skills, 28k stars) and Typescript Strict Mode (thedaviddias/Front-End-Checklist, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains API Review?

openshift (a GitHub organization) maintains it in openshift/api, which has 121 GitHub stars. The repository was last updated on October 9, 2026.

Source: openshift/api on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.