.cursor/skills/review-changes/SKILL.md
Review all changes on the current branch. Use when the user asks for a code review or PR review.
npx skillsauth add furystack/pi-rat review-changesInstall 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.
Review all changes on the current branch compared to the upstream branch.
{{branch}}
IMPORTANT: This repository uses develop as the integration branch, not master or main.
Use develop as the default base branch for all comparisons:
git diff origin/develop...HEAD
Verify by checking GitHub workflows if unsure - look at .github/workflows/*.yml for pull_request.branches targets
Use the correct git diff syntax:
origin/develop...HEAD - shows changes in current branch since it diverged from developgit log --oneline origin/develop..HEAD to see commits being reviewedBefore launching subagents, analyze what files changed:
git diff origin/develop...HEAD --name-only
Conservative skip rules (only skip when 100% safe):
| Reviewer | Run | Notes |
| ----------------------- | ----------- | ---------------------------------------------------------- |
| reviewer-prettier | ✅ Always | Formats .md, .json, .ts, .tsx, etc. |
| reviewer-versioning | ✅ Always | Fast validation, can fail early |
| reviewer-changelog | ✅ Always | Fast validation, can fail early |
| reviewer-dependencies | Conditional | Run if ANY package.json changed |
| reviewer-typescript | Conditional | Skip ONLY if NO .ts/.tsx in source directories changed |
| reviewer-eslint | Conditional | Skip ONLY if NO .ts/.tsx in source directories changed |
| reviewer-tests | Conditional | Skip ONLY if NO .ts/.tsx in source directories changed |
When in doubt, run the check. Fast failures are better than missed issues.
IMPORTANT: Launch ALL applicable subagents in a SINGLE parallel batch. Do NOT wait for one group to finish before starting another.
In one tool call batch, launch all applicable reviewers:
reviewer-prettier (always)reviewer-versioning (always)reviewer-changelog (always)reviewer-dependencies (if any package.json changed)reviewer-typescript (if .ts/.tsx in frontend/, service/, or common/ changed)reviewer-eslint (if .ts/.tsx in frontend/, service/, or common/ changed)reviewer-tests (if .ts/.tsx in frontend/, service/, or common/ changed)Note: reviewer-dependencies checks changelog documentation but does NOT create/modify changelogs. If both changelog and dependency changes exist, both reviewers run in parallel - the dependency reviewer only reads existing changelogs.
Check for:
Code Quality & Bugs:
.cursor/rules/*)Standards & Compliance:
reviewer-typescript subagent to check for TypeScript errorsreviewer-eslint subagent to check for linting violationsreviewer-prettier subagent to check for formatting issuesFuryStack-Specific Patterns:
Shades Styling Patterns:
Flag useState() used only for CSS-representable states (hover, focus, active)
Recommend using css property with pseudo-selectors instead:
// ❌ Anti-pattern to flag
const [isHovered, setIsHovered] = useState('hover', false)
<div onMouseEnter={() => setIsHovered(true)} style={{ opacity: isHovered ? 1 : 0.7 }} />
// ✅ Recommend instead
css: { opacity: '0.7', '&:hover': { opacity: '1' } }
Static style props in Shade definitions should use css instead
Testing & Coverage:
reviewer-tests subagent to run unit tests and assess coveragePerformance & Security:
Versioning & Changelog:
reviewer-versioning subagent to validate version bumpsreviewer-changelog subagent to validate changelog entriesDependencies:
reviewer-dependencies subagent to validate dependency consistency across packagesDocumentation:
IMPORTANT: Only include subagent results in the final output if they found errors or issues.
reviewer-typescript passes → Do NOT mention it in the outputreviewer-eslint passes → Do NOT mention it in the outputreviewer-prettier passes → Do NOT mention it in the outputreviewer-tests passes → Do NOT mention it in the outputreviewer-versioning passes → Do NOT mention it in the outputreviewer-changelog passes → Do NOT mention it in the outputreviewer-dependencies passes → Do NOT mention it in the outputOnly report subagent findings when they detect actual problems.
1. Summary: Brief overview of changes (2-3 sentences max)
2. Issues by Priority:
For each issue, be specific: file, line, problem, suggested fix.
3. Test Coverage: Assess coverage quality. Warn if inadequate.
4. Changelog: Generate a short, consistent changelog as a copyable markdown code block.
Format:
Example:
- Add user profile validation
- Fix observable memory leak in cache
- Update dependency injection patterns
5. Pull Request Description: Generate as a copyable markdown code block with:
## 📋 Remaining Tasks
### 💀 Critical
- [ ] Fix TypeScript error in `service/src/foo.ts:42`
### 🔥 High
- [ ] Add missing test for `handleSubmit` function
### 🤔 Medium
- [ ] Address memory leak in observable subscription
Omit empty priority sections. If no issues found, omit the entire Remaining Tasks section.
6. Learnings & Rule Updates:
At the end of the review, summarize any patterns or learnings that emerged from the review (or from user feedback during the review process) that could be codified into rules. Ask the user if they would like to:
.cursor/rules/This ensures that recurring feedback and discovered patterns are captured for future development.
Style: Be critical, specific, and concise. If unsure, ask for clarification.
documentation
Fill changelog entries for the current branch. Use when the user asks to fill changelog, write changelog entries, update changelog, or prepare changelog for a PR.
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.
development
Run, watch, debug, and extend OpenClaw QA testing with qa-lab and qa-channel. Use when Codex needs to execute the repo-backed QA suite, inspect live QA artifacts, debug failing scenarios, add new QA scenarios, or explain the OpenClaw QA workflow. Prefer the live OpenAI lane with regular openai/gpt-5.4 in fast mode; do not use gpt-5.4-pro or gpt-5.4-mini unless the user explicitly overrides that policy.