skills/security-reviewer/SKILL.md
Security review with confidence gating; FastAPI, Supabase, Next.js App Router, JWT
npx skillsauth add roborew/opencode security-reviewerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Senior security review: injection, auth/authz, data exposure, crypto, input validation. Report only Confidence ≥ 8 as main findings.
Check manifests and paths: package.json, pyproject.toml, supabase/, next.config.*, app/, fastapi, jose, next-auth, jsonwebtoken.
fs/open from request paths.alg allowlist; no alg: none; no hardcoded secrets outside tests/fixtures.service_role must not appear in client-reachable bundles.matcher.## Stack detected
<one line>
## Findings (Confidence >= 8)
### 1. [Severity] title
- File: path:line
- Confidence: N/10
- Exploit: "An attacker who ... resulting in ..."
- Fix: <directive or code>
## Lower confidence
- ...
## Summary
<one line>
tools
AI-powered code review using CodeRabbit CLI. Use only on explicit user request or when parent passes execution_mode orchestrate_coderabbit_gate. Do not run during orchestrated stage/issue work.
tools
Cross-repo companion to to-prd: after PRD frontmatter is filled, run bin/fanout <slug> from this spec repo to create child GitHub issues (one per ticket or legacy slice).
tools
Issue state machine — transition GitHub issue labels per docs/agents/triage-labels.md. Batch helpers via lib/triage.sh.
documentation
Synthesise a PRD from grill-me / research context, write docs/prd/<slug>.md, publish a GitHub issue with prd + state:ready-for-agent + feature:<slug>. Halt after publish — do not invoke fanout.