Agent skill
code-review
Reviews code changes for bugs, security issues, and quality problems
Install this agent skill to your Project
npx add-skill https://github.com/coder/coder/tree/main/.claude/skills/code-review
SKILL.md
Code Review Skill
Review code changes in coder/coder and identify bugs, security issues, and quality problems.
Workflow
-
Get the code changes - Use the method provided in the prompt, or if none specified:
- For a PR:
gh pr diff <PR_NUMBER> --repo coder/coder - For local changes:
git diff mainorgit diff --staged
- For a PR:
-
Read full files and related code before commenting - verify issues exist and consider how similar code is implemented elsewhere in the codebase
-
Analyze for issues - Focus on what could break production
-
Report findings - Use the method provided in the prompt, or summarize directly
Severity Levels
- 🔴 CRITICAL: Security vulnerabilities, auth bypass, data corruption, crashes
- 🟡 IMPORTANT: Logic bugs, race conditions, resource leaks, unhandled errors
- 🔵 NITPICK: Minor improvements, style issues, portability concerns
What to Look For
- Security: Auth bypass, injection, data exposure, improper access control
- Correctness: Logic errors, off-by-one, nil/null handling, error paths
- Concurrency: Race conditions, deadlocks, missing synchronization
- Resources: Leaks, unclosed handles, missing cleanup
- Error handling: Swallowed errors, missing validation, panic paths
What NOT to Comment On
- Style that matches existing Coder patterns (check AGENTS.md first)
- Code that already exists unchanged
- Theoretical issues without concrete impact
- Changes unrelated to the PR's purpose
Coder-Specific Patterns
Authorization Context
// Public endpoints needing system access
dbauthz.AsSystemRestricted(ctx)
// Authenticated endpoints with user context - just use ctx
api.Database.GetResource(ctx, id)
Error Handling
// OAuth2 endpoints use RFC-compliant errors
writeOAuth2Error(ctx, rw, http.StatusBadRequest, "invalid_grant", "description")
// Regular endpoints use httpapi
httpapi.Write(ctx, rw, http.StatusBadRequest, codersdk.Response{...})
Shell Scripts
set -u only catches UNDEFINED variables, not empty strings:
unset VAR; echo ${VAR} # ERROR with set -u
VAR=""; echo ${VAR} # OK with set -u (empty is fine)
VAR="${INPUT:-}"; echo ${VAR} # OK - always defined
GitHub Actions context variables (github.*, inputs.*) are always defined.
Review Quality
- Explain impact ("causes crash when X" not "could be better")
- Make observations actionable with specific fixes
- Read the full context before commenting on a line
- Check AGENTS.md for project conventions before flagging style
Comment Standards
- Only comment when confident - If you're not 80%+ sure it's a real issue, don't comment. Verify claims before posting.
- No speculation - Avoid "might", "could", "consider". State facts or skip.
- Verify technical claims - Check documentation or code before asserting how something works. Don't guess at API behavior or syntax rules.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
refine-plan
Iteratively refine development plans using TDD methodology. Ensures plans are clear, actionable, and include red-green-refactor cycles with proper test coverage.
pull-requests
Guide for creating, updating, and following up on pull requests in the Coder repository. Use when asked to open a PR, update a PR, rewrite a PR description, or follow up on CI/check failures.
deep-review
Multi-reviewer code review. Spawns domain-specific reviewers in parallel, cross-checks findings, posts a single structured GitHub review.
doc-check
Checks if code changes require documentation updates
mobile-dev-server-sandbox
Connects Mux mobile (Expo web/native) to an isolated dev-server sandbox with deterministic port setup, backend pairing, and Chrome MCP interaction. Use when implementing or validating mobile features against a sandboxed Mux backend.
dev-desktop-sandbox
Run isolated mux desktop (Electron) instances (temp MUX_ROOT + free ports)
Didn't find tool you were looking for?