ci: enhance claude code review and clean up enhance-claude-docs skill#366
Merged
ninja-shreyash merged 3 commits intomainfrom Apr 14, 2026
Merged
ci: enhance claude code review and clean up enhance-claude-docs skill#366ninja-shreyash merged 3 commits intomainfrom
ninja-shreyash merged 3 commits intomainfrom
Conversation
Two changes to the claude-code-review workflow:
1. Resolved-thread dedupe — fetch existing review threads via GraphQL
before reviewing and apply a posting gate to every inline comment:
- Skip if an unresolved thread already covers the same (path, line, topic)
- Skip resolved threads where the fix was applied or author declined
- Unresolve the original thread (no new comment) if a resolved actionable
ask was not addressed in the current code
2. Opt-out label — `skip-claude-review` on a PR suppresses the workflow
on subsequent commits. Removing the label re-enables it.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The enhance-claude-docs skill was baking provenance like (Source: PR #184) and reviewer @-mentions directly into the documentation files (e.g., agent_docs/conventions.md), creating permanent cross-link noise in source PRs and burning contributor handles into long-lived docs. Updates Step 6 with explicit content rules for doc edits: no #N refs, no @-mentions, no verbatim quoting. Provenance stays in the PR body and terminal output where it belongs. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Previous prompt told the bot to "summarize" without saying when, which made it post a "No new issues" filler summary on runs where no action was taken. The current uipath-typescript workflow posts zero plugin summaries today; this prompt would have changed that behavior. Now: post a summary ONLY if the run posted a new inline comment or unresolved a thread. Otherwise stay silent. Preserves the audit-log value (notifying the author when their thread was unresolved) without adding noise on no-op pushes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
vnaren23
approved these changes
Apr 14, 2026
LochanRn
approved these changes
Apr 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Why
Three pain points across our review/docs automation:
claude-code-review.yml— every push re-runs a full review with no awareness of prior comments, re-posting the same inline comments even after fixes/resolves/declines.enhance-claude-docsskill bakes provenance into doc files —(Source: PR #184)and@swati354-style references end up permanently insideagent_docs/*.md(see docs: update Claude docs from PR review analysis #360), creating cross-link noise and burning contributor handles into long-lived docs.What this PR does
1. Resolved-thread dedupe (
claude-code-review.yml)Fetches existing review threads via GraphQL before reviewing, then gates every inline-comment posting:
Decline detection reads thread reply text — no labels or syntax needed.
2. Opt-out label (
claude-code-review.yml)Apply
skip-claude-review(label created in this repo) → workflow skipped on subsequent commits. Remove → re-enabled. Symmetric.3. Silence summary on no-op runs (
claude-code-review.yml)The current workflow posts zero plugin summary comments on most PRs (e.g., 8 commits on #358 → 0 plugin summaries). Without explicit guidance, the new dedupe prompt would have started posting filler summaries like "No new issues" on runs where nothing actually happened.
STEP 5 of the prompt now gates the summary: post only if the run produced an action (a new inline comment or an unresolved thread). Otherwise stay silent. Preserves current "no chat on no-op" behavior while keeping audit value when state actually changed.
4. Content rules for
enhance-claude-docsskillStep 6 of
.claude/skills/enhance-claude-docs/SKILL.mdnow forbids#Nrefs,@usernamementions, and verbatim quoting inside the doc files. Provenance stays in the PR body and terminal output.Testing — review workflow
Validated end-to-end on
ninja-shreyash/cherrypick-test#20across 8 scenarios. All passed.skip-claude-reviewlabel → pushskipped, no compute ✅Across 4 follow-up pushes (scenarios 2–5), zero duplicate inline comments were posted. Scenario 8 confirms the silence-on-no-op clause from change #3 fully suppresses filler summaries — same conditions previously produced a
## Code Review — No New Issuessummary, now produces nothing.Test PR: ninja-shreyash/cherrypick-test#20
Testing — docs skill change
Prompt-level change. Exercised by the next scheduled
claude-docs-update.ymlrun (Mondays 9am UTC) or manualworkflow_dispatch. Next run's docs PR should have no#Nor@usernamestrings inside modifiedagent_docs/*.mdfiles.Risk