supabase
Handles the full Supabase workflow from schema changes to deployment, with built-in security guardrails that catch common traps like RLS...
fix-review
Verify fix commits address security findings without introducing new bugs or regressions. Analyzes diffs for anti-patterns like removed validation, weakened access control, reduced error handling, reordered external calls, and changed integer operations. Generates structured FIX_REVIEW_REPORT wit...
Full skill instructions
This skill implements Trail of Bits' fix review methodology for the agent-studio framework. When a security audit produces findings and developers commit fixes, this skill systematically verifies that each finding is properly addressed without introducing new vulnerabilities or regressions.
Source repository: https://github.com/trailofbits/skills
License: CC-BY-SA-4.0
Output: Structured FIX_REVIEW_REPORT.md
NO FINDING CLOSED WITHOUT FIX VERIFICATION
A finding is not fixed until the fix has been reviewed against the original finding description, verified to address the root cause, and confirmed not to introduce new issues.
| Status | Meaning |
|---|---|
FIXED | Finding is fully addressed. Root cause eliminated. No regressions introduced. |
PARTIALLY_FIXED | Some aspects addressed but gaps remain. More dangerous than unfixed. |
NOT_ADDRESSED | Fix does not relate to the finding, or finding location unchanged. |
CANNOT_DETERMINE | Insufficient context or code complexity prevents definitive assessment. |
NEW_ISSUE | Fix introduces a new vulnerability or regression. |
The following anti-patterns indicate potentially incorrect or incomplete fixes:
ALERT: Input validation was removed or weakened in the fix.
Indicators:
ALERT: Authorization checks were reduced or bypassed in the fix.
Indicators:
ALERT: Error handling was simplified or removed, potentially hiding failures.
Indicators:
ALERT: Order of external calls changed, potentially creating race conditions or TOCTOU.
Indicators:
ALERT: Integer arithmetic modified, check for overflow/underflow/truncation.
Indicators:
ALERT: Cryptographic operations were changed in a potentially weakening way.
Indicators:
Read the original findings report to understand what was found:
# Read findings file
cat findings-report.md
# Or extract from issue tracker
gh issue view <issue-number>
Map each finding to its fix commit(s):
# View commits since the findings report
git log --oneline --since="<audit-date>"
# View a specific fix commit
git show <commit-hash>
# View PR diff
gh pr diff <pr-number>
For each finding-fix pair:
# Fix Review Report
**Date**: YYYY-MM-DD
**Reviewer**: [agent-type]
**Audit Reference**: [original audit report path]
**Commits Reviewed**: [list of commit hashes]
## Summary
| Status | Count |
| ---------------- | ----- |
| FIXED | N |
| PARTIALLY_FIXED | N |
| NOT_ADDRESSED | N |
| CANNOT_DETERMINE | N |
| NEW_ISSUE | N |
## Finding Reviews
### Finding F-001: [Title]
- **Original Severity**: Critical/High/Medium/Low/Informational
- **Original Location**: `file:line`
- **Fix Commit**: `<hash>`
- **Fix Status**: FIXED | PARTIALLY_FIXED | NOT_ADDRESSED | CANNOT_DETERMINE
- **Anti-Patterns Detected**: None | [list]
**Original Finding Summary**:
[Brief description of the finding]
**Fix Analysis**:
[Line-by-line analysis of what the fix does]
**Root Cause Addressed**: Yes/No/Partial
[Explanation]
**Regression Risk**: None/Low/Medium/High
[Explanation of potential regressions]
**Remaining Gaps** (if PARTIALLY_FIXED):
- [ ] Gap 1: [description]
- [ ] Gap 2: [description]
---
### Finding F-002: [Title]
[Same structure as above]
---
## New Issues Introduced
### NI-001: [Title]
- **Introduced By**: `<commit-hash>`
- **Location**: `file:line`
- **Severity**: Critical/High/Medium/Low
- **Description**: [What the new issue is]
- **Recommendation**: [How to fix it]
## Recommendations
1. [Prioritized list of remaining actions]
2. [Re-audit recommendations if needed]
audit-context-building to deeply analyze the codefix-review to verifycode-reviewer for additional review perspectivesvariant-analysis to check if similar patterns exist elsewhere| Skill | Relationship |
|---|---|
audit-context-building | Provides deep context for understanding fixes |
differential-review | Security-focused diff review (lower granularity) |
variant-analysis | Finds unpatched variants of fixed vulnerabilities |
static-analysis | Automated confirmation of fix effectiveness |
code-reviewer | General code quality review of fix commits |
| Anti-Pattern | Why It Fails | Correct Approach |
|---|---|---|
| Reviewing diff without reading finding | Fix may address wrong issue or only surface symptom | Always re-read original finding before reviewing fix diff |
| Closing finding after any code change | Change may be unrelated or insufficient | Verify fix status is FIXED with root cause elimination confirmed |
| Ignoring partial fixes | PARTIALLY_FIXED is more dangerous than NOT_ADDRESSED (false security) | Track remaining gaps explicitly; keep finding open |
| Skipping anti-pattern checklist | Subtle regressions (weakened validation, reordered checks) go unseen | Run all 6 anti-pattern checks on every fix diff |
| Not checking for variant vulnerabilities | Same bug pattern likely exists elsewhere in codebase | Invoke variant-analysis after confirming fix |
Before starting:
Read .claude/context/memory/learnings.md
Check for:
After completing:
.claude/context/memory/learnings.md.claude/context/memory/issues.md.claude/context/memory/decisions.mdASSUME INTERRUPTION: If it's not in memory, it didn't happen.
Handles the full Supabase workflow from schema changes to deployment, with built-in security guardrails that catch common traps like RLS...
Comprehensive guides and best practices for Neon Serverless Postgres, covering setup, connection methods, authentication, and platform APIs.
Guide for setting up and using Firebase Authentication. Use this skill when the user's app requires user sign-in, user management, or secure data access using auth rules.
A skill to evaluate how secure Firestore security rules are. Use this when Firestore security rules are updated to ensure that the generated rules are extremely secure and robust.
Official skill for integrating Firebase AI Logic (Gemini API) into web applications. Covers setup, multimodal inference, structured output, and security.
Complete Better Auth server and client setup with database adapters, session management, plugins, and security configuration.
Deploy and manage projects on Vercel using token-based authentication. Use when working with Vercel CLI using access tokens rather than interactive login — e.g. "deploy to vercel", "set up vercel", "add environment variables to vercel".
Complete Cloudflare platform integration with decision trees for compute, storage, AI, networking, security, and infrastructure-as-code.
Run Azure compliance and security audits with azqr plus Key Vault expiration checks. Covers best-practice assessment, resource review, policy/compliance validation, and security posture checks. WHEN: compliance scan, security audit, BEFORE running azqr (compliance cli tool), Azure best practices, Key Vault expiration check, expired certificates, expiring secrets, orphaned resources, compliance assessment.
Send, read, and manage Gmail messages, drafts, labels, and account settings.
Comprehensive website auditing across 230+ rules in 21 categories including SEO, performance, security, and accessibility.
Shared authentication, CLI syntax, and output formatting patterns for gws Google Workspace commands.
Discover your celebrity doppelgänger with StarByFace!
GeoSpy: Pricing, Features, FAQs, and Alternatives for AI Teams
Detect AI-generated voices to protect against audio fraud.
Ensure Your Content's Originality with AI Plagiarism Checker
Upscale images by 400% without quality loss
Protect your social media from copyright disputes
Accurately Detect AI-Generated Content with TheChecker.AI
Chrome extension that detects and flags AI-generated content