Works with the AI tools you already use

    Claude CodeClaude CodeCursorCursorCodex CLICodex CLIGitHub CopilotGitHub CopilotGemini CLIGemini CLI+20 more

    Code Reviewer For You

    1

    Technical code auditor that identifies logic bugs, security risks, and performance bottlenecks with actionable fixes.

    $5

    Secure checkout via Stripe

    30-day refund guarantee

    Converts to your local currency at checkout

    1 installSecurity scanned
    Code Reviewer For You

    Code Reviewer For You

    Example session with this skill installed

    Review this Node.js function:

    const getUser = async (id) => {
      const query = "SELECT * FROM users WHERE id = " + id;
      const user = await db.execute(query);
      return user[0];
    };
    
    • Read your context and instructions
    • Compiled the code reviewer

    I have reviewed the getUser function. The code contains a critical security vulnerability and lacks basic error handling for empty results.

    Findings

    [Critical] SQL Injection Vulnerability

    Location: getUser function, query string construction.
    Issue: The function uses string concatenation to build a SQL query with untrusted input id.
    Why it matters: An attacker could pass a malicious string (e.g., 1 OR 1=1) to bypass authentication or extract the entire user database.
    Recommended fix: Use parameterized queries or a prepared statement provided by your database driver.

    const getUser = async (id) => {
      const query = "SELECT * FROM users WHERE id = ?";
      const user = await db.execute(query, [id]);
      return user[0] || null;
    };
    

    [Medium] Unhandled Empty Result

    Location: return user[0];
    Issue: If the database returns an empty array, accessing user[0] returns undefined.
    Why it matters: Calling code might expect a null value or an object, and subsequent property access on undefined will throw a runtime error.
    Recommended fix: Explicitly handle the empty case by returning null or throwing a specific 404 error.

    What Looks Good

    • The function correctly uses async/await for non-blocking I/O.
    • The naming convention is clear and follows standard JavaScript practices.

    Suggested Tests

    • Injection Test: Call getUser("' OR 1=1 --") and verify the query fails or returns nothing.
    • Empty Result Test: Call getUser with a non-existent ID and ensure it returns null without crashing.

    Final Verdict

    • Overall risk: Critical
    • Priority fixes: Implement parameterized queries immediately.
    • Confidence: High

    Next steps

    1. Update the database driver calls to use prepared statements.
    2. Add a guard clause for the return value.
    3. Verify if similar concatenation patterns exist elsewhere in the data layer.

    Connects securely to your tools. The creator never sees your data.

    What you get

    Catch SQL injection and XSS vulnerabilities before deployment.Identify memory leaks and unoptimized loops in backend logic.Ensure proper error handling and edge-case management in API endpoints.Generate targeted unit tests for newly written complex functions.

    About this skill

    The problem

    Static analysis tools often flood developers with trivial linting errors while missing critical logic flaws or race conditions. Manual peer reviews are slow, inconsistent, and often skip deep security or performance checks under deadline pressure.

    What it does

    • Identifies logic errors, boundary cases, and improper null/undefined handling.
    • Detects security risks including injection, secrets exposure, and unsafe deserialization.
    • Flags resource leaks, concurrency issues, and performance bottlenecks in specific code blocks.
    • Prioritizes findings by severity from Info to Critical with actionable remediation steps.
    • Generates corrected code snippets and suggests targeted unit tests for edge cases.

    Why this beats prompting it yourself

    General-purpose prompts often provide vague "clean code" advice or hallucinate security vulnerabilities. This skill follows a structured engineering workflow that distinguishes confirmed defects from architectural concerns, ensuring feedback is technical, evidence-based, and free of style nitpicking.

    Use cases

    • Pre-PR self-review to catch embarrassing logic bugs before colleagues see the code.
    • Security-focused audits for sensitive authentication or data-handling modules.
    • Refactoring legacy code to identify hidden resource leaks and maintainability debt.
    • Onboarding assistance to verify if a new implementation meets specific technical standards.

    How to install

    Works the same in every agent - Claude, Cursor, Codex, Copilot and 20+ more.

    ~30 seconds
    1. 1

      Download the ZIP

      Free skills download straight away. Paid skills unlock right after purchase.

    2. 2

      Unzip into your skills folder

      Every agent reads skills from one folder on your machine. Drop the unzipped folder in there.

    3. 3

      Ask your agent to use it

      Restart the agent if it was already running. It picks the skill up automatically - no config needed.

    Skills folder by agent

    Click the path to copy it. Create the folder if it does not exist yet.

    Reviews

    No reviews yet

    Be one of the first to try it. Every listed skill passes our trust checks below.

    Security scanned

    Passed our 8-point scan before listing

    1 install

    Downloaded by developers to date

    30-day refund

    Not a fit? Get your money back

    Trust & safety

    Security scanned

    Verified clean 9 days ago

    • Passed all security checks, Safe to install

    Listed9 days ago
    Updated5 days ago

    What's inside

    Frequently Asked Questions