- Home
- Skills
- Code Quality & Review
- universal code reviewer
Works with the AI tools you already use
universal code reviewer
A systematic code audit tool for identifying security flaws, performance bottlenecks, and logic errors across 30+ languages.
$6
universal code reviewer
Example session with this skill installed
Review this Python snippet for a web handler:
def get_user(request):
user_id = request.args.get('id')
query = f"SELECT * FROM users WHERE id = '{user_id}'"
return db.execute(query)
- Read your context and instructions
- Compiled the universal code reviewer
I have analyzed the Python snippet. This code contains a critical security vulnerability and lacks basic error handling.
Code Review Report
1. Detection
- Language: Python
- Framework: Detected as a generic Web Handler (likely Flask/Quart)
- Detection Confidence: High
2. Overall Assessment
- Overall Score: 20/100
- Risk Level: CRITICAL
- Summary: The code is vulnerable to SQL injection and will crash on missing parameters or database failures.
3. Issues Found
[CRITICAL] SQL Injection Vulnerability
Location: query = f"SELECT * FROM users WHERE id = '{user_id}'"
Problem: The code uses f-strings to inject user-provided input directly into a SQL statement.
Why it matters: An attacker can provide a payload like ' OR '1'='1 to bypass authentication or drop tables.
Recommended fix: Use parameterized queries (prepared statements).
Confidence: Confirmed
[MEDIUM] Missing Input Validation
Location: user_id = request.args.get('id')
Problem: There is no check to ensure user_id is present or in the expected format (e.g., integer).
Why it matters: The code will proceed with a None value if the 'id' key is missing, leading to logical errors or a malformed query.
4. Security Findings
- Vulnerability: SQL Injection
- Severity: CRITICAL
- Impact: Full database compromise.
- Mitigation: Always use the database driver's parameter substitution syntax.
8. Corrected Code
def get_user(request):
user_id = request.args.get('id')
if not user_id:
return {"error": "Missing user ID"}, 400
# Use parameterized query to prevent injection
query = "SELECT * FROM users WHERE id = %s"
try:
return db.execute(query, (user_id,))
except Exception as e:
# Log error and return safe response
return {"error": "Database operation failed"}, 500
Next steps
- Implement a global error handler for database exceptions.
- Add type validation to ensure
user_idmatches your schema requirements. - Verify the
db.executeimplementation supports parameter binding.
Connects securely to your tools. The creator never sees your data.
About this skill
The problem
Manual code reviews are slow, prone to human oversight, and often miss critical security or performance bottlenecks. Developers need a systematic way to audit code for production readiness without waiting for a senior peer's calendar to clear.
What it does
- Automatically identifies programming languages, frameworks, and runtimes across polyglot codebases.
- Performs deep static analysis for logic flaws, race conditions, and off-by-one errors.
- Identifies security vulnerabilities including SQL injection, XSS, and hardcoded secrets.
- Conducts performance audits to find N+1 queries, memory leaks, and inefficient O(n) complexity.
- Generates structured reports with severity-scored issues and ready-to-apply refactored code.
Frameworks & tools
Supports Python (Flask/Django), JavaScript/TypeScript (Node/React), Rust, Go, C/C++, Java, PHP, SQL, and configuration formats like YAML/JSON.
Why this beats prompting it yourself
Generic LLM prompts often focus on style or produce hallucinations about missing context. This skill uses a 10-step systematic pipeline that forces evaluation of security, performance, and resource lifecycles before offering a final score, ensuring no critical vector is ignored.
Use cases
- Pre-PR audits to catch breaking bugs and security flaws before they hit CI.
- Refactoring legacy functions to improve maintainability and SOLID compliance.
- Scanning third-party snippets or stack overflow solutions for hidden vulnerabilities.
- Standardizing code quality across a multi-language microservices architecture.
Known limitations
Static analysis only. Cannot confirm runtime behavior or environment-specific bugs without execution access. Review quality depends on the completeness of the provided code fragments.
How to use
Skills on Agensi run inside your AI agent. Copy the prompt, paste it into your agent, and it connects to Agensi and installs this skill for you. If a payment is needed, your agent shows it to you first.
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
Fresh listing
Recently published to Agensi
30-day refund
Not a fit? Get your money back
Trust & safety
Security scanned
Verified clean 1 month ago
- Passed all security checks, Safe to install