skills/semgrep-coderabbit/SKILL.md
Use when reviewing code changes before commit or PR merge. Covers tool sequencing, finding severity priorities, fix ordering strategy, and conflict resolution between tools. Keywords: code review, semgrep, coderabbit, security scan, pre-commit review, PR review, hardcoded secrets, SQL injection, XSS.
npx skillsauth add acedergren/agentic-tools semgrep-coderabbitInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
4 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Two-stage code review: fast deterministic pattern detection first, then semantic AI analysis. Order is non-negotiable.
Stage 1: Semgrep (10-20 seconds)
└─ FAIL → fix ALL violations → re-run until PASS
└─ PASS → proceed to Stage 2
Stage 2: CodeRabbit (5-30 minutes)
└─ Evaluate findings by priority
└─ Fix CRITICAL + HIGH before merge
└─ Consider MEDIUM if reasonable
└─ LOW is optional
Stage 3: Verify
└─ Re-run both tools after fixes
└─ Confirm no new issues introduced
# Stage 1 — run on each changed file (loop required for Semgrep 1.146.0+)
for f in $(git diff --name-only HEAD); do
semgrep scan --config auto --json "$f" 2>/dev/null
done
# Stage 2
coderabbit review --diff uncommitted
# Verify after fixes (repeat both)
semgrep scan --config auto <changed-files>
coderabbit review --diff uncommitted
If a project has a .semgrep.yaml, use --config .semgrep.yaml instead of --config auto.
| Priority | Level | Examples | Deadline | |----------|--------------|------------------------------------------------------------------|-----------------------| | CRITICAL | Blocking | Hardcoded secrets, auth bypass, SQL injection, XSS, data leakage | Must fix before merge | | HIGH | Architectural| Missing auth guards, schema mismatch, breaking changes, race conditions | Fix before merge | | MEDIUM | Quality | Weak crypto, poor error handling, type safety violations, duplication | Fix if reasonable | | LOW | Polish | Suggestions, optimization opportunities, style | Consider optional |
Semgrep: Hardcoded secrets/API keys, missing auth guards on routes, weak crypto (MD5/SHA1), debug statements in prod, unsafe any types, SQL injection patterns.
CodeRabbit: N+1 query patterns, multi-tenant isolation gaps, API contract drift between services, test coverage gaps on behavioral changes — things that require semantic understanding of the codebase.
Batch by type, not by file. Fix all secrets issues, then all auth issues, then all injection issues. Run unit tests after each batch.
CRITICAL fixes first — security and auth bypass issues must be resolved before anything else. They are non-negotiable blockers.
3-pass rule — if the review-fix-reverify cycle exceeds 3 iterations, the PR scope is too large. Split it.
When Semgrep and CodeRabbit give conflicting feedback on the same line: trust Semgrep. Its rules are deterministic and explicit. Validate CodeRabbit's concern with context before acting on it.
| Situation | Use |
|-----------|-----|
| Pre-commit quick check | --semgrep-only (10-20s) |
| Before creating PR | (empty) full two-stage |
| Review specific recent commits | --since HEAD~3 |
| Only staged files (partial work) | --staged |
| CodeRabbit not installed/available | --semgrep-only + manual checklist |
development
--- name: api-audit description: "Use when auditing API routes for schema drift, missing auth, or validation gaps. Scans routes against shared TypeScript types to find mismatches, missing middleware, and undocumented endpoints. Read-only — produces a severity-grouped report. Keywords: audit routes, schema drift, auth gaps, missing validation, type mismatch, orphaned schemas. Triggers on "audit API routes" or "find schema drift"." --- # API Route & Type Audit Skill ## When to Use Load this skil
development
Use when drafting, translating, polishing, or reviewing Swedish text so it sounds natural, fluent, contemporary, and appropriate for its audience. Triggers include "write better Swedish", "make this sound natural in Swedish", "translate into Swedish", "polish this Swedish", "tech company Swedish", "contemporary Swedish words", "Swedish developer docs", and "avoid Anglicisms".
development
Use when working with shadcn-svelte components, TanStack Table in Svelte 5, or Tailwind v4.1. Covers non-obvious reactivity bugs, library selection trade-offs, and migration pitfalls not in the official docs. Keywords: shadcn-svelte, TanStack Table, Tailwind v4.1, Svelte 5 runes, bits-ui, superforms, data table, svelte-check.
data-ai
Use when mapping IDCS claims to org membership after OAuth login succeeds. Covers mapProfileToUser, session.create.before, session.create.after hooks, MERGE INTO upserts, tenant-org mapping, and first-admin bootstrap. Keywords: IDCS groups, org_members, provisioning, session hooks, tenant map, MERGE INTO.