.agents/skills/agent-reviews/SKILL.md
Review and fix PR review bot findings on current PR, loop until resolved. Fetches unanswered bot comments, evaluates each finding, fixes real bugs, dismisses false positives, and replies to every comment with the outcome.
npx skillsauth add paulkinlan/notebooklm-chrome agent-reviewsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Automatically review, fix, and respond to findings from PR review bots on the current PR. Uses a deterministic two-phase workflow: first fix all existing issues, then poll once for new ones.
Path note: All scripts/agent-reviews.js references below are relative to this skill's directory (next to this SKILL.md file). Run them with node.
gh pr view --json number,url,headRefName
If no PR exists, notify the user and exit.
Run scripts/agent-reviews.js --bots-only --unanswered --expanded
This shows only unanswered bot comments with full detail: complete comment body (no truncation), diff hunk (code context), and all replies. Each comment shows its ID in brackets (e.g., [12345678]).
If zero comments are returned, print "No unanswered bot comments found" and skip to Phase 2.
For each comment from the expanded output:
Read the referenced code and determine:
Likely TRUE POSITIVE:
Likely FALSE POSITIVE:
When UNCERTAIN — use AskUserQuestion:
If TRUE POSITIVE: Fix the code. Track the comment ID and a brief description of the fix.
If FALSE POSITIVE: Do NOT change the code. Track the comment ID and the reason it's not a real bug.
If UNCERTAIN: Use AskUserQuestion. If the user says skip, track it as skipped.
Do NOT reply to comments yet. Replies happen after the commit (Step 5).
After evaluating and fixing ALL unanswered comments:
git add -A
git commit -m "fix: address PR review bot findings
{List of bugs fixed, grouped by bot}"
git push
Now that the commit hash exists, reply to every processed comment:
For each TRUE POSITIVE:
Run scripts/agent-reviews.js --reply <comment_id> "Fixed in {hash}. {Brief description of the fix}"
For each FALSE POSITIVE:
Run scripts/agent-reviews.js --reply <comment_id> "Won't fix: {reason}. {Explanation of why this is intentional or not applicable}"
For each SKIPPED:
Run scripts/agent-reviews.js --reply <comment_id> "Skipped per user request"
DO NOT start Phase 2 until all replies are posted.
The watcher exits immediately when new comments are found (after a 5s grace period to catch batch posts). This means you run it in a loop: start watcher, process any comments it returns, restart watcher, repeat until the watcher times out with no new comments.
Repeat the following until the watcher exits with no new comments:
6a. Launch the watcher in the background:
Run scripts/agent-reviews.js --watch --bots-only as a background task.
6b. Use TaskOutput to wait for the watcher to complete (blocks up to 12 minutes).
6c. Check the output:
If new comments were found (output contains EXITING WITH NEW COMMENTS):
--detail <id> to read each new comment's full detailIf no new comments (output contains WATCH COMPLETE):
Stop looping and move to the Summary Report.
After both phases complete, provide a summary:
## PR Review Bot Resolution Summary
### Results
- Fixed: X bugs
- Already fixed: X bugs
- Won't fix (false positives): X
- Skipped per user: X
### By Bot
#### cursor[bot]
- BUG-001: {description} - Fixed in {commit}
- BUG-002: {description} - Won't fix: {reason}
#### Copilot
- {description} - Fixed in {commit}
### Status
✅ All findings addressed. Watch completed.
AskUserQuestion when uncertain about a findingsuggestion blocks often contain ready-to-use fixesdevelopment
Analyzes type design quality focusing on encapsulation, invariant expression, usefulness, and enforcement. Provides quantitative ratings (1-10) for each dimension. Triggers: When adding new types, reviewing type design in PRs, refactoring types. Examples: - "Review the UserAccount type design" -> analyzes type encapsulation and invariants - "Analyze type design in this PR" -> reviews all newly added types - "Check if this type has strong invariants" -> evaluates invariant enforcement - "How can I improve this type?" -> provides actionable type design suggestions
development
Identifies silent failures, inadequate error handling, and inappropriate fallback behavior in code. Zero tolerance for errors that occur without proper logging and user feedback. Triggers: When reviewing error handling, checking for silent failures, analyzing catch blocks. Examples: - "Review the error handling" -> audits all error handling in recent changes - "Check for silent failures" -> hunts for swallowed errors and empty catch blocks - "Analyze catch blocks in this PR" -> reviews every try-catch for adequacy - "Are there any hidden failures?" -> finds errors that get silently ignored
development
Analyzes pull request test coverage quality and completeness. Focuses on behavioral coverage rather than line coverage, identifying critical gaps, test quality issues, and missing edge cases. Triggers: After writing tests, before creating a PR, when reviewing test coverage. Examples: - "Check if the tests are thorough" -> analyzes test coverage quality - "Review test coverage for this PR" -> maps tests to changed code - "Are there any critical test gaps?" -> identifies missing test scenarios - "Review my test quality" -> evaluates test resilience and patterns
tools
Use this skill when implementing web features to ensure modern APIs and techniques are used. Triggers: Building UI components, adding browser APIs, implementing features that could use legacy patterns. Examples: - "Add a copy to clipboard button" → ensures Clipboard API is used, not document.execCommand - "Implement drag and drop" → ensures HTML Drag and Drop API, not legacy jQuery UI - "Add form validation" → ensures Constraint Validation API, not manual validation - "Fetch data from API" → ensures fetch() with modern patterns, not XMLHttpRequest Additionally, always check for documented browser support requirements before recommending APIs. If you are asked about web development best practices or modern APIs, use this skill to provide up-to-date guidance.