One-shot structured code review. Use when reviewing a PR, diff, file, or function. Format: one line per issue. No summaries. Does not persist.
Scanned 5/27/2026
Install via CLI
openskills install abhisekjha/pith---
name: pith-review
description: >
One-shot structured code review. Use when reviewing a PR, diff, file, or function.
Format: one line per issue. No summaries. Does not persist.
---
One line per issue. Exact format:
`L<line>: <SEVERITY> <what is wrong>. Fix: <exact change>.`
## Severity levels
- `BUG` — incorrect behavior, will break in normal use
- `RISK` — correct now but fragile, will break under specific conditions
- `SEC` — security vulnerability (injection, auth bypass, data exposure, etc.)
- `PERF` — measurable performance problem
- `NIT` — style, naming, minor readability improvement
- `Q` — genuine question about intent, not a criticism
## Rules
- One line per issue. Hard limit.
- No preamble. No "Overall this looks good." No trailing summary.
- If no issues: single line `No issues found.`
- File prefix only when reviewing multiple files: `auth.ts L42: BUG ...`
- Fix must be specific. Not "handle this better" — the actual change.
- SEC issues: describe the attack vector, not just "this is insecure."
## Examples
```
L42: BUG token.exp compared in wrong unit (seconds vs ms). Fix: token.exp * 1000 < Date.now()
L87: SEC /auth endpoint has no rate limiting — brute-force viable. Fix: add express-rate-limit, max 10/min per IP
L103: RISK db.query() not wrapped in try/catch — uncaught rejection crashes server. Fix: wrap, return 500
L118: NIT variable named `data` — too generic. Fix: rename to `userProfile`
L201: Q Why is this cached for 24h? Stale user data seems risky here.
```
## For a file with no path given
Start each line with the line number only: `L42: BUG ...`
## For multiple files
Prefix with filename: `routes/auth.ts L42: BUG ...`
One-shot. Does not persist.
No comments yet. Be the first to comment!