Skip to content

Sync address-review command with triage improvements#2760

Merged
justin808 merged 1 commit intomainfrom
jg/address-review-triage
Mar 19, 2026
Merged

Sync address-review command with triage improvements#2760
justin808 merged 1 commit intomainfrom
jg/address-review-triage

Conversation

@justin808
Copy link
Copy Markdown
Member

@justin808 justin808 commented Mar 19, 2026

Summary

  • Syncs .claude/commands/address-review.md with upstream shakacode/claude-code-commands-skills-agents#14
  • Adds $ARGUMENTS variable, review body fetch, node_id/thread_id tracking, jq -s for paginated API calls, GraphQL thread metadata query, review summary body reply path, and GraphQL pagination known limitation

Test plan

  • Run /address-review on a PR with inline review comments and verify triage output
  • Verify thread resolution works via GraphQL after addressing a comment

🤖 Generated with Claude Code


Note

Medium Risk
Updates the /address-review workflow to use additional GitHub API/GraphQL calls and new reply paths, which could mis-handle comment/thread IDs if incorrect. Changes are confined to a command markdown file (no product code), limiting blast radius to the review-assistant workflow.

Overview
Updates the .claude/commands/address-review.md /address-review instructions to better handle real-world GitHub review flows.

It now captures $ARGUMENTS, fetches both review summary bodies and paginated inline comments (using jq -s), and records node_id so comments can be mapped to GraphQL reviewThreads to obtain thread_id/is_resolved and skip already-resolved threads.

Reply guidance is clarified: use /replies for review comments, but post general PR comments for review summary bodies; triage/task creation rules are tightened and DISCUSS items can be treated like MUST-FIX when user-selected, with a documented GraphQL pagination limitation.

Written by Cursor Bugbot for commit 49173b9. This will update automatically on new commits. Configure here.

Summary by CodeRabbit

Documentation

  • Clarified address-review command workflow with improved step-by-step guidance for extracting pull request and review information
  • Enhanced instructions for retrieving review data and attaching thread metadata to comments
  • Refined filtering rules for handling different types of review comments and replies
  • Updated terminology and formatting requirements for consistency

Pulls in changes from shakacode/claude-code-commands-skills-agents#14:
- Add $ARGUMENTS variable, review body fetch, node_id/thread_id tracking
- Add jq -s (slurp) for paginated gh api commands
- Add GraphQL thread metadata query for resolved-thread skipping
- Add review summary body reply path (cannot use /replies endpoint)
- Add /replies endpoint for standalone review comments
- Add GraphQL inner pagination known limitation
- Add security issues to actionable-by-default filter

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 19, 2026

Walkthrough

This pull request updates the .claude/commands/address-review.md command file with clarifications and refinements to the AI-assisted code review addressing workflow. Changes include improved guidance for input extraction, expanded PR/review data retrieval with full metadata, enhanced thread filtering rules, clarified reply routing (distinguishing review comments from summaries), and explicit GraphQL pagination documentation.

Changes

Cohort / File(s) Summary
Address Review Command Documentation
.claude/commands/address-review.md
Refined step-by-step guidance for PR review addressing: clarified input extraction format, expanded PR/review object retrieval to include full metadata (id, body, state, user, html_url), added thread metadata attachment via GraphQL (thread_id, is_resolved), broadened comment filtering rules (resolved thread handling, bot comment deduplication, security issue inclusion), updated terminology (todo→task list), consolidated MUST-FIX and DISCUSS handling, distinguished reply endpoints for review comments vs. summaries, and documented GraphQL inner pagination details.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~4 minutes

Possibly related PRs

  • PR #2658: Updates the same .claude/commands/address-review.md file with overlapping changes to reply routing and post-addressing guidance for review comments.

Poem

🐰 A command grows clearer, step by step we hop,
Thread metadata gathered, filtering does not stop,
Reviews addressed with wisdom, replies find their way,
GraphQL guides the journey through each coding day! ✨

🚥 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 accurately summarizes the main purpose of the PR—syncing the address-review command documentation with upstream triage improvements.
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
  • Commit unit tests in branch jg/address-review-triage
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

**If only PR number is provided (fetch all PR review comments):**
**For all paths that fetch review comments (both specific review and full PR), fetch review thread metadata and attach `thread_id` by matching each review comment's `node_id`:**

```bash
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The GraphQL query and its jq post-processing are collapsed onto a single very long line, making it nearly impossible to read, debug, or modify. Consider breaking it into a shell variable or heredoc for maintainability:

Suggested change
```bash
gh api graphql --paginate \
-f owner="${OWNER}" \
-f name="${NAME}" \
-F pr={PR_NUMBER} \
-f query='
query($owner:String!, $name:String!, $pr:Int!, $endCursor:String) {
repository(owner:$owner, name:$name) {
pullRequest(number:$pr) {
reviewThreads(first:100, after:$endCursor) {
nodes {
id
isResolved
comments(first:100) {
nodes { id databaseId }
}
}
pageInfo { hasNextPage endCursor }
}
}
}
}' \
| jq -s '[
.[].data.repository.pullRequest.reviewThreads.nodes[] |
{
thread_id: .id,
is_resolved: .isResolved,
comments: [.comments.nodes[] | {node_id: .id, id: .databaseId}]
}
]'

Copy link
Copy Markdown
Contributor

@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)
.claude/commands/address-review.md (1)

107-112: Standardize general-comment task subject format to keep IDs traceable.

Line 110 defines a strict subject pattern, but Line 111 allows free-form extraction for general comments. Consider requiring a stable fallback format (for example general:{comment_id} - {summary} (@{username})) so task-to-comment mapping remains deterministic during follow-up.

Based on learnings: Apply blocking review comments by default; optional refinements can be suggested when they improve workflow reliability.

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

In @.claude/commands/address-review.md around lines 107 - 112, The TodoWrite
task creation logic must enforce a deterministic subject format for general
comments and only emit MUST-FIX items; update the code that builds task subjects
(the TodoWrite creation logic and any helper that extracts subjects from
comments) to use the stable fallback pattern "general:{comment_id} - {summary}
(@{username})" whenever a comment does not match the strict file:line pattern,
and ensure you filter tasks so only comments marked MUST-FIX are turned into
TodoWrite entries; also make blocking review comments the default flag on
created tasks unless explicitly marked non-blocking.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @.claude/commands/address-review.md:
- Around line 107-112: The TodoWrite task creation logic must enforce a
deterministic subject format for general comments and only emit MUST-FIX items;
update the code that builds task subjects (the TodoWrite creation logic and any
helper that extracts subjects from comments) to use the stable fallback pattern
"general:{comment_id} - {summary} (@{username})" whenever a comment does not
match the strict file:line pattern, and ensure you filter tasks so only comments
marked MUST-FIX are turned into TodoWrite entries; also make blocking review
comments the default flag on created tasks unless explicitly marked
non-blocking.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: a2a61b62-7614-428a-b94e-688179695f46

📥 Commits

Reviewing files that changed from the base of the PR and between 1688aee and 49173b9.

📒 Files selected for processing (1)
  • .claude/commands/address-review.md

gh api repos/${REPO}/pulls/{PR_NUMBER}/reviews/{REVIEW_ID}/comments | jq '[.[] | {id: .id, path: .path, body: .body, line: .line, start_line: .start_line, user: .user.login}]'
# Review body (often contains summary feedback)
gh api repos/${REPO}/pulls/{PR_NUMBER}/reviews/{REVIEW_ID} | jq '{id: .id, body: .body, state: .state, user: .user.login, html_url: .html_url}'

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The jq -s '[.[].[] | ...]' idiom for paginated REST results is correct but non-obvious. With --paginate, gh emits one JSON array per page as separate outputs; jq -s collects them into an array-of-arrays, and then .[].[] double-indexes through pages → items to flatten them.

Consider adding a brief inline comment to explain this for future readers:

Suggested change
gh api --paginate repos/${REPO}/pulls/{PR_NUMBER}/reviews/{REVIEW_ID}/comments \
| jq -s '[
# --paginate emits one array per page; -s collects them into [[page1...],[page2...]];
# .[].[] flattens pages -> items
.[].[] | {id: .id, node_id: .node_id, path: .path, body: .body, line: .line, start_line: .start_line, user: .user.login, in_reply_to_id: .in_reply_to_id}
]'

gh api --paginate repos/${REPO}/pulls/{PR_NUMBER}/comments | jq -s '[.[].[] | {id: .id, node_id: .node_id, type: "review", path: .path, body: .body, line: .line, start_line: .start_line, user: .user.login, in_reply_to_id: .in_reply_to_id}]'

# General PR discussion comments (not tied to specific lines)
gh api --paginate repos/${REPO}/issues/{PR_NUMBER}/comments | jq -s '[.[].[] | {id: .id, node_id: .node_id, type: "issue", body: .body, user: .user.login, html_url: .html_url}]'
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

No error-handling guidance is given for this GraphQL fetch, unlike the REST API calls which have explicit 404/403 notes. If the query fails (e.g. missing OAuth scope read:discussion, or a network error), the AI has no thread metadata and could silently skip thread resolution.

Suggest adding a brief note here:

If the GraphQL query fails, log the error and continue without thread_id — thread resolution will be skipped for unresolved threads, but fetching and triaging comments should still proceed normally.

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 19, 2026

Review: address-review command sync

Overall this is a solid improvement. The additions address real gaps (paginated comment fetching, review body capture, resolved-thread skipping) and the triage/reply guidance is clearer. A few notes:

What's good

  • $ARGUMENTS — correct Claude Code template-variable syntax for slash commands; cleanly replaces the fragile "parse from user message" approach.
  • --paginate + jq -s — fixes a real bug where the old single-page fetch would silently miss comments on large PRs. The jq -s '[.[].[] | ...]' pattern is the right idiom (see inline note on readability).
  • Review summary body fetch — important fix; the old command only fetched inline comments and would miss feedback left in the review body. The clarification that review bodies must be replied to via the issues endpoint (not /replies) is correct.
  • node_id → GraphQL thread mapping — architecturally sound: REST node_id matches the GraphQL id field, so databaseId bridges back to the REST integer id. The approach avoids having to store two separate id spaces.
  • Removing standalone comment creation — the old POST /pulls/{PR_NUMBER}/comments path (which creates a new thread) was an odd fit for a reply workflow; removing it simplifies Step 7 without losing meaningful functionality.
  • security issues added to MUST-FIX — good addition; the category was already defined in the triage rules but the filtering section didn't mention it.

Concerns (see inline comments)

  1. GraphQL one-liner (line 68) — the query + jq post-processing is collapsed to a single very long line, making it hard to read, paste into a shell for debugging, or diff in the future. Suggested multi-line reformatting in the inline comment.
  2. jq -s idiom is non-obvious (line 49) — the double-indexing .[].[] is correct but not self-evident to someone unfamiliar with how --paginate streams output. A short inline shell comment would help.
  3. No GraphQL error handling guidance (line 63) — the REST API fetch steps have explicit 404/403 notes, but the new GraphQL step has none. A failed GraphQL call should degrade gracefully (continue without thread IDs) rather than halt or silently produce bad output.

Minor

  • The todoWrite schema change (dropping activeForm, adding description) is a net improvement — including full comment text in the description gives more context when working through the task list. No issues there.
  • The known-limitation note for inner comments(first:100) pagination is appropriate; threads with >100 comments are vanishingly rare in practice.

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Mar 19, 2026

Greptile Summary

This PR syncs .claude/commands/address-review.md with upstream improvements, enhancing the /address-review command's ability to fetch, triage, reply to, and resolve GitHub PR review threads.

Key changes:

  • $ARGUMENTS variable — user input is now explicitly surfaced so Claude can parse it from the correct source.
  • Review body fetch — when targeting a specific review ID, the review summary body is now fetched separately and included as a potential actionable item, with a clear note that it must be replied to via a general PR comment (not the /replies endpoint).
  • node_id/thread_id tracking — REST API comments now carry node_id, and a new GraphQL query maps each node_id to its parent thread ID and resolution status, enabling accurate filtering of already-resolved threads.
  • --paginate + jq -s — all list endpoints now use --paginate with the jq -s '[.[].[] | ...]' slurp pattern to correctly handle multi-page responses.
  • Correct reply path for standalone review comments — removes the old (incorrect) path that created a brand-new review comment; all existing review comments now correctly use the /replies endpoint.
  • Known limitation documented — inner comments(first:100) hardcoding for GraphQL thread pagination is now explicitly noted.

One issue found: Step 5's TodoWrite instruction removes the required activeForm field and introduces a Description: bullet that doesn't correspond to any real TodoWrite field, which could cause task-creation failures at runtime.

Confidence Score: 4/5

  • Safe to merge after fixing the missing activeForm field in Step 5's TodoWrite instruction.
  • The bash commands, jq patterns, GraphQL query, and API endpoint choices are all correct. The pagination pattern (--paginate + jq -s '[.[].[] | ...]') is valid, the GraphQL cursor pagination is properly wired, and the reply/resolve paths now correctly distinguish between inline comments and review summary bodies. The only meaningful issue is that Step 5 dropped the required activeForm TodoWrite field and introduced a non-existent Description field, which could cause the TodoWrite tool call to fail when the command is actually executed.
  • .claude/commands/address-review.md — Step 5 TodoWrite field names need correction.

Important Files Changed

Filename Overview
.claude/commands/address-review.md Syncs the address-review command with upstream improvements: adds $ARGUMENTS, review body fetch, node_id/thread_id tracking, --paginate+jq -s for paged API calls, GraphQL thread metadata query, and corrected reply paths. One issue: Step 5 removes the required activeForm TodoWrite field and introduces a non-existent Description field, which could cause task creation failures.

Sequence Diagram

sequenceDiagram
    participant User
    participant Claude
    participant GH_REST as GitHub REST API
    participant GH_GQL as GitHub GraphQL API

    User->>Claude: /address-review $ARGUMENTS

    Claude->>GH_REST: gh repo view (get REPO)
    GH_REST-->>Claude: REPO name

    alt specific review ID
        Claude->>GH_REST: GET /pulls/{PR}/reviews/{REVIEW_ID}
        GH_REST-->>Claude: review body + state
        Claude->>GH_REST: GET --paginate /pulls/{PR}/reviews/{REVIEW_ID}/comments
        GH_REST-->>Claude: inline comments (node_id, ...)
    else full PR
        Claude->>GH_REST: GET --paginate /pulls/{PR}/comments
        GH_REST-->>Claude: review comments (node_id, ...)
        Claude->>GH_REST: GET --paginate /issues/{PR}/comments
        GH_REST-->>Claude: issue comments (node_id, ...)
    end

    Claude->>GH_GQL: graphql --paginate reviewThreads query
    GH_GQL-->>Claude: thread_id, isResolved, comment node_ids

    Claude->>Claude: Filter resolved threads & replies
    Claude->>Claude: Triage → MUST-FIX / DISCUSS / SKIPPED
    Claude->>Claude: TodoWrite (MUST-FIX items only)
    Claude->>User: Present triage, await selection

    User->>Claude: Select items to address

    loop For each selected item
        Claude->>Claude: Make code/test/doc change
        alt review summary body
            Claude->>GH_REST: POST /issues/{PR}/comments
        else review inline comment
            Claude->>GH_REST: POST /pulls/{PR}/comments/{ID}/replies
        else issue comment
            Claude->>GH_REST: POST /issues/{PR}/comments
        end
        GH_REST-->>Claude: reply posted
        Claude->>GH_GQL: mutation resolveReviewThread(threadId)
        GH_GQL-->>Claude: thread resolved
    end
Loading

Last reviewed commit: "Sync address-review ..."

Comment on lines +107 to +113
Create a task list with TodoWrite containing **only the `MUST-FIX` items**:

- One todo per must-fix comment or deduplicated issue
- For file-specific comments: `"{file}:{line} - {comment_summary} (@{username})"` (content)
- For general comments: Parse the comment body and extract the must-fix action
- Format activeForm: `"Addressing {brief description}"`
- All todos should start with status: `"pending"`
- One task per must-fix comment or deduplicated issue
- Subject: `"{file}:{line} - {comment_summary} (@{username})"`
- For general comments: Parse the comment body and extract the must-fix action as the subject
- Description: Include the full review comment text and any relevant context
- All tasks should start with status: `"pending"`
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 activeForm field dropped from TodoWrite instruction

The previous version of Step 5 explicitly told the executing AI to set activeForm: "Addressing {brief description}", which is a required field in the TodoWrite schema (content, activeForm, status are all required). The new version replaces it with a Description: bullet that doesn't correspond to any TodoWrite field.

As a result:

  • activeForm is no longer specified, so the executing AI must guess an appropriate present-continuous label or omit it entirely — either path risks a tool-call failure.
  • Description: is not a real TodoWrite field; its instruction ("include the full review comment text") will be silently ignored or misapplied.

Suggested fix — restore activeForm guidance and drop the non-existent Description field:

Suggested change
Create a task list with TodoWrite containing **only the `MUST-FIX` items**:
- One todo per must-fix comment or deduplicated issue
- For file-specific comments: `"{file}:{line} - {comment_summary} (@{username})"` (content)
- For general comments: Parse the comment body and extract the must-fix action
- Format activeForm: `"Addressing {brief description}"`
- All todos should start with status: `"pending"`
- One task per must-fix comment or deduplicated issue
- Subject: `"{file}:{line} - {comment_summary} (@{username})"`
- For general comments: Parse the comment body and extract the must-fix action as the subject
- Description: Include the full review comment text and any relevant context
- All tasks should start with status: `"pending"`
- One task per must-fix comment or deduplicated issue
- `content`: `"{file}:{line} - {comment_summary} (@{username})"`
- For general comments: Parse the comment body and extract the must-fix action as the content
- `activeForm`: `"Addressing {brief description}"`
- All tasks should start with status: `"pending"`

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 49173b9b75

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +59 to +63
# Inline code review comments
gh api --paginate repos/${REPO}/pulls/{PR_NUMBER}/comments | jq -s '[.[].[] | {id: .id, node_id: .node_id, type: "review", path: .path, body: .body, line: .line, start_line: .start_line, user: .user.login, in_reply_to_id: .in_reply_to_id}]'

# General PR discussion comments (not tied to specific lines)
gh api --paginate repos/${REPO}/issues/{PR_NUMBER}/comments | jq -s '[.[].[] | {id: .id, node_id: .node_id, type: "issue", body: .body, user: .user.login, html_url: .html_url}]'
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Fetch review summaries in the PR-wide path

In the /address-review 12345 branch, we now load inline review comments and general issue comments, but we still never call GitHub's List reviews for a pull request endpoint, which is where submitted review summary bodies live (body, state, html_url). That means a very common case—a review that only leaves summary feedback and no inline comments—will be invisible unless the user passes a specific #pullrequestreview-... URL. Since Step 7 now has special handling for review summary replies, this omission will cause actionable feedback to be missed in the default full-PR flow.

Useful? React with 👍 / 👎.

@justin808 justin808 merged commit 6121537 into main Mar 19, 2026
21 checks passed
@justin808 justin808 deleted the jg/address-review-triage branch March 19, 2026 00:32
justin808 added a commit that referenced this pull request Mar 25, 2026
## Summary

- Stamp `### [16.5.0.rc.0]` version header with today's date
- Add 10 new changelog entries for PRs merged since v16.4.0
- Fix incomplete PR 2818 entry (missing author link)

### New entries added

**Added:**
- `create-react-on-rails-app --pro` support (PR 2818)
- Global prerender env override `REACT_ON_RAILS_PRERENDER_OVERRIDE` (PR
2816)
- `react_on_rails:sync_versions` rake task (PR 2797)
- Pro/RSC setup checks in `react_on_rails:doctor` (PR 2674)

**Changed:**
- [Pro] Canonical env var for worker count is now
`RENDERER_WORKERS_COUNT` (PR 2611)

**Improved:**
- Smoother `create-react-on-rails-app` and install generator flows (PR
2650)
- Pro upgrade hint after install (PR 2642)

**Fixed:**
- Preserve runtime env vars across `Bundler.with_unbundled_env` (PR
2836)
- Fix doctor prerender check and ExecJS display for Pro/RSC apps (PR
2773)
- Fix doctor false positives for custom layouts (PR 2612)

### Skipped PRs (not user-visible)

Docs-only: #2845, #2842, #2826, #2830, #2820, #2809, #2803, #2785,
#2801, #2791, #2789, #2788, #2772, #2778, #2780, #2784, #2671, #2676,
#2662, #2657, #2669
CI/internal tooling: #2825, #2817, #2819, #2812, #2815, #2810, #2808,
#2807, #2634, #2798, #2761, #2760, #2658, #2639, #2667, #2656

## Test plan

- [x] Verified version header and diff links are correct
- [x] Verified all entries follow changelog formatting conventions
- [x] Verified file ends with newline
- [ ] After merge, run `rake release` to publish 16.5.0.rc.0

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Documentation-only change updating `CHANGELOG.md` with a new
`16.5.0.rc.0` section and compare links; no runtime code is modified.
> 
> **Overview**
> Adds a new `16.5.0.rc.0` (2026-03-25) section to `CHANGELOG.md`,
consolidating recent PR entries under **Added/Changed/Improved/Fixed**
and correcting the previously incomplete `--pro` CLI entry author
attribution.
> 
> Updates the bottom compare links so `[unreleased]` now compares from
`v16.5.0.rc.0` and adds a link definition for `[16.5.0.rc.0]`.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
481a71c. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Release Notes - v16.5.0.rc.0

* **New Features**
  * Added sync_versions task for streamlined version management
  * Expanded doctor checks for Pro and RSC support

* **Improvements**
  * Enhanced generator workflow and Pro upgrade guidance
  * Improved environment variable handling and preservation

* **Bug Fixes**
* Fixed detection issues with doctor tools and ExecJS/prerender
functionality

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
justin808 added a commit that referenced this pull request Mar 30, 2026
## Summary
- Syncs `.claude/commands/address-review.md` with upstream
[shakacode/claude-code-commands-skills-agents#14](shakacode/claude-code-commands-skills-agents#14)
- Adds `$ARGUMENTS` variable, review body fetch, `node_id`/`thread_id`
tracking, `jq -s` for paginated API calls, GraphQL thread metadata
query, review summary body reply path, and GraphQL pagination known
limitation

## Test plan
- [ ] Run `/address-review` on a PR with inline review comments and
verify triage output
- [ ] Verify thread resolution works via GraphQL after addressing a
comment

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Updates the `/address-review` workflow to use additional GitHub
API/GraphQL calls and new reply paths, which could mis-handle
comment/thread IDs if incorrect. Changes are confined to a command
markdown file (no product code), limiting blast radius to the
review-assistant workflow.
> 
> **Overview**
> Updates the `.claude/commands/address-review.md` `/address-review`
instructions to better handle real-world GitHub review flows.
> 
> It now captures `$ARGUMENTS`, fetches both *review summary bodies* and
paginated inline comments (using `jq -s`), and records `node_id` so
comments can be mapped to GraphQL `reviewThreads` to obtain
`thread_id`/`is_resolved` and skip already-resolved threads.
> 
> Reply guidance is clarified: use `/replies` for review comments, but
post general PR comments for review summary bodies; triage/task creation
rules are tightened and DISCUSS items can be treated like MUST-FIX when
user-selected, with a documented GraphQL pagination limitation.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
49173b9. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Documentation
* Clarified address-review command workflow with improved step-by-step
guidance for extracting pull request and review information
* Enhanced instructions for retrieving review data and attaching thread
metadata to comments
* Refined filtering rules for handling different types of review
comments and replies
* Updated terminology and formatting requirements for consistency

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
justin808 added a commit that referenced this pull request Apr 6, 2026
## Summary
- Syncs `.claude/commands/address-review.md` with upstream
[shakacode/claude-code-commands-skills-agents#14](shakacode/claude-code-commands-skills-agents#14)
- Adds `$ARGUMENTS` variable, review body fetch, `node_id`/`thread_id`
tracking, `jq -s` for paginated API calls, GraphQL thread metadata
query, review summary body reply path, and GraphQL pagination known
limitation

## Test plan
- [ ] Run `/address-review` on a PR with inline review comments and
verify triage output
- [ ] Verify thread resolution works via GraphQL after addressing a
comment

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Medium Risk**
> Updates the `/address-review` workflow to use additional GitHub
API/GraphQL calls and new reply paths, which could mis-handle
comment/thread IDs if incorrect. Changes are confined to a command
markdown file (no product code), limiting blast radius to the
review-assistant workflow.
> 
> **Overview**
> Updates the `.claude/commands/address-review.md` `/address-review`
instructions to better handle real-world GitHub review flows.
> 
> It now captures `$ARGUMENTS`, fetches both *review summary bodies* and
paginated inline comments (using `jq -s`), and records `node_id` so
comments can be mapped to GraphQL `reviewThreads` to obtain
`thread_id`/`is_resolved` and skip already-resolved threads.
> 
> Reply guidance is clarified: use `/replies` for review comments, but
post general PR comments for review summary bodies; triage/task creation
rules are tightened and DISCUSS items can be treated like MUST-FIX when
user-selected, with a documented GraphQL pagination limitation.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
49173b9. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Documentation
* Clarified address-review command workflow with improved step-by-step
guidance for extracting pull request and review information
* Enhanced instructions for retrieving review data and attaching thread
metadata to comments
* Refined filtering rules for handling different types of review
comments and replies
* Updated terminology and formatting requirements for consistency

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
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.

1 participant