Skip to content

(ROSAENG-62419) Coderabbit Review Skill - #362

Closed
Sushant2504 wants to merge 5 commits into
openshift:masterfrom
Sushant2504:ROSAENG-62419-coderabbit-review-skill
Closed

(ROSAENG-62419) Coderabbit Review Skill#362
Sushant2504 wants to merge 5 commits into
openshift:masterfrom
Sushant2504:ROSAENG-62419-coderabbit-review-skill

Conversation

@Sushant2504

Copy link
Copy Markdown
Contributor

Summary

Adds CodeRabbit AI review as a complementary finding source for FullSend code reviews. Findings are synthesized alongside built-in dimensions (correctness, protected paths, intent/coherence).

Changes

New Files:

  • .fullsend/harness/review.yaml - Review harness extending FullSend base (v0.38.0)
  • .fullsend/skills/coderabbit-review/SKILL.md - Documentation
  • .fullsend/skills/coderabbit-review/scripts/run-coderabbit.sh - Ingestion script
  • .fullsend/skills/README.md - Skills directory docs
  • .claude/skills - Symlink to ../.fullsend/skills

Modified:

  • .coderabbit.yaml - Added generated code exclusions
  • Migrated .claude/skills/ to .fullsend/skills/

Stats: 7 files changed, 329 insertions(+), 5 deletions(-)

Key Features

  • Comment mode (default) - Reads CodeRabbit PR comments via gh API, no API key needed
  • CLI mode (optional) - Runs CodeRabbit CLI with CODERABBIT_API_KEY (runner-only)
  • Sandbox-compatible - Uses gh + node (both allowlisted)
  • Fail-soft - Emits empty array on unavailability (non-blocking)
  • Security - Exact login matching, current commit filtering, API key never enters sandbox

Usage

Test comment mode (default, no API key required)

.fullsend/skills/coderabbit-review/scripts/run-coderabbit.sh <PR_NUMBER>

Use in FullSend review

fullsend review --pr <PR_NUMBER>

CI Setup (Optional - CLI mode only)

export CODERABBIT_API_KEY="$(cat /path/to/secret)"
export CODERABBIT_MODE="cli"
.fullsend/skills/coderabbit-review/scripts/run-coderabbit.sh "$PR_NUMBER" \

/tmp/workspace/coderabbit-findings.json

Commits

  1. Script implementation (133 lines)
  2. Skill documentation (109 lines)
  3. Skills README (143 lines)
  4. Skills migration (-122 lines)
  5. Harness configuration (61 lines)

Sushant2504 and others added 4 commits September 7, 2026 11:29
Add sandbox-compatible script to collect CodeRabbit findings for PRs
and emit them as JSON for FullSend review synthesis.

Script features:
- Two modes: comment (S3, default) and cli (S2, runner-only)
- Sandbox-compatible: uses gh + node (both allowlisted)
- Fail-soft behavior: emits empty array on unavailability
- Exact bot login matching: prevents injection attacks
- Current commit filtering: excludes stale comments
- CLI output normalization: transforms to required JSON schema
- API key authentication: for optional CLI mode

Comment mode (default):
- Reads CodeRabbit's existing PR review comments via gh API
- Filters by current PR head commit to exclude historical comments
- No API key or external network required
- Uses node for JSON processing (jq not allowlisted)

CLI mode (runner-only):
- Runs CodeRabbit CLI with --format json
- Requires CODERABBIT_API_KEY as CI secret
- Normalizes output to {source, path, line, body, url}[] format
- Fails gracefully if CLI unavailable

Security:
- API key passed via --api-key flag (not in env visible to logs)
- Exact case-insensitive login comparison (no regex injection)
- All errors emit warnings to stderr + empty array to stdout

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Add comprehensive documentation for the coderabbit-review skill that
explains how to integrate CodeRabbit findings into FullSend reviews.

Documentation covers:
- When to use the skill (during /fs-review on PRs)
- Two ingestion sources with priority (S2 injected file, S3 GitHub comments)
- CI setup instructions for CODERABBIT_API_KEY
- Step-by-step finding gathering and mapping process
- Repo path exclusion patterns from .coderabbit.yaml
- Security constraints (never log API keys, treat as advisory)

CI Setup (S2 mode):
- Store CODERABBIT_API_KEY as CI secret
- Run pre-script before review harness
- Output to /tmp/workspace/coderabbit-findings.json
- host_files mapping copies into sandbox
- API key never enters sandbox environment

GitHub Ingest (S3 mode - default):
- Uses gh client already available in review agent
- No extra network, binary, or secret required
- Reads existing CodeRabbit PR review comments
- Sandbox-safe and fail-soft

Finding mapping:
- Map severity to review scale (default: info)
- Prefix categories with coderabbit- for deduplication
- Extract file, line, description, remediation, url
- Respect .coderabbit.yaml path exclusions

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Add comprehensive README for the .fullsend/skills/ directory,
documenting the available skills and how to create new ones.

Documented skills:
- prow-ci: Access and analyze OpenShift Prow CI results
- coderabbit-review: Ingest CodeRabbit findings for PR reviews

Documentation includes:
- Purpose and usage for each skill
- Skill invocation patterns for Claude conversations
- Skill components structure (frontmatter, commands, troubleshooting)
- Creating new skills (directory structure, SKILL.md format)
- Integration with agents, hooks, and commands
- Future planned skills (dependency-update, release-prep, etc.)

Directory structure note:
- Skills live in .fullsend/skills/
- .claude/skills is a symlink for portability across agent runtimes
- Skills extend built-in FullSend skills (don't replace them)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Reorganize skill files to follow FullSend conventions:
- Move .claude/skills/ to .fullsend/skills/
- Create .claude/skills symlink to ../.fullsend/skills
- Migrate prow-ci skill to new location

This change improves portability across agent runtimes while
maintaining backward compatibility via the symlink.

Files migrated:
- .claude/skills/prow-ci/SKILL.md → .fullsend/skills/prow-ci/SKILL.md
- .claude/skills/README.md → deleted (already added to .fullsend/skills/)
- .claude/skills → new symlink to ../.fullsend/skills

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Sep 7, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Team

Run ID: fe24cda3-8b5b-4529-9283-ef97ed323c51


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

@openshift-ci
openshift-ci Bot requested review from Tafhim and charlesgong September 7, 2026 06:13
@openshift-ci

openshift-ci Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: Sushant2504
Once this PR has been reviewed and has the lgtm label, please assign typeid 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

@codecov-commenter

codecov-commenter commented Sep 7, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 65.39%. Comparing base (1c770c2) to head (acaab51).

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #362   +/-   ##
=======================================
  Coverage   65.39%   65.39%           
=======================================
  Files          23       23           
  Lines        1598     1598           
=======================================
  Hits         1045     1045           
  Misses        473      473           
  Partials       80       80           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Add review.yaml harness configuration that extends the FullSend base
review harness with CodeRabbit findings ingestion.

Review harness configuration:
- Composes upstream FullSend review harness (v0.38.0)
- Adds coderabbit-review skill as complementary finding source
- Inherits triggers from base (no custom override needed)
- Allows remote resources from fullsend-ai/agents
- Maps host_files for S2 CLI mode (coderabbit-findings.json)

CodeRabbit integration:
- Findings mapped with coderabbit-* category prefixes
- Built-in review dimensions remain authoritative
- Synthesizer can dedupe and attribute properly

API key setup (CI only):
- CODERABBIT_API_KEY stored as CI secret (Tekton/Prow)
- Runner-side pre-script generates findings JSON
- host_files mapping copies into sandbox
- API key never injected into sandbox environment

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@Sushant2504
Sushant2504 force-pushed the ROSAENG-62419-coderabbit-review-skill branch from 9ffe194 to acaab51 Compare September 7, 2026 06:26
@Sushant2504

Copy link
Copy Markdown
Contributor Author

/test lint

@Sushant2504

Copy link
Copy Markdown
Contributor Author

/test rosa-sts-e2e

@openshift-ci

openshift-ci Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

@Sushant2504: all tests passed!

Full PR test history. Your PR dashboard.

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. I understand the commands that are listed here.

@samanthajayasinghe

samanthajayasinghe commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

duplicate: #364

@fullsend-ai-retro

fullsend-ai-retro Bot commented Sep 7, 2026

Copy link
Copy Markdown

🤖 Finished Retro · ✅ Success · Started 9:39 AM UTC · Completed 9:52 AM UTC

Commit: acaab51 · View workflow run →

Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $3.28

@fullsend-ai-retro

fullsend-ai-retro Bot commented Sep 7, 2026

Copy link
Copy Markdown

Retro: PR #362 — (ROSAENG-62419) Coderabbit Review Skill

Timeline

PR #362 was one of four PRs opened for the same JIRA ticket (ROSAENG-62419 — adding CodeRabbit as a complementary finding source for FullSend reviews):

PR Author Opened Closed Scope Agent Activity
#340 (spike) Sushant2504 Aug 27 Sep 7 21 files, full investigation + prototype CodeRabbit reviewed; /fs-review invoked Sep 2
#362 Sushant2504 Sep 7 06:13 Sep 7 09:37 6 files, implementation + skills migration None (no triage, code, review, or fix)
#363 samanthajayasinghe Sep 7 07:16 Sep 7 09:36 3 files, narrower scope (no migration) FullSend review agent ran (11 findings)
#364 Sushant2504 Sep 7 09:22 Sep 7 09:42 3 files, same scope as #363 None

None of the four PRs were merged. All were closed on Sep 7. PR #362 was closed by samanthajayasinghe with the comment "duplicate: #364". PR #364 received /lgtm + /approve from samanthajayasinghe but was self-closed by Sushant2504 before the required OWNERS approver (bergmannf) could approve.

Agent Performance Assessment

This retro was triggered on PR #362, which had zero fullsend agent involvement. No triage, code, review, or fix agents ran on this PR. The only agent dispatched was the retro itself (workflow run 34107107318).

However, the sibling PR #363 received a substantive FullSend review (claude-opus-4-6, high effort). The review agent produced 11 findings, including one genuinely high-value catch:

  • HIGH — configuration-gap: The new review.yaml harness was not registered in .fullsend/config.yaml under the agents: key, unlike the existing triage and code harnesses. This would have prevented the feature from working.
  • MEDIUM — documentation-correctness: SKILL.md claimed .coderabbit.yaml excludes paths that it doesn't actually exclude.
  • MEDIUM — secrets-exposure: CODERABBIT_API_KEY passed via CLI flag is visible in /proc/PID/cmdline.

The review agent's config-gap finding demonstrates strong structural awareness — it cross-referenced the new harness file against the existing config and identified the inconsistency. This is the kind of finding that often slips through human review on config-only PRs.

Key Observations

  1. Coordination overhead: Two contributors independently created competing PRs ((ROSAENG-62419) Coderabbit Review Skill #362 and (ROSAENG-62419) Add coderabbit-review skill for FullSend reviews #363) for the same ticket on the same day, with different scope decisions (whether to migrate .claude/skills/ to .fullsend/skills/). This was resolved through closing duplicates but consumed time.

  2. Retro on zero-activity PR: Running this retro on PR (ROSAENG-62419) Coderabbit Review Skill #362 (zero agent involvement, closed as duplicate) produces limited value. The meaningful analysis is on PR (ROSAENG-62419) Add coderabbit-review skill for FullSend reviews #363 where the review agent actually ran.

  3. No autonomy-readiness data: None of the four PRs received formal human code review before closure, so there is no human-vs-agent review delta to assess.

Evidence for Existing Issues

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants