Skip to content

HYPERFLEET-914: adapt /review-pr skill for CI non-interactive mode#32

Open
rafabene wants to merge 1 commit intoopenshift-hyperfleet:mainfrom
rafabene:HYPERFLEET-914-ci-non-interactive-mode
Open

HYPERFLEET-914: adapt /review-pr skill for CI non-interactive mode#32
rafabene wants to merge 1 commit intoopenshift-hyperfleet:mainfrom
rafabene:HYPERFLEET-914-ci-non-interactive-mode

Conversation

@rafabene
Copy link
Copy Markdown
Contributor

@rafabene rafabene commented Apr 14, 2026

Summary

  • Detect CI=true environment variable in the skill's Dynamic context
  • In CI mode, post all recommendations as inline PR comments (no terminal output, no interactive prompts)
  • Impact warnings posted as a single general PR comment
  • Zero findings posts a "no issues found" comment
  • Terminal output uses model text (not Bash echo, which is invisible in pipe mode)
  • Document CI integration in README: streaming invocation with jq, env vars, Prow job example, known limitations
  • Bump plugin version 0.5.00.6.0

Test plan

  • Add the PR author's fork as a marketplace and install the plugin:
    /plugin marketplace add rafabene/hyperfleet-claude-plugins
    /plugin install hyperfleet-code-review@rafabene/hyperfleet-claude-plugins
    
    Then run /review-pr without CI=true — verify interactive mode is unchanged (pagination, AskUserQuestion prompts)
  • Run with CI mode against a real PR with streaming output:
    CI=true claude -p "/review-pr openshift-hyperfleet/some-repo#123" \
      --output-format stream-json --verbose | \
      jq -r '
        if .type == "assistant" then
          .message.content[] |
          if .type == "text" then .text
          elif .type == "tool_use" then
            "⚙ \(.name): \(.input.description // .input.prompt // .input.file_path // .input.skill // .input.command // .input.pattern // "" | split("\n")[0] | .[0:120])"
          else empty
          end
        else empty
        end
      '
  • Verify inline comments appear on the PR's "Files changed" tab
  • Verify no interactive prompts appeared in the terminal
  • Verify the terminal shows: CI review started: reviewing <PR-URL>... and CI review complete: N recommendations posted (X blocking, Y nit) to <PR-URL>
  • Verify tool activity is visible (e.g., ⚙ Bash: Fetch PR details, ⚙ Read: path/to/file, ⚙ Agent: Security checks)
  • If the PR has impact warnings, verify they are posted as a general PR comment
  • Review all markdown files for correct formatting (fenced code blocks with language identifiers, proper headings)

Summary by CodeRabbit

  • New Features

    • CI mode: non-interactive reviews that post all findings as GitHub inline PR comments (fallback to a general PR comment), emit a CI startup line and completion summary, post impact warnings once, and post “✅ No issues found” when applicable; disables interactive prompts and automatic fixes in CI.
  • Documentation

    • Expanded CI integration docs: env vars, example CI job, local testing, limitations, posting rules, and terminal output requirements.
    • Updated plugin versioning guidance.
  • Chores

    • Plugin manifest version bumped to 0.6.0.

@openshift-ci openshift-ci Bot requested review from ciaranRoche and pnguyen44 April 14, 2026 15:21
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 14, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Adds a non-interactive CI mode to the review-pr skill toggled by CI=true. In CI mode the skill emits a CI startup line, analyzes the PR, posts all findings as GitHub review comments (attempting inline comments tied to the latest commit oid with a fallback to a general PR comment), aggregates impact warnings into a single general comment, posts a fixed “✅ No issues found” general comment when applicable, and suppresses interactive flows (AskUserQuestion prompts, fix/self-review commands, comment-response handling, follow-up ticket creation, and interactive navigation). Also updates README, skill docs, output-format docs, CLAUDE.md guidance, and bumps plugin manifest version 0.5.0 → 0.6.0.

Sequence Diagram(s)

sequenceDiagram
    participant CI as CI Runner
    participant Skill as review-pr Skill
    participant GH as GitHub API
    participant Repo as PR/Repo

    CI->>Skill: invoke review-pr (CI=true, inputs)
    Skill->>Skill: analyze code, generate recommendations & impact warnings
    alt recommendations exist
        loop for each recommendation
            Skill->>GH: POST /repos/{owner}/{repo}/pulls/{number}/comments (path, line, commit oid)
            GH-->>Skill: 201 Created or error
            alt post failed
                Skill->>GH: POST general PR comment (file:line + recommendation)
                GH-->>Skill: 201 Created
            end
        end
    end
    alt impact warnings exist
        Skill->>GH: POST single aggregated general PR comment (impact warnings)
        GH-->>Skill: 201 Created
    end
    alt no recommendations and no impact warnings
        Skill->>GH: POST general PR comment "✅ No issues found"
        GH-->>Skill: 201 Created
    end
    Skill-->>CI: exit (single final summary line)
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly summarizes the main change: adapting the /review-pr skill to support CI non-interactive mode, which is the primary objective of this PR.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@hyperfleet-code-review/README.md`:
- Around line 180-227: The markdown code fences in the "Testing CI Mode Locally"
/ CI section around the YAML and bash examples (the block starting with "name:
pr-review" / the bash snippet using "CI=true claude -p ...") use backtick fences
and must be changed to tilde fences (~~~) to satisfy MD048; update each fenced
block that includes the YAML with "name: pr-review" and the bash example so
their opening and closing ``` are replaced with ~~~, ensuring indentation and
language hint (yaml, bash) remain the same.

In `@hyperfleet-code-review/skills/review-pr/SKILL.md`:
- Around line 224-225: Update SKILL.md to permit a single final CI summary line
to match output-format.md: replace or amend the bullet that currently reads "No
terminal output" (the phrase "No terminal output") to state that there should be
no streaming terminal output except for one final summary line formatted as "CI
review complete: ..." so the CI behavior is consistent with output-format.md and
the single-summary-line rule.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 1693da73-4321-4965-bbb9-53811c14da8c

📥 Commits

Reviewing files that changed from the base of the PR and between d6ae5ae and ecaf116.

📒 Files selected for processing (4)
  • hyperfleet-code-review/.claude-plugin/plugin.json
  • hyperfleet-code-review/README.md
  • hyperfleet-code-review/skills/review-pr/SKILL.md
  • hyperfleet-code-review/skills/review-pr/output-format.md

Comment thread hyperfleet-code-review/README.md
Comment thread hyperfleet-code-review/skills/review-pr/SKILL.md Outdated
@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Apr 14, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign rh-amarin for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Comment thread hyperfleet-code-review/README.md
Comment thread hyperfleet-code-review/README.md Outdated
Comment thread hyperfleet-code-review/.claude-plugin/plugin.json
@rafabene rafabene force-pushed the HYPERFLEET-914-ci-non-interactive-mode branch from 476daba to 3ad2cac Compare April 14, 2026 16:52
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
hyperfleet-code-review/README.md (1)

123-123: Clarify inline-comment wording to include fallback behavior.

These lines state that recommendations are posted as inline comments unconditionally, but Line 232 (and skills/review-pr/output-format.md:192-211) documents a fallback to a general PR comment when inline posting fails. Please make the wording non-absolute to avoid operator confusion.

Suggested wording update
-- **CI mode**: Activated when `CI=true` is set in the environment. Posts all recommendations as inline comments on the PR without interactive prompts. See [CI Integration](`#ci-integration`) for details.
+- **CI mode**: Activated when `CI=true` is set in the environment. Attempts to post recommendations as inline comments on the PR (falls back to a general PR comment with file/line reference if inline posting fails), without interactive prompts. See [CI Integration](`#ci-integration`) for details.
-The `/review-pr` skill supports non-interactive CI mode for automated PR reviews in Prow jobs or other CI systems. When `CI=true` is set, the skill posts all recommendations directly as inline comments on the PR instead of using interactive pagination.
+The `/review-pr` skill supports non-interactive CI mode for automated PR reviews in Prow jobs or other CI systems. When `CI=true` is set, the skill attempts to post recommendations as inline comments on the PR (with fallback to a general PR comment when inline posting fails) instead of using interactive pagination.

As per coding guidelines, "Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity."

Also applies to: 157-157

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@hyperfleet-code-review/README.md` at line 123, Update the "**CI mode**"
description to remove the absolute claim that recommendations are always posted
as inline comments; change the sentence that currently reads "Posts all
recommendations as inline comments on the PR without interactive prompts." to a
non-absolute phrasing that notes CI mode will attempt to post inline comments
but will fall back to posting a single general PR comment if inline posting
fails (ensure the wording mentions the fallback behavior and preserves the note
about CI=true and no interactive prompts). Reference the "**CI mode**" section
and the existing fallback behavior documented elsewhere so the new sentence
clearly communicates attempt+fallback rather than an unconditional guarantee.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@hyperfleet-code-review/README.md`:
- Line 123: Update the "**CI mode**" description to remove the absolute claim
that recommendations are always posted as inline comments; change the sentence
that currently reads "Posts all recommendations as inline comments on the PR
without interactive prompts." to a non-absolute phrasing that notes CI mode will
attempt to post inline comments but will fall back to posting a single general
PR comment if inline posting fails (ensure the wording mentions the fallback
behavior and preserves the note about CI=true and no interactive prompts).
Reference the "**CI mode**" section and the existing fallback behavior
documented elsewhere so the new sentence clearly communicates attempt+fallback
rather than an unconditional guarantee.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 1cb4d097-f9e7-4a30-bbe6-18bff2126aca

📥 Commits

Reviewing files that changed from the base of the PR and between 476daba and 3ad2cac.

📒 Files selected for processing (5)
  • CLAUDE.md
  • hyperfleet-code-review/.claude-plugin/plugin.json
  • hyperfleet-code-review/README.md
  • hyperfleet-code-review/skills/review-pr/SKILL.md
  • hyperfleet-code-review/skills/review-pr/output-format.md
✅ Files skipped from review due to trivial changes (2)
  • hyperfleet-code-review/.claude-plugin/plugin.json
  • CLAUDE.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • hyperfleet-code-review/skills/review-pr/SKILL.md
  • hyperfleet-code-review/skills/review-pr/output-format.md

@rafabene rafabene force-pushed the HYPERFLEET-914-ci-non-interactive-mode branch 13 times, most recently from 667a6cb to 1dcda1b Compare April 14, 2026 17:44
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@hyperfleet-code-review/skills/review-pr/output-format.md`:
- Around line 196-203: In
hyperfleet-code-review/skills/review-pr/output-format.md the fenced code blocks
causing MD048 warnings use backticks (```bash / ``` / ```text); update each of
those fences (the CI example blocks shown around the snippet and the other
occurrences flagged at lines referenced in the review) to use tilde fences
(~~~bash / ~~~ / ~~~text) so that all code block openers and closers are
consistent with the linter; replace every ``` opener/closer in the file examples
with the corresponding ~~~ variant (preserving the language tag like bash or
text) to resolve MD048.
- Around line 190-191: The statement "When CI mode is enabled (`CI=true` — see
SKILL.md Dynamic context), the skill posts results directly to the PR as GitHub
comments instead of printing to the terminal" contradicts the later requirement
that two specific terminal lines must still be printed; update the CI-mode
description to explicitly state the exception: when `CI=true` the skill posts
results to PR comments but must still emit the required CI start/complete
terminal lines (the two terminal lines referenced later) so CI consumers aren’t
broken, or alternatively remove/modify the later terminal-line requirement and
make both behaviors consistent; edit the paragraph containing "When CI mode is
enabled (`CI=true` — see SKILL.md Dynamic context)" and the section describing
the "two terminal lines" so they clearly document the single correct behavior.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: a86787d5-3135-4ccc-a0c5-e8e2665ef65b

📥 Commits

Reviewing files that changed from the base of the PR and between 3ad2cac and 1dcda1b.

📒 Files selected for processing (5)
  • CLAUDE.md
  • hyperfleet-code-review/.claude-plugin/plugin.json
  • hyperfleet-code-review/README.md
  • hyperfleet-code-review/skills/review-pr/SKILL.md
  • hyperfleet-code-review/skills/review-pr/output-format.md
✅ Files skipped from review due to trivial changes (3)
  • hyperfleet-code-review/.claude-plugin/plugin.json
  • CLAUDE.md
  • hyperfleet-code-review/README.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • hyperfleet-code-review/skills/review-pr/SKILL.md

Comment thread hyperfleet-code-review/skills/review-pr/output-format.md
Comment thread hyperfleet-code-review/skills/review-pr/output-format.md
@rafabene rafabene force-pushed the HYPERFLEET-914-ci-non-interactive-mode branch 2 times, most recently from a36997e to 13ba1d6 Compare April 14, 2026 17:50
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
hyperfleet-code-review/skills/review-pr/output-format.md (1)

188-191: ⚠️ Potential issue | 🟡 Minor

Clarify that CI mode still outputs terminal lines.

Line 190-191 states the skill posts results "instead of printing to the terminal," but lines 240-252 explicitly require two terminal output lines (startup and completion). This contradiction could mislead implementers.

📝 Proposed fix to clarify terminal behavior
-When CI mode is enabled (`CI=true` — see SKILL.md Dynamic context), the skill posts results directly to the PR as GitHub comments instead of printing to the terminal. No `AskUserQuestion` prompts are used.
+When CI mode is enabled (`CI=true` — see SKILL.md Dynamic context), the skill posts results directly to the PR as GitHub comments (non-interactive), with only the CI startup and completion status lines written to terminal output. No `AskUserQuestion` prompts are used.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@hyperfleet-code-review/skills/review-pr/output-format.md` around lines 188 -
191, The documentation's "CI mode" paragraph incorrectly states results are
posted "instead of printing to the terminal"; update that paragraph to clarify
that CI mode (CI=true) still emits the required two terminal output lines
(startup and completion) while avoiding AskUserQuestion prompts and posting full
results as GitHub comments, explicitly referencing "CI mode", "CI=true",
"AskUserQuestion", and the startup/completion terminal output lines to remove
the contradiction.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@hyperfleet-code-review/README.md`:
- Around line 159-167: Update the "How It Works" steps to include the two CI
terminal output lines emitted in CI mode: add a startup line before analysis
(`CI review started: reviewing <PR-URL>...`) and a completion line after posting
(`CI review complete: N recommendations posted (X blocking, Y nit) to
<PR-URL>`); modify the section that lists steps 1–6 so the startup line appears
immediately before step 1 and the completion line appears immediately after step
6, matching the behavior described in output-format.md and SKILL.md.

---

Duplicate comments:
In `@hyperfleet-code-review/skills/review-pr/output-format.md`:
- Around line 188-191: The documentation's "CI mode" paragraph incorrectly
states results are posted "instead of printing to the terminal"; update that
paragraph to clarify that CI mode (CI=true) still emits the required two
terminal output lines (startup and completion) while avoiding AskUserQuestion
prompts and posting full results as GitHub comments, explicitly referencing "CI
mode", "CI=true", "AskUserQuestion", and the startup/completion terminal output
lines to remove the contradiction.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 16643bd7-62d0-4b29-9a8d-9ba2ebda64de

📥 Commits

Reviewing files that changed from the base of the PR and between 1dcda1b and 13ba1d6.

📒 Files selected for processing (5)
  • CLAUDE.md
  • hyperfleet-code-review/.claude-plugin/plugin.json
  • hyperfleet-code-review/README.md
  • hyperfleet-code-review/skills/review-pr/SKILL.md
  • hyperfleet-code-review/skills/review-pr/output-format.md
✅ Files skipped from review due to trivial changes (2)
  • hyperfleet-code-review/.claude-plugin/plugin.json
  • CLAUDE.md

Comment thread hyperfleet-code-review/README.md
Comment thread hyperfleet-code-review/README.md
Comment thread hyperfleet-code-review/README.md
@rafabene rafabene force-pushed the HYPERFLEET-914-ci-non-interactive-mode branch from 13ba1d6 to 61f4121 Compare April 14, 2026 17:59
@rafabene rafabene force-pushed the HYPERFLEET-914-ci-non-interactive-mode branch from 61f4121 to 0b84249 Compare April 14, 2026 18:01
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (2)
hyperfleet-code-review/README.md (2)

170-177: ⚠️ Potential issue | 🟠 Major

ANTHROPIC_API_KEY is missing from the CI environment requirements.

Line 170-177 lists required variables but omits the Claude API key, which is required for execution unless explicitly pre-baked in the image. Add it (or explicitly document the baked-in assumption) to prevent broken CI setups.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@hyperfleet-code-review/README.md` around lines 170 - 177, The README's CI env
variables table omits ANTHROPIC_API_KEY; update the table (the same place
listing CI, GH_TOKEN, JIRA_API_TOKEN, JIRA_AUTH_TYPE, JIRA_SERVER) to include a
row for `ANTHROPIC_API_KEY` (mark as Yes unless the image truly bakes it in) and
either document that the key must be provided in CI or explicitly state the
baked-in image assumption so CI consumers know whether they must set
`ANTHROPIC_API_KEY`.

161-166: ⚠️ Potential issue | 🟡 Minor

How-it-works steps are missing the two CI terminal lines documented elsewhere.

Line 161-166 currently skips the startup/completion terminal output, but Line 251 and the skill docs define both lines as CI behavior. Please add them in this section to keep CI docs consistent and avoid operator confusion.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@hyperfleet-code-review/README.md` around lines 161 - 166, The "How-it-works"
ordered list is missing the two CI terminal output lines (startup and
completion) that are documented elsewhere; update the How-it-works section in
README.md to insert a startup terminal output line (e.g., "CI terminal: skill
started (CI=true)") at the beginning of the sequence and a completion terminal
output line (e.g., "CI terminal: skill completed") at the end so it matches the
CI behavior described in the CI behavior/skill docs; ensure the wording matches
the existing CI documentation for consistency.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@hyperfleet-code-review/README.md`:
- Around line 170-177: The README's CI env variables table omits
ANTHROPIC_API_KEY; update the table (the same place listing CI, GH_TOKEN,
JIRA_API_TOKEN, JIRA_AUTH_TYPE, JIRA_SERVER) to include a row for
`ANTHROPIC_API_KEY` (mark as Yes unless the image truly bakes it in) and either
document that the key must be provided in CI or explicitly state the baked-in
image assumption so CI consumers know whether they must set `ANTHROPIC_API_KEY`.
- Around line 161-166: The "How-it-works" ordered list is missing the two CI
terminal output lines (startup and completion) that are documented elsewhere;
update the How-it-works section in README.md to insert a startup terminal output
line (e.g., "CI terminal: skill started (CI=true)") at the beginning of the
sequence and a completion terminal output line (e.g., "CI terminal: skill
completed") at the end so it matches the CI behavior described in the CI
behavior/skill docs; ensure the wording matches the existing CI documentation
for consistency.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 4027b9c3-21b5-4695-8280-2758d710605e

📥 Commits

Reviewing files that changed from the base of the PR and between 13ba1d6 and 61f4121.

📒 Files selected for processing (5)
  • CLAUDE.md
  • hyperfleet-code-review/.claude-plugin/plugin.json
  • hyperfleet-code-review/README.md
  • hyperfleet-code-review/skills/review-pr/SKILL.md
  • hyperfleet-code-review/skills/review-pr/output-format.md
✅ Files skipped from review due to trivial changes (2)
  • CLAUDE.md
  • hyperfleet-code-review/.claude-plugin/plugin.json
🚧 Files skipped from review as they are similar to previous changes (2)
  • hyperfleet-code-review/skills/review-pr/SKILL.md
  • hyperfleet-code-review/skills/review-pr/output-format.md

@rafabene rafabene force-pushed the HYPERFLEET-914-ci-non-interactive-mode branch from 0b84249 to 8f251a2 Compare April 14, 2026 18:04
Comment thread hyperfleet-code-review/skills/review-pr/SKILL.md Outdated
Comment thread hyperfleet-code-review/skills/review-pr/output-format.md
- Detect CI=true in Dynamic context for non-interactive execution
- Post all recommendations as inline PR comments (with fallback)
- Post impact warnings as a single general PR comment
- Post "no issues found" comment when zero findings
- Use model text for terminal output (Bash echo is invisible in pipe mode)
- Enforce AskUserQuestion in interactive mode
- Skip interactive features in CI: self-review fixes, comment mode,
  review comment responses, follow-up ticket creation, navigation
- Document CI invocation with stream-json + jq for real-time output
- Bump plugin version 0.5.0 -> 0.6.0
@rafabene rafabene force-pushed the HYPERFLEET-914-ci-non-interactive-mode branch from 8f251a2 to d905409 Compare April 14, 2026 18:21
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
hyperfleet-code-review/skills/review-pr/output-format.md (1)

190-191: ⚠️ Potential issue | 🟠 Major

Clarify terminal output behavior to prevent misimplementation.

Line 190 states the skill posts to GitHub "instead of printing to the terminal," but lines 240-253 require two specific terminal lines (startup and completion). This contradiction could mislead implementers to suppress all terminal output, breaking CI observability.

The intent appears to be: post findings to GitHub (not terminal pagination) while still emitting status lines to the terminal. The current phrasing doesn't clearly convey this distinction.

📝 Suggested clarification
-When CI mode is enabled (`CI=true` — see SKILL.md Dynamic context), the skill posts results directly to the PR as GitHub comments instead of printing to the terminal. No `AskUserQuestion` prompts are used.
+When CI mode is enabled (`CI=true` — see SKILL.md Dynamic context), the skill posts review findings directly to the PR as GitHub comments (non-interactive), with only the CI startup/completion status lines written to terminal output. No `AskUserQuestion` prompts are used.

Note: This issue was previously flagged and marked as addressed in commit a36997e, but the current text still contains the ambiguity.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@hyperfleet-code-review/skills/review-pr/output-format.md` around lines 190 -
191, The CI-mode description is ambiguous: it says the skill posts results to
GitHub "instead of printing to the terminal" which conflicts with later
requirements to still emit two status lines (startup and completion) and
disables AskUserQuestion prompts; update the wording around "CI=true" /
"SKILL.md Dynamic context" to explicitly state that in CI mode the skill posts
findings and reports as GitHub comments while still writing two small status
lines to stdout (a startup line and a completion line) for CI observability, and
that AskUserQuestion prompts and interactive pagination of findings must be
suppressed; ensure the new text mentions "CI mode (CI=true)", "AskUserQuestion",
and the startup/completion terminal status lines so implementers know to keep
those two status prints but not print paginated findings to the terminal.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@hyperfleet-code-review/skills/review-pr/output-format.md`:
- Around line 190-191: The CI-mode description is ambiguous: it says the skill
posts results to GitHub "instead of printing to the terminal" which conflicts
with later requirements to still emit two status lines (startup and completion)
and disables AskUserQuestion prompts; update the wording around "CI=true" /
"SKILL.md Dynamic context" to explicitly state that in CI mode the skill posts
findings and reports as GitHub comments while still writing two small status
lines to stdout (a startup line and a completion line) for CI observability, and
that AskUserQuestion prompts and interactive pagination of findings must be
suppressed; ensure the new text mentions "CI mode (CI=true)", "AskUserQuestion",
and the startup/completion terminal status lines so implementers know to keep
those two status prints but not print paginated findings to the terminal.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: f007465b-9557-440c-9f67-84f1fafe1a7b

📥 Commits

Reviewing files that changed from the base of the PR and between 8f251a2 and d905409.

📒 Files selected for processing (5)
  • CLAUDE.md
  • hyperfleet-code-review/.claude-plugin/plugin.json
  • hyperfleet-code-review/README.md
  • hyperfleet-code-review/skills/review-pr/SKILL.md
  • hyperfleet-code-review/skills/review-pr/output-format.md
✅ Files skipped from review due to trivial changes (3)
  • hyperfleet-code-review/.claude-plugin/plugin.json
  • CLAUDE.md
  • hyperfleet-code-review/skills/review-pr/SKILL.md

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Apr 23, 2026

PR needs rebase.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant