Agent skill

Deep Review

by openshift-eng in openshift-eng/ai-helpers

A skill your agent uses when a deeper level of code review is requested.

Apache-2.0Auto-check passedDevelopment

Install Deep Review

skills CLI
$ npx skills add openshift-eng/ai-helpers --skill deep-review -a claude-code

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

GitHub CLI
$ gh skill install openshift-eng/ai-helpers deep-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-eng/ai-helpers.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/code-review/skills/deep-review .claude/skills/deep-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
deep-review
GitHub stars
120
Token cost
~3.8k tokens
SKILL.md length
1,679 words
Files
10 (incl. references)
Skills in repo
118
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when a deeper level of code review is requested.

  • Works in 6 steps: Setup → Dispatch Specialists → Completeness Gate → …
  • A deeper level of code review is requested
  • SKILL.md covers Arguments, Specialist Panel, Procedure and Quality Gates, plus 2 more sections
  • Calls git, gh and glab; reaches github.com and gitlab.com

What it does

Deep Review is an agent skill from openshift-eng/ai-helpers. Use when a deeper level of code review is requested. Multi-agent panel code review with specialist reviewers and forced runtime reproducers for all BLOCKING bug findings. Optionally posts to GitHub/GitLab as a PENDING review.

Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including reference files (for example `references/pr-posting.md`, `references/reproducer-prompt.md` and `references/specialists/adversarial.md`).

It sits in Development, covering Code review. It works with GitHub and GitLab. The repository describes itself as: Developer productivity tools for Claude Code & other AI assistants. The licence is Apache-2.0.

When your agent uses it

  • A deeper level of code review is requested
  • Tasks that involve Code review

Example prompts

  • “/deep-review”

Workflow steps

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

  1. Setup
  2. Dispatch Specialists
  3. Completeness Gate
  4. Reproduce
  5. Panel Arbiter
  6. Post to PR (Optional)

What it can do on your machine

Read from SKILL.md and the folder at commit a627176. 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

    Shell commands in SKILL.md call:

    • git
    • gh
    • glab
    • rg

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com
    • gitlab.com

    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

Deep Review loads about 3.8k tokens when it runs, and up to ~7.5k if it reads all its reference files. Until then it costs about 59 tokens; SKILL.md has 1,679 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~59
When it runs · the whole SKILL.md, loaded when a task matches
~3.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.5k

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from openshift-eng/ai-helpers at commit a627176, republished under its Apache-2.0 licence (© openshift-eng). 1,679 words, ~3,807 tokens.

Download SKILL.mdSave it as .claude/skills/deep-review/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.
name
deep-review
description
Use when a deeper level of code review is requested. Multi-agent panel code review with specialist reviewers and forced runtime reproducers for all BLOCKING bug findings. Optionally posts to GitHub/GitLab as a PENDING review.
argument-hint
[--serial] [--comment] [--coderabbit] [--codex] [-reviewer,...] [pr-url-or-number]

Deep Review — Multi-Specialist Panel Review with Reproducers

Review a branch's changes with parallel specialist subagent reviewers, each examining the code through a different lens. Verify every bug finding with a runtime reproducer. Optionally post to GitHub/GitLab as a PENDING review.

No PR/MR is required — the review works on any branch with commits ahead of its base.

Two execution modes:

  • Parallel (default): Each specialist runs as a dedicated sub-agent concurrently. Thorough but expensive — each sub-agent independently derives its own view of the codebase.
  • Serial (--serial): All specialists run inline in the main agent, one after another. Significantly cheaper because the codebase context is derived once and shared across all specialists. Trade-off: reviews run sequentially, and later specialists can see prior specialists' findings (which may bias their analysis).

Arguments

text
/code-review:deep-review [flags] [pr-url-or-number]
ArgumentDescription
--serialRun all specialists inline instead of as parallel sub-agents
--commentPost the verdict as a PR comment after review. Requires a PR identifier
--coderabbitInclude CodeRabbit as an external reviewer
--codexInclude OpenAI Codex as an external reviewer
-reviewerExclude a specialist (e.g., -writer,-qa). All enabled by default
pr identifierGitHub/GitLab PR URL or bare PR number. Optional

Examples:

  • /code-review:deep-review — all reviewers, review current branch
  • /code-review:deep-review --serial — cheaper serial mode
  • /code-review:deep-review -qa,-writer — skip QA and Technical Writer
  • /code-review:deep-review --comment 42 — review PR #42, post verdict as comment
  • /code-review:deep-review --coderabbit https://github.com/org/repo/pull/42
  • /code-review:deep-review https://gitlab.com/org/repo/-/merge_requests/7

Specialist Panel

All are enabled unless excluded with -:

SpecialistLensReproducer?
bugsFunctional bugs: missing calls, wrong logic, unhandled edge casesYes — mandatory
adversarialBreak the code: bad inputs, race conditions, boundary valuesYes — mandatory
securityVulnerabilities, credential handling, dependency trust, supply chain integrityWhen claiming a concrete exploit
architectureStructural patterns, SOLID, cross-file impact, module boundariesNo
consistencyDuplicate helpers, convention drift, style match with existing codeNo
qaTest coverage gaps, missing edge-case tests, concrete test suggestionsNo
writerDocumentation accuracy, staleness, consistency with code changesNo
Routing Topology
text
  bugs  adversarial  security  architecture  consistency  qa  writer
    \_______|__________|__________|___________|___________|____|
                                 |
                           [reproduce]  ← bug/security findings only
                                 |
                                 v
                           panel-arbiter
                         (final call)
  • Specialists raise findings independently — no implicit consensus. Each runs as a separate sub-agent and cannot see the others' output.
  • Reproducer agents verify bug/security claims before arbitration.
  • Panel Arbiter synthesizes after all specialists and reproducers complete.

Procedure

Phase 1 — Setup
Step 1.1: Parse arguments

Split the argument string on whitespace. Flags (--serial, --comment, --coderabbit, --codex) set modes. Tokens like -writer,-qa exclude those specialists (validate against the roster; unknown names warned and ignored). A PR URL or bare integer is the PR identifier (for bare integers, detect platform from git remote). Error if: all specialists excluded, --comment without PR identifier, or multiple PR identifiers.

Step 1.2: Check out the PR and determine base ref

If a PR/MR URL or number was provided, parse it before checkout. Do not pass a raw URL as an ID:

  1. GitHub URL (github.com/.../pull/N): set PLATFORM=github, OWNER, REPO, PR_NUMBER=N
  2. GitLab URL (gitlab.com/.../-/merge_requests/N): set PLATFORM=gitlab, PROJECT (group/subgroup/repo path), MR_IID=N. Prefer OWNER/REPO only when the project path has exactly two segments
  3. Bare integer: detect platform from git remote -v (GitHub → gh, GitLab → glab), then set PR_NUMBER or MR_IID. Derive OWNER/REPO or PROJECT from the matching remote URL

Check out locally (always quote shell arguments):

GitHub:

bash
gh pr checkout "$PR_NUMBER" --repo "$OWNER/$REPO"

GitLab:

bash
glab mr checkout "$MR_IID" --repo "$PROJECT"

If glab accepts the full MR URL as a single argument, that is also fine — but never treat the URL string as $MR_IID for flags that expect a numeric IID alone.

Hard failure on inaccessible PR/MR: If a PR/MR identifier was provided and checkout or metadata fetch fails (wrong URL, private repo, missing permissions, 404/403), error and exit immediately. Do not fall back to reviewing the current local branch — that silently reviews the wrong code.

Determine the base branch and remote:

  1. If a PR/MR is known, use its base ref (gh pr view --json baseRefName or glab mr view --output json)
  2. Discover remotes with git remote -v (do not hardcode origin/upstream). Prefer the remote whose fetch URL matches the PR/MR host and project; otherwise use the remote tracked by the current branch (git branch -vv), then any remaining remote
  3. If a PR/MR is known, probe its target branch first on the matching remote and use it as $BASE_REMOTE/$BASE_BRANCH. Only fall back to probing main then master (git ls-remote --heads "$REMOTE" main master) when no target branch was provided or the target branch was not found

Fetch and compute the merge base:

bash
git fetch "$BASE_REMOTE" "$BASE_BRANCH"
MERGE_BASE=$(git merge-base "$BASE_REMOTE/$BASE_BRANCH" HEAD)

If no base ref can be determined, error and exit.

Step 1.3: Verify there are changes

Check that the branch has commits ahead of the base. If there are no changes, stop: "No changes found between HEAD and the base branch."

If a PR/MR exists, also fetch its description for context.

Step 1.4: Detect prior reviews (PR only)

When reviewing a PR/MR, check for previous panel review comments:

GitHub:

bash
gh pr view "$PR_NUMBER" --json comments --jq \
  '.comments[] | select(.body | contains("Generated by /deep-review") or contains("Generated by /code-review:deep-review")) | {createdAt, body}'

GitLab:

bash
glab mr note list "$MR_IID" --repo "$PROJECT" 2>/dev/null \
  | rg -n "Generated by /(code-review:)?deep-review" || true

If prior panel reviews exist, extract their findings and pass them to all specialists and the arbiter as context. Specialists should:

  • Note which prior findings have been addressed by subsequent commits
  • Flag prior findings that remain unresolved
  • Avoid re-raising issues that were already noted and resolved
  • Call out any regressions — issues that were fixed but reappeared
Phase 2 — Dispatch Specialists

Each specialist has its own prompt in references/specialists/:

Append the findings JSON schema to each specialist prompt:

json
[
  {
    "file": "src/example.py",
    "line": 42,
    "severity": "BLOCKING",
    "title": "Short title",
    "body": "Description of the issue",
    "suggestion": "Recommended action or null",
    "reproducer_needed": true
  }
]

Severity values: BLOCKING | SUGGESTION | NOTE

If no issues found, return an empty array and state what was checked.

Parallel Mode (default)

Launch all enabled specialist sub-agents in a single message so they run concurrently, using the Agent tool with run_in_background: true.

Resolve specialist prompts from the skill directory (repository root relative): plugins/code-review/skills/deep-review/references/specialists/{specialist}.md. Do not use a bare references/specialists/... path — agents may not share the skill's working directory.

Each sub-agent gets:

  • The prompt: "You are a {specialist}. Read plugins/code-review/skills/deep-review/references/specialists/{specialist}.md for your review instructions."
  • The merge base ref
  • The PR number or branch name being reviewed
  • Any prior review findings (if detected in Step 1.4)
  • The findings JSON schema above

Sub-agents have full read access to the locally checked-out codebase. They explore the code on their own — read files, grep, run git commands, etc.

Sub-agents MUST NOT modify any files, and MUST NOT run any remote-write git commands (git push, force-push variants, push to protected branches, or pushes to any remote). They are read-only reviewers.

Use subagent_type: "general-purpose". Do NOT set the model parameter.

Show full SKILL.md (638 more words)Show less
Serial Mode (--serial)

Run all enabled specialists inline in the main agent, one after another. Do not launch sub-agents for specialist dispatch. (Phase 4 reproducer sub-agents are still launched even in serial mode — the no-sub-agent constraint applies only to specialists.)

Then for each specialist in roster order, state the specialist name as a heading, read plugins/code-review/skills/deep-review/references/specialists/{specialist}.md for review instructions, review through that lens, and produce findings in the same JSON format. Context from earlier specialists' file reads and findings carries over automatically.

Do NOT modify any files, and do NOT push to any remote. Serial mode is read-only, same as parallel.

External Reviewers

If external reviewers were requested, launch them in parallel with (or before, in serial mode) the specialist dispatch.

CodeRabbit (--coderabbit):

bash
timeout 300 coderabbit review --agent --base "$MERGE_BASE" 2>&1

Codex (--codex):

bash
timeout 300 codex review 2>&1

External reviewer output is captured as-is and included in the arbiter's synthesis input as a peer specialist. If a command fails (non-zero exit, tool not found, timeout), record the error and continue — never block the panel on an external tool failure.

Phase 3 — Completeness Gate

After all sub-agents and external reviewers return, verify all enabled specialists produced findings (or an explicit "no issues" with what was checked). A valid empty JSON array [] with an explanation of what was checked is success — do not retry it. If any specialist returned an error or a missing/malformed result, re-dispatch it once. If the retry also fails, record the failure and proceed.

External reviewer failures are non-blocking — note the error and continue.

Phase 4 — Reproduce

For every BLOCKING finding with reproducer_needed: true, launch a reproducer subagent (up to 5 in parallel). See references/reproducer-prompt.md for the prompt template and result processing rules.

Phase 5 — Panel Arbiter

Perform synthesis directly in the main agent (not a sub-agent).

  1. Deduplicate — merge duplicates, keep strongest reproducer
  2. Filter noise — remove false positives, style nitpicks, speculative findings, and issues already addressed in the branch
  3. Resolve conflicts — corroboration strengthens; adversarial concerns are blocking unless concretely refuted
  4. Assign disposition — APPROVE (no BLOCKING), REQUEST_CHANGES (BLOCKING findings), or NEEDS_DISCUSSION (needs author input). Biases: security over ergonomics, consistency over elegance, reproduced bugs are always BLOCKING, do not manufacture findings
  5. Prioritize — reproduced security bugs > reproduced functional bugs > unreproduced > architecture > style/docs
  6. Emit verdict — use collapsible <details> blocks for specialist findings (each specialist collapsed with severity counts). Sections: Disposition, Specialist Findings, Panel Synthesis, Required Actions, Optional Follow-ups, Stats. Footer: <sub>Generated by [/code-review:deep-review](https://github.com/openshift-eng/ai-helpers/tree/main/plugins/code-review/skills/deep-review)</sub>. Include collapsible reproducer details for confirmed BLOCKING bugs.
Phase 6 — Post to PR (Optional)

When --comment was passed, follow references/pr-posting.md to post the verdict to the PR and optionally create inline review comments. $OWNER, $REPO, $PR_NUMBER / $PROJECT, $MR_IID must already be set from Step 1.2.

Quality Gates

A change passes when: no unresolved functional bugs, no unrefuted adversarial scenarios, no unmitigated vulnerabilities or supply chain risks, sound architecture, no duplicate helpers, adequate test coverage, documentation consistent with changes, and the panel arbiter has ratified the disposition.

Error Handling

  • gh/glab not authenticated: Review can still run on a locally checked-out branch.
  • No PR exists: Skip Phase 6; the verdict is the deliverable.
  • External tool not installed/timeout: Skip, warn, continue.
  • Subagent timeout: Report which specialist timed out, continue.
  • No changes: Stop — "No changes found."
  • Review creation fails (422): Delete only comment/review IDs created by the current attempt, then retry. Never delete existing reviewer comments from other runs or authors.

Guardrails

  • Never submit a PR review without explicit user confirmation.
  • Never use "event" in the initial review creation payload.
  • Review agents MUST NOT modify any files in the working tree.
  • Never git push, force-push, or push to protected branches (main/master) or any other remote. Do not assume remote names — discover them with git remote -v when needed for reads.
  • Reproducers run in /tmp. Do not push reproducer files.
  • Do not run destructive operations in reproducers.
  • Cap at 30 inline PR comments. Overflow goes to the review body.

© openshift-eng, 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 9 other files (references) in plugins/code-review/skills/deep-review of openshift-eng/ai-helpers.

  • SKILL.md
  • references/pr-posting.md
  • references/reproducer-prompt.md
  • references/specialists/adversarial.md
  • references/specialists/architecture.md
  • references/specialists/bugs.md
  • references/specialists/consistency.md
  • references/specialists/qa.md
  • references/specialists/security.md
  • references/specialists/writer.md

Open the folder on GitHubat commit a627176

Compare with similar skills

Deep 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.

Deep Review compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Deep Review this skillopenshift-eng/ai-helpers120—~3.8kAutomated safety check: PassApache-2.0
Plannotator Referencebacknotprop/plannotator9.2k—~6.3kAutomated safety check: WarnApache-2.0
Greploop Appsmichaelshimeles/skills1.3k1 repos~3.6kAutomated safety check: PassMIT
Miro Code Reviewmiroapp/miro-ai160—~4.8kAutomated safety check: WarnMIT
ReviewdogAgentSecOps/SecOpsAgentKit2201 repos~3kAutomated safety check: PassCustom licence
Writing Styleumputun/cc-thingz484—~1.3kAutomated safety check: PassMIT

Similar skills

  • Plannotator Reference

    backnotprop/plannotator

    Reference for picking the right Plannotator tool or command for plan review, code review, annotating files and URLs, archived plan decisions and Guided Reviews.

    9.2k GitHub stars~6.3k tokensUpdated today
    DevelopmentAuto-check: warnings
  • Greploop Apps

    michaelshimeles/skills

    Loops on a large pull request, merge request or Perforce changelist, fixing Greptile findings until it scores 5/5 with no unresolved comments.

    1.3k GitHub starsUsed in 1 repo~3.6k tokens
    DevelopmentAuto-check passed
  • Miro Code Review

    miroapp/miro-ai

    A skill your agent uses when the user wants to create a visual code review on a Miro board from a pull/merge request (GitHub, GitLab, or any forge), local uncommitted changes, or a branch comparison…

    160 GitHub stars~4.8k tokensUpdated 21 days ago
    DevelopmentAuto-check: warnings
  • Reviewdog

    AgentSecOps/SecOpsAgentKit

    Automated code review and security linting integration for CI/CD pipelines using reviewdog.

    220 GitHub starsUsed in 1 repo~3k tokens
    DevelopmentAuto-check passed
  • Writing Style

    umputun/cc-thingz

    A skill your agent uses for technical communication - GitHub/GitLab tickets, PR/MR descriptions, issue comments, code review comments, commit messages.

    484 GitHub stars~1.3k tokensUpdated 3 days ago
    DevelopmentAuto-check passed
  • Qodo PR Resolver

    sbusso/claudeclaw

    Review and resolve PR issues with Qodo - get AI-powered code review issues and fix them interactively (GitHub, GitLab, Bitbucket, Azure DevOps)

    194 GitHub stars~4k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed

More from openshift-eng/ai-helpers

All 118 skills in this repo
  • Investigate CI Reliability

    openshift-eng/ai-helpers

    Find and independently validate actionable reliability defects across OpenShift release jobs and presubmits, then export portable issue handoffs.

    120 GitHub stars~1.9k tokensUpdated 2 days ago
    Auto-check passed
  • Address Review PR

    openshift-eng/ai-helpers

    Fetch and address all PR review comments — categorize by priority, make code changes, post replies, and push.

    120 GitHub stars~2.9k tokensUpdated 2 days ago
    Auto-check passed
  • Categorize Activity Types

    openshift-eng/ai-helpers

    Categorize Jira issues into Red Hat Sankey Activity Type categories using MCP Jira tools.

    120 GitHub stars~2.4k tokensUpdated 2 days ago
    Auto-check passed
  • Has Review Work

    openshift-eng/ai-helpers

    Decide whether a GitHub PR has unanswered authorized review comments or new required CI failures worth a follow-up agent.

    120 GitHub stars~1.9k tokensUpdated 2 days ago
    Auto-check passed
  • Must Gather Analyzer

    openshift-eng/ai-helpers

    Analyze OpenShift must-gather diagnostic data including cluster operators, pods, nodes, and network components.

    120 GitHub stars~2.3k tokensUpdated 2 days ago
    Auto-check passed
  • Payload Autodl JSON

    openshift-eng/ai-helpers

    Schema for the autodl JSON data file produced by payload-analysis for database ingestion — you must use this skill whenever generating the autodl JSON file

    120 GitHub stars~2.6k tokensUpdated 2 days ago
    Auto-check passed

Works with

Questions about Deep Review

What does Deep Review do?

A skill your agent uses when a deeper level of code review is requested. Deep Review is an agent skill from openshift-eng/ai-helpers. Use when a deeper level of code review is requested.

When should I use Deep Review?

Deep Review fits situations like: A deeper level of code review is requested; tasks that involve Code review.

How do I install Deep Review in Claude Code?

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

How do I install Deep Review in Codex?

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

Can I use Deep 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-eng/ai-helpers --skill deep-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/deep-review, .gemini/skills/deep-review, .github/skills/deep-review and .opencode/skills/deep-review in your project.

What does Deep Review need to run?

Going by SKILL.md and its folder, Deep Review needs the command-line tools its instructions call (git, gh, glab and rg).

Does Deep Review access the network?

SKILL.md names 2 domains. In commands or code: github.com and gitlab.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Deep 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. Review the folder before installing.

What licence does Deep Review use?

Deep 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 Deep Review use?

About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.7k tokens, read only when the agent opens those files.

What are the alternatives to Deep Review?

Skills that share tags, products or a category with Deep Review: Plannotator Reference (backnotprop/plannotator, 9.2k stars), Greploop Apps (michaelshimeles/skills, 1.3k stars), Miro Code Review (miroapp/miro-ai, 160 stars) and Reviewdog (AgentSecOps/SecOpsAgentKit, 220 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Deep Review?

openshift-eng (a GitHub organization) maintains it in openshift-eng/ai-helpers, which has 120 GitHub stars. The repository holds 118 skills in this directory. The repository was last updated on October 6, 2026.

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