New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Finding security vulnerabilities , correctness bugs

Code review pro

by OneWave-AI · MIT license · ★ 306 on GitHub

Code review pro cover

Performs a deep code review of files, modules, a diff, or a branch - finding security vulnerabilities (mapped to OWASP Top 10:2025), correctness bugs, performance problems, and maintainability issues - and returns severity-ranked…

---
name: code-review-pro
description: Performs a deep code review of files, modules, a diff, or a branch - finding security vulnerabilities (mapped to OWASP Top 10:2025), correctness bugs, performance problems, and maintainability issues - and returns severity-ranked findings with evidence and concrete fixes. Use when the user asks to review, audit, or sanity-check code, asks "is this safe", "what's wrong with this", "find bugs", or wants a security or performance pass before shipping. For posting line comments on a GitHub pull request, use git-pr-reviewer.
---

# Code Review Pro

Find the problems that matter, prove each one, and show the fix. A short list of real issues beats a long list of maybes.

## Workflow

1. **Set the scope.** Decide what is under review: a pasted snippet, specific files, the working-tree diff (`git diff`, `git diff --staged`), or a branch against its base (`git diff main...HEAD`). For a diff, review the changed lines but read enough surrounding code to know how they are called.

2. **Learn the context before judging.** Identify language, framework and version (check `package.json`, `pyproject.toml`, `go.mod`, and so on), how the code is reached (HTTP handler, job, CLI, library), what input is untrusted, and any repo conventions (linters, `CLAUDE.md`, existing patterns). A pattern that is a bug in one framework can be safe in another; for example, React escapes JSX text, so XSS lives in `dangerouslySetInnerHTML`, `href` values, and raw HTML sinks.

3. **Review in priority order**, using [references/checklist.md](references/checklist.md):
   1. Security
   2. Correctness and edge cases

Overview

Find the problems that matter, prove each one, and show the fix. A short list of real issues beats a long list of maybes.

Manual install (npx, ZIP)
Claude Codenpx skills add OneWave-AI/claude-skills --skill code-review-pro -g -a claude-code
Claude Code (degit)npx degit OneWave-AI/claude-skills/code-review-pro#main ~/.claude/skills/code-review-pro
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md4.6 KB
Read SKILL.md here
OneWave-AI/main1 file shown
SKILL.md
Show the full text82 lines
code-review-pro/SKILL.md82 lines · 4.6 KB

Code Review Pro

Find the problems that matter, prove each one, and show the fix. A short list of real issues beats a long list of maybes.

Workflow

  1. Set the scope. Decide what is under review: a pasted snippet, specific files, the working-tree diff (git diff, git diff --staged), or a branch against its base (git diff main...HEAD). For a diff, review the changed lines but read enough surrounding code to know how they are called.

  2. Learn the context before judging. Identify language, framework and version (check package.json, pyproject.toml, go.mod, and so on), how the code is reached (HTTP handler, job, CLI, library), what input is untrusted, and any repo conventions (linters, CLAUDE.md, existing patterns). A pattern that is a bug in one framework can be safe in another; for example, React escapes JSX text, so XSS lives in dangerouslySetInnerHTML, href values, and raw HTML sinks.

  3. Review in priority order, using references/checklist.md:

    1. Security
    2. Correctness and edge cases
    3. Performance
    4. Maintainability and conventions
  4. Verify every finding before reporting it. For each candidate, trace the data flow: where does the input come from, can an attacker or real user control it, and does anything upstream already validate or escape it? Check whether a test covers it. If you can run code, reproduce the bug with a small test or script. Drop findings you cannot support; mark the rest with a confidence level.

  5. Rank and write the report in the format below. Lead with the highest severity. Group repeated instances of one problem into a single finding with all locations.

Severity

  • Critical - exploitable now or causes data loss/corruption: injection with user input, auth bypass, secrets in code, broken access control on real data.
  • High - likely bug or vulnerability under realistic conditions: race on shared state, missing authorization check, unbounded query on a user-facing path, swallowed errors that hide failures.
  • Medium - correct today but fragile: missing input validation behind a trusted caller, N+1 queries on small data, confusing ownership of state.
  • Low - style, naming, small simplifications. Report at most a handful; skip anything a linter or formatter already enforces.

Output format

# Code Review: [scope]

**Verdict**: [Ship / Ship after fixes / Do not ship] - [one sentence why]
**Findings**: [n] critical, [n] high, [n] medium, [n] low

## Critical

### 1. SQL injection in user search (`src/api/users.ts:42`)
**Category**: A05:2025 Injection | **Confidence**: High
**Evidence**: `q` comes from `req.query` and is interpolated into the SQL string; no validation upstream.
**Impact**: Any caller can read or modify arbitrary tables.

Current:
```ts
const rows = await db.query(`SELECT * FROM users WHERE name LIKE '%${q}%'`);
```

Fix:
```ts
const rows = await db.query("SELECT * FROM users WHERE name LIKE $1", [`%${q}%`]);
```

## High
...

## Medium
...

## Low
- `utils/date.ts:10` - [one line]

## What is solid
[Two or three specific things done well, so the author knows what to keep.]

## Not reviewed
[Files, paths, or concerns outside scope or that could not be verified.]

Traps that cause bad reviews

  • Reporting without reading the caller. "Missing validation" is often validated one layer up. Look before flagging.
  • Generic advice. "Consider adding error handling" is not a finding. Name the failure: which call throws, what the user sees, what state is left behind.
  • Style as severity. Line length, bracket placement, or personal preference never rank above Low.
  • Outdated rules. Check against the version in use: useMemo/useCallback advice changes when the React Compiler is enabled, and many Node APIs now ship built-ins (fetch, crypto.randomUUID, node:test).
  • Fixes that do not compile. Every "Fix" block must be valid for the language and version in the repo. If unsure, say so.
  • Flooding. More than about 15 findings buries the critical ones. Summarize the long tail in one line.
1---
2name: code-review-pro
3description: Performs a deep code review of files, modules, a diff, or a branch - finding security vulnerabilities (mapped to OWASP Top 10:2025), correctness bugs, performance problems, and maintainability issues - and returns severity-ranked findings with evidence and concrete fixes. Use when the user asks to review, audit, or sanity-check code, asks "is this safe", "what's wrong with this", "find bugs", or wants a security or performance pass before shipping. For posting line comments on a GitHub pull request, use git-pr-reviewer.
4---
5 
6# Code Review Pro
7 
8Find the problems that matter, prove each one, and show the fix. A short list of real issues beats a long list of maybes.
9 
10## Workflow
11 
121. **Set the scope.** Decide what is under review: a pasted snippet, specific files, the working-tree diff (`git diff`, `git diff --staged`), or a branch against its base (`git diff main...HEAD`). For a diff, review the changed lines but read enough surrounding code to know how they are called.
13 
142. **Learn the context before judging.** Identify language, framework and version (check `package.json`, `pyproject.toml`, `go.mod`, and so on), how the code is reached (HTTP handler, job, CLI, library), what input is untrusted, and any repo conventions (linters, `CLAUDE.md`, existing patterns). A pattern that is a bug in one framework can be safe in another; for example, React escapes JSX text, so XSS lives in `dangerouslySetInnerHTML`, `href` values, and raw HTML sinks.
15 
163. **Review in priority order**, using [references/checklist.md](references/checklist.md):
17 1. Security
18 2. Correctness and edge cases
19 3. Performance
20 4. Maintainability and conventions
21 
224. **Verify every finding before reporting it.** For each candidate, trace the data flow: where does the input come from, can an attacker or real user control it, and does anything upstream already validate or escape it? Check whether a test covers it. If you can run code, reproduce the bug with a small test or script. Drop findings you cannot support; mark the rest with a confidence level.
23 
245. **Rank and write the report** in the format below. Lead with the highest severity. Group repeated instances of one problem into a single finding with all locations.
25 
26## Severity
27 
28- **Critical** - exploitable now or causes data loss/corruption: injection with user input, auth bypass, secrets in code, broken access control on real data.
29- **High** - likely bug or vulnerability under realistic conditions: race on shared state, missing authorization check, unbounded query on a user-facing path, swallowed errors that hide failures.
30- **Medium** - correct today but fragile: missing input validation behind a trusted caller, N+1 queries on small data, confusing ownership of state.
31- **Low** - style, naming, small simplifications. Report at most a handful; skip anything a linter or formatter already enforces.
32 
33## Output format
34 
35````markdown
36# Code Review: [scope]
37 
38**Verdict**: [Ship / Ship after fixes / Do not ship] - [one sentence why]
39**Findings**: [n] critical, [n] high, [n] medium, [n] low
40 
41## Critical
42 
43### 1. SQL injection in user search (`src/api/users.ts:42`)
44**Category**: A05:2025 Injection | **Confidence**: High
45**Evidence**: `q` comes from `req.query` and is interpolated into the SQL string; no validation upstream.
46**Impact**: Any caller can read or modify arbitrary tables.
47 
48Current:
49```ts
50const rows = await db.query(`SELECT * FROM users WHERE name LIKE '%${q}%'`);
51```
52 
53Fix:
54```ts
55const rows = await db.query("SELECT * FROM users WHERE name LIKE $1", [`%${q}%`]);
56```
57 
58## High
59...
60 
61## Medium
62...
63 
64## Low
65- `utils/date.ts:10` - [one line]
66 
67## What is solid
68[Two or three specific things done well, so the author knows what to keep.]
69 
70## Not reviewed
71[Files, paths, or concerns outside scope or that could not be verified.]
72````
73 
74## Traps that cause bad reviews
75 
76- **Reporting without reading the caller.** "Missing validation" is often validated one layer up. Look before flagging.
77- **Generic advice.** "Consider adding error handling" is not a finding. Name the failure: which call throws, what the user sees, what state is left behind.
78- **Style as severity.** Line length, bracket placement, or personal preference never rank above Low.
79- **Outdated rules.** Check against the version in use: `useMemo`/`useCallback` advice changes when the React Compiler is enabled, and many Node APIs now ship built-ins (`fetch`, `crypto.randomUUID`, `node:test`).
80- **Fixes that do not compile.** Every "Fix" block must be valid for the language and version in the repo. If unsure, say so.
81- **Flooding.** More than about 15 findings buries the critical ones. Summarize the long tail in one line.
82 
View all files on GitHub →

Details

License
MIT
Stars on the repo
★ 306
Checked
Source
OneWave-AI/claude-skills ↗
Creator
OneWave-AI · 16 listings
View creator

Similar skills

See all →
SkillSecurity guidance and vulnerability review for codebasesSecurity auditcloudflare/security-audit-skill · by cloudflareSecurity guidance and vulnerability review for codebases, APIs, services, CLI tools, libraries, and daemons. Use for security questions, focused reviews, vulnerability research, security audits, or pen tests. Run the complete workflow only for explicit codebase audit or pen-test requests, full/comprehensive/end-to-end reviews, or requested report artifacts.★ 26.1k GitHub starsMCPYou need to audit Active Directory security postureAd security reviewerVoltAgent/awesome-claude-code-subagents · by VoltAgentUse this agent when you need to audit Active Directory security posture, evaluate privilege escalation risks, review identity delegation patterns, or assess authentication protocol hardening.★ 25.2k GitHub starsSkillApply modern web development best practices for securityaddyosmani/web-quality-skills · by addyosmaniApply modern web development best practices for security, compatibility, and code quality. Use when asked to "apply best practices", "security audit", "modernize code", "code quality review", or "check for vulnerabilities".★ 2.8k GitHub starsSkillHelps Claude write secure web applicationsSecure Coding Guide for Web ApplicationsBehiSecc/VibeSec-Skill · by BehiSeccThis skill helps Claude write secure web applications. Use this when working on any web application or when a user requests a scan or audit to ensure security best practices are followed.★ 1.3k GitHub starsMCPReviews completed implementation against governing securitySecurity reviewershinpr/claude-code-workflows · by shinprReviews completed implementation against governing security requirements and the reachable trust model. Use after implementation or when security review/security check/vulnerability check is requested. Returns only must-fix findings with the smallest sufficient corrections.★ 687 GitHub starsSkillAccount-based marketing for B2B SaaSAccount-Based Marketing Operationsshalintripathi/saas-marketing-agents · by shalintripathiAccount-based marketing for B2B SaaS. Use this skill to build a target account list, tier it 1:1 / 1:few / 1:many, size it against sales capacity, turn intent and engagement signals into plays, write the multi-channel orchestration contract each tier runs on, and measure the program in account coverage, penetration and pipeline instead of MQLs. Also triggers on: ABM, account-based marketing, target account list, TAL, named accounts, account tiering, 1:1 ABM, one-to-few, programmatic ABM, account selection, ideal customer profile fit, intent data, buying signals, 6sense, Bombora, Demandbase, account penetration, account coverage, sales and marketing alignment on accounts, enterprise account program.★ 20 GitHub stars

More from OneWave-AI

SkillMapping mismatched column names to one schemaCSV/Excel MergerOneWave-AI/claude-skills · by OneWave-AIMerges, appends, joins, and deduplicates multiple CSV, TSV, and Excel files (including multi-sheet workbooks) with pandas - mapping mismatched column names to one schema, normalizing keys, resolving conflicting values, tracking which file each row came from, and verifying the row math. Use when the user wants to combine spreadsheets or exports, stack monthly files, consolidate contact or lead lists, VLOOKUP-style join two sheets on an ID or email, or dedupe records across sources, even if they only say "put these together" or "clean up these lists into one".★ 306 GitHub starsSkillDesigns relational and document database schemasDatabase schema designerOneWave-AI/claude-skills · by OneWave-AIDesigns relational and document database schemas from requirements or an existing app - tables and collections, keys, relationships, constraints, indexes driven by real query patterns, ERDs, and reversible migration scripts - with PostgreSQL (including Supabase) as the default and MySQL, SQLite, and MongoDB supported. Use when the user wants to model data for a new app or feature, review or fix an existing schema, choose keys or indexes, plan multi-tenancy, normalize or denormalize, or write CREATE TABLE statements or migrations, even if they just describe their app and ask "how should I store this". For moving data between database providers, use database-migrator.★ 306 GitHub starsSkillBuild and run a labelled eval set for a System One model Evaluating a typed-decision configOneWave-AI/claude-skills · by OneWave-AIBuild and run a labelled eval set for a System One model (Jev, Von, or any typed-decision config), then sweep criteria wordings and thresholds against it. Use when a Jev/Von classification is wrong or unreliable, when choosing between the hosted API and a local open model, when tuning noul thresholds, or before shipping any typed-decision feature. Produces an accuracy-by-wording matrix and a calibrated threshold.★ 306 GitHub starsSkillExtract and analyze data from invoices, receiptsFinancial Document ParserOneWave-AI/claude-skills · by OneWave-AIExtract and analyze data from invoices, receipts, bank statements, and financial documents. Categorize expenses, track recurring charges, and generate expense reports. Use when user provides financial PDFs or images.★ 306 GitHub starsSkillWrites conversion-focused landing page copyLanding page copywriterOneWave-AI/claude-skills · by OneWave-AIWrites conversion-focused landing page copy - headlines, subheads, value propositions, feature and benefit blocks, social proof, FAQs, and CTA button text - using PAS, AIDA, or StoryBrand. Use when the user wants words for a landing page, sales page, product or pricing page, waitlist page, homepage hero, or ad-to-page flow, including rewriting weak copy, generating headline or CTA variants for A/B tests, or turning a product description into page sections. Use landing-page-optimizer instead for auditing an existing page's performance, and a frontend skill for building the page itself.★ 306 GitHub starsSkillAnalyze meeting transcripts to extract decisionsMeeting Intelligence SystemOneWave-AI/claude-skills · by OneWave-AIAnalyze meeting transcripts to extract decisions, action items, blockers, sentiment, and generate follow-up emails. Use when user provides meeting notes, transcripts, or recordings and needs structured summaries or action tracking.★ 306 GitHub stars