agent-coordination
Agent assignment matrix, blocker escalation, and TDM coordination patterns. Use when assigning work to specialists, managing blockers, or coordinating…
RLS validation, security audits, OWASP compliance, and vulnerability scanning. Use when validating RLS policies, auditing API routes, or scanning for security issues.
$ npx -y skills add bybren-llc/safe-agentic-workflow --skill security-audit --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/security-auditContext preview
The summary Claude sees to decide when to auto-load this skill.
RLS validation, security audits, OWASP compliance, and vulnerability scanning. Use when validating RLS policies, auditing API routes, or scanning for security issues.
name: security-audit description: RLS validation, security audits, OWASP compliance, and vulnerability scanning. Use when validating RLS policies, auditing API routes, or scanning for security issues. context: fork agent: Explore allowed-tools: Read, Bash, Grep, Glob
Guide security validation with RLS enforcement, OWASP compliance, and vulnerability detection following security-first architecture.
Invoke this skill when:
// FORBIDDEN: Direct Prisma calls (bypass RLS)
const users = await prisma.user.findMany();
// Must use: withUserContext, withAdminContext, or withSystemContext
// FORBIDDEN: Missing authentication on protected routes
export async function GET(req: Request) {
// No auth check before accessing user data
return getUserData();
}
// FORBIDDEN: Exposed credentials
const API_KEY = "sk_live_abc123"; // Hardcoded secret
// FORBIDDEN: SQL injection vulnerability
const query = `SELECT * FROM users WHERE id = ${userId}`; // Interpolated// CORRECT: RLS context wrapper
const users = await withUserContext(prisma, userId, async (client) => {
return client.user.findMany();
});
// CORRECT: Auth check before data access
export async function GET(req: Request) {
const { userId } = await auth();
if (!userId) {
return new Response("Unauthorized", { status: 401 });
}
return getUserData(userId);
}
// CORRECT: Environment variables for secrets
const API_KEY = process.env.STRIPE_SECRET_KEY;
// CORRECT: Parameterized queries
const user = await prisma.$queryRaw`SELECT * FROM users WHERE id = ${userId}`;# Find potential RLS bypasses grep -r "prisma\." --include="*.ts" app/ lib/ | grep -v "withUserContext\|withAdminContext\|withSystemContext"
# Find routes missing auth checks grep -r "export async function" --include="route.ts" app/ | head -20 # Manually verify each has auth check
# Scan for potential secrets grep -rE "(sk_live|pk_live|password|secret|key)" --include="*.ts" --include="*.tsx" | grep -v "process.env\|.env"
# Run security audit npm audit yarn audit # Check for high/critical vulnerabilities npm audit --audit-level=high
| Risk | Check | Status | | -------------------- | -------------------------------- | ------ | | A01 Broken Access | RLS enforced, auth on all routes | ☐ | | A02 Crypto Failures | Secrets in env vars only | ☐ | | A03 Injection | Parameterized queries, Zod | ☐ | | A04 Insecure Design | Auth-first pattern followed | ☐ | | A05 Misconfiguration | Prod env properly secured | ☐ | | A06 Vulnerable Deps | npm audit clean | ☐ | | A07 Auth Failures | Clerk integration correct | ☐ | | A08 Data Integrity | RLS prevents tampering | ☐ | | A09 Logging Failures | Security events logged | ☐ | | A10 SSRF | External URLs validated | ☐ |
# Complete security check npm audit && yarn lint && echo "Security checks passed" # RLS bypass detection grep -r "prisma\." --include="*.ts" app/ lib/ | wc -l # Compare with context wrapper count # Secret detection git secrets --scan # If git-secrets installed grep -rE "sk_|pk_|password=" . --include="*.ts"
Before ANY production deployment:
## Security Audit Report - {{TICKET_PREFIX}}-XXX
### Summary
- **Date**: [date]
- **Auditor**: Security Engineer
- **Scope**: [what was audited]
### Findings
| Severity | Issue | Location | Status |
| -------- | ----- | -------- | ------ |
| HIGH | ... | ... | FIXED |
| MEDIUM | ... | ... | OPEN |
### RLS Validation
- [x] All tables have RLS enabled
- [x] User isolation verified
- [x] Admin policies scoped correctly
### Recommendations
1. [recommendation]
2. [recommendation]
### Approval
- [ ] Security Engineer approves
- [ ] Ready for deploymentSAW — SAFe Agentic Workflow AI Agent Harness for Multi-Agent Team Workflows Built on SAFe methodology (Scaled Agile Framework), adapted for AI agent teams (Now With AI-DLC!) Works for any team with repeatable processes: Software, Marketing, Research, Legal, Operations.
Agent assignment matrix, blocker escalation, and TDM coordination patterns. Use when assigning work to specialists, managing blockers, or coordinating…
API route implementation patterns with RLS, Zod validation, and error handling. Use when creating API routes, implementing endpoints, or adding server-side…
Documentation templates for ADRs, runbooks, and architecture docs. Use when creating architectural decision records, operational runbooks, or technical…
Deployment workflows, pre-deploy validation, and smoke testing patterns. Use when deploying to staging or production, running smoke tests, or validating…
Frontend patterns for Next.js App Router, Clerk auth, shadcn/Radix UI, and PostHog analytics. Use when building UI components, creating pages, implementing…
Advanced git operations including rebase, bisect, cherry-pick, and conflict resolution. Use when rebasing branches, debugging with bisect, cherry-picking…