agentsclimarketplace

Code reviewer

Skill VRIL-LABS/skill-jam/skills/code-reviewer

Welcome to the skill-jam β˜„οΈπŸ€

Install
npx -y skills add VRIL-LABS/skill-jam --skill code-reviewer

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Performs automated code review with inline comments, flags anti-patterns, and suggests improvements against style guides. Invoke when asked to review code, check a pull request, audit code quality, or find issues in a file or diff.

SKILL.md

5.1 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it

Code Reviewer

Automated code review skill that provides inline feedback, flags anti-patterns, identifies bugs, and suggests concrete improvements aligned with language-specific style guides and best practices.

When to Use

  • User asks to "review this code", "check my PR", or "audit this file"
  • A pull request diff is provided and feedback is requested
  • User wants to ensure code meets team style guides before merging
  • User asks for a second opinion on implementation choices
  • Code quality gates are failing and root cause is unclear
  • User wants to identify potential bugs before shipping

Process

  1. Identify the language and framework from file extensions, imports, or explicit context. Note any relevant style guide (ESLint config, .editorconfig, pyproject.toml, golangci.yml, etc.).

  2. Parse the full scope of changes β€” read the entire file or diff, not just the changed lines, to understand surrounding context, imports, and data flow.

  3. Run through the review checklist for each function/block:

    • Correctness: Does the logic match the stated intent? Are edge cases handled?
    • Naming: Are variables, functions, and classes named clearly and consistently?
    • Complexity: Is cyclomatic complexity high? Can it be simplified?
    • Duplication: Is logic copy-pasted from elsewhere? Extract shared helpers.
    • Error handling: Are errors caught, logged, and handled gracefully?
    • Security: Any injection risks, untrusted input used unsafely, secrets in code?
    • Performance: Any N+1 queries, unnecessary loops, or expensive operations in hot paths?
    • Tests: Are new code paths covered? Are existing tests updated?
    • Documentation: Are public APIs, complex logic, and non-obvious decisions documented?
  4. Categorize each finding by severity:

    • πŸ”΄ Blocker β€” must be fixed before merge (bug, security issue, data loss risk)
    • 🟑 Warning β€” should be addressed (style violation, missing error handling, test gap)
    • 🟒 Suggestion β€” nice to have (readability, minor optimization, alternative approach)
    • πŸ’¬ Nit β€” trivial style/formatting issue
  5. Write inline comments referencing specific line numbers or code snippets.

  6. Provide a summary section with an overall verdict (Approve / Request Changes / Needs Discussion), a count of findings by severity, and 2–3 high-level themes observed across the review.

  7. Suggest concrete fixes β€” don't just flag problems; show corrected code snippets where possible.

Output Format

## Code Review Summary
**Verdict:** Request Changes | Approve | Needs Discussion
**Findings:** πŸ”΄ 2 blockers Β· 🟑 3 warnings Β· 🟒 5 suggestions Β· πŸ’¬ 2 nits

### Key Themes
- Error handling is inconsistent across service layer methods
- Several functions exceed 50 lines and could be decomposed
- Missing input validation on user-facing endpoints

---

### Inline Findings

#### `src/users/userService.ts` β€” Line 42
πŸ”΄ **Blocker: SQL Injection Risk**
The `userId` parameter is interpolated directly into the query string.
```ts
// ❌ Current
const q = `SELECT * FROM users WHERE id = ${userId}`;

// βœ… Fix
const q = `SELECT * FROM users WHERE id = ?`;
db.query(q, [userId]);

src/utils/formatDate.ts β€” Line 17

🟑 Warning: No null check before .toISOString() If date is null or undefined, this will throw at runtime. ...


## Examples

### Example Input

Review this Python function:

def get_user(user_id): result = db.execute("SELECT * FROM users WHERE id = " + user_id) return result[0]


### Example Output

Code Review Summary

Verdict: Request Changes Findings: πŸ”΄ 1 blocker Β· 🟑 1 warning

Line 2

πŸ”΄ Blocker: SQL Injection String concatenation into a SQL query allows injection attacks. βœ… Fix: Use parameterized queries β€” db.execute("SELECT * FROM users WHERE id = %s", (user_id,))

Line 3

🟑 Warning: IndexError if user not found result[0] raises IndexError if the query returns no rows. βœ… Fix: Return result[0] if result else None and handle the None case in the caller.


## Boundaries

- Do NOT rewrite entire files unless explicitly asked β€” provide targeted inline feedback only.
- Do NOT assume a style guide exists if none is provided; fall back to community defaults (PEP 8, Airbnb, Google style, etc.).
- Do NOT flag third-party library internals or auto-generated files.
- Do NOT run code or attempt execution β€” analysis is static only.
- Do NOT make subjective architectural decisions on behalf of the team (e.g., "you should use microservices").
- Limit review depth to files/diffs explicitly provided; do not speculatively fetch other files unless they are directly referenced and relevant.
- Keep nit count reasonable β€” avoid overwhelming feedback with trivial formatting issues if blockers are present.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.