@jarrodmedrano/claude-skills 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,38 @@
1
+ ---
2
+ allowed-tools: Grep, LS, Read, Edit, MultiEdit, Write, NotebookEdit, WebFetch, TodoWrite, WebSearch, BashOutput, KillBash, ListMcpResourcesTool, ReadMcpResourceTool, mcp__context7__resolve-library-id, mcp__context7__get-library-docs, mcp__playwright__browser_close, mcp__playwright__browser_resize, mcp__playwright__browser_console_messages, mcp__playwright__browser_handle_dialog, mcp__playwright__browser_evaluate, mcp__playwright__browser_file_upload, mcp__playwright__browser_install, mcp__playwright__browser_press_key, mcp__playwright__browser_type, mcp__playwright__browser_navigate, mcp__playwright__browser_navigate_back, mcp__playwright__browser_navigate_forward, mcp__playwright__browser_network_requests, mcp__playwright__browser_take_screenshot, mcp__playwright__browser_snapshot, mcp__playwright__browser_click, mcp__playwright__browser_drag, mcp__playwright__browser_hover, mcp__playwright__browser_select_option, mcp__playwright__browser_tab_list, mcp__playwright__browser_tab_new, mcp__playwright__browser_tab_select, mcp__playwright__browser_tab_close, mcp__playwright__browser_wait_for, Bash, Glob
3
+ description: Complete a design review of the pending changes on the current branch
4
+ ---
5
+
6
+ You are an elite design review specialist with deep expertise in user experience, visual design, accessibility, and front-end implementation. You conduct world-class design reviews following the rigorous standards of top Silicon Valley companies like Stripe, Airbnb, and Linear.
7
+
8
+ GIT STATUS:
9
+
10
+ ```
11
+ !`git status`
12
+ ```
13
+
14
+ FILES MODIFIED:
15
+
16
+ ```
17
+ !`git diff --name-only origin/HEAD...`
18
+ ```
19
+
20
+ COMMITS:
21
+
22
+ ```
23
+ !`git log --no-decorate origin/HEAD...`
24
+ ```
25
+
26
+ DIFF CONTENT:
27
+
28
+ ```
29
+ !`git diff --merge-base origin/HEAD`
30
+ ```
31
+
32
+ Review the complete diff above. This contains all code changes in the PR.
33
+
34
+
35
+ OBJECTIVE:
36
+ Use the design-review agent to comprehensively review the complete diff above, and reply back to the user with the design and review of the report. Your final reply must contain the markdown report and nothing else.
37
+
38
+ Follow and implement the design principles and style guide located in the ../context/design-principles.md and ../context/style-guide.md docs.
@@ -0,0 +1,76 @@
1
+ # New Backend Project
2
+
3
+ **Trigger**: `/new-backend [project-name]`
4
+
5
+ **Description**: Creates a new Node.js backend/API project
6
+
7
+ ---
8
+
9
+ When this skill is invoked:
10
+
11
+ 1. Ask the user which backend setup they want:
12
+ - Express.js + TypeScript
13
+ - Fastify + TypeScript
14
+ - NestJS (opinionated, batteries-included)
15
+ - Hono (lightweight, edge-ready)
16
+
17
+ 2. Extract the project name from args, or ask if not provided
18
+
19
+ 3. Create the project directory: `mkdir {project-name} && cd {project-name}`
20
+
21
+ 4. Initialize the project based on choice:
22
+
23
+ **Express.js**:
24
+ - `npm init -y`
25
+ - Install: `npm install express cors dotenv`
26
+ - Install dev: `npm install -D typescript @types/node @types/express @types/cors ts-node-dev nodemon`
27
+ - Create tsconfig.json
28
+ - Create basic Express server with TypeScript
29
+
30
+ **Fastify**:
31
+ - `npm init -y`
32
+ - Install: `npm install fastify @fastify/cors dotenv`
33
+ - Install dev: `npm install -D typescript @types/node ts-node-dev`
34
+ - Create tsconfig.json
35
+ - Create basic Fastify server
36
+
37
+ **NestJS**:
38
+ - `npx @nestjs/cli new {project-name} --package-manager npm`
39
+
40
+ **Hono**:
41
+ - `npm init -y`
42
+ - Install: `npm install hono`
43
+ - Install dev: `npm install -D typescript @types/node tsx`
44
+ - Create basic Hono server
45
+
46
+ 5. Create project structure:
47
+ ```
48
+ src/
49
+ index.ts (or main.ts)
50
+ routes/
51
+ controllers/
52
+ services/
53
+ middleware/
54
+ types/
55
+ ```
56
+
57
+ 6. Add npm scripts to package.json:
58
+ - `dev`: Development server with hot reload
59
+ - `build`: TypeScript compilation
60
+ - `start`: Production server
61
+
62
+ 7. Create `.env.example` with common variables
63
+
64
+ 8. Create `.gitignore` (node_modules, .env, dist)
65
+
66
+ 9. Initialize git repository
67
+
68
+ 10. Ask if they want to add:
69
+ - Database: PostgreSQL (pg), MongoDB (mongoose), Prisma ORM
70
+ - Authentication: JWT setup, Passport.js
71
+ - Validation: Zod, Joi
72
+ - Testing: Jest, Vitest
73
+
74
+ **Example usage**:
75
+ - `/new-backend my-api`
76
+ - `/new-backend` (will prompt for name)
@@ -0,0 +1,75 @@
1
+ # New Full-Stack Project
2
+
3
+ **Trigger**: `/new-fullstack [project-name]`
4
+
5
+ **Description**: Creates a new full-stack web application with frontend and backend
6
+
7
+ ---
8
+
9
+ When this skill is invoked:
10
+
11
+ 1. Ask the user which full-stack setup they want:
12
+ - Next.js (App Router + API Routes + TypeScript)
13
+ - T3 Stack (Next.js + tRPC + Prisma + Tailwind)
14
+ - MERN (MongoDB + Express + React + Node)
15
+ - Monorepo (React frontend + Express backend + shared types)
16
+
17
+ 2. Extract the project name from args, or ask if not provided
18
+
19
+ 3. Create the project based on choice:
20
+
21
+ **Next.js Full-Stack**:
22
+ - `npx create-next-app@latest {project-name} --typescript --tailwind --app`
23
+ - Add API route examples
24
+ - Set up database connection (ask which: Prisma, MongoDB, PostgreSQL)
25
+
26
+ **T3 Stack**:
27
+ - `npm create t3-app@latest {project-name}`
28
+ - Follow T3 setup prompts
29
+
30
+ **MERN**:
31
+ - Create root directory with client/ and server/ subdirectories
32
+ - Client: React + Vite + TypeScript
33
+ - Server: Express + TypeScript + MongoDB
34
+ - Set up proxy configuration
35
+
36
+ **Monorepo**:
37
+ - Create monorepo structure:
38
+ ```
39
+ {project-name}/
40
+ apps/
41
+ frontend/ (React + Vite)
42
+ backend/ (Express)
43
+ packages/
44
+ shared/ (shared TypeScript types)
45
+ package.json (workspace config)
46
+ ```
47
+ - Set up npm workspaces or pnpm workspace
48
+
49
+ 4. Set up database and ORM:
50
+ - Create database schema/models
51
+ - Set up migration scripts
52
+ - Add seed data scripts
53
+
54
+ 5. Create authentication setup:
55
+ - JWT or session-based auth
56
+ - Login/register endpoints
57
+ - Protected routes/middleware
58
+
59
+ 6. Add common configuration:
60
+ - Environment variables (.env.example)
61
+ - CORS configuration
62
+ - Error handling
63
+ - Logging setup
64
+
65
+ 7. Initialize git repository with appropriate .gitignore
66
+
67
+ 8. Create README with:
68
+ - Project structure
69
+ - Setup instructions
70
+ - Development commands
71
+ - Environment variables needed
72
+
73
+ **Example usage**:
74
+ - `/new-fullstack my-saas-app`
75
+ - `/new-fullstack` (will prompt for name)
@@ -0,0 +1,42 @@
1
+ # New Website Project
2
+
3
+ **Trigger**: `/new-website [project-name]`
4
+
5
+ **Description**: Creates a new modern web development project with your choice of framework
6
+
7
+ ---
8
+
9
+ When this skill is invoked:
10
+
11
+ 1. Ask the user which framework they want to use:
12
+ - Next.js (App Router with TypeScript)
13
+ - React + Vite (TypeScript)
14
+ - Vue 3 + Vite (TypeScript)
15
+ - Vanilla (HTML/CSS/JS with Vite)
16
+
17
+ 2. Extract the project name from the args, or ask if not provided
18
+
19
+ 3. Create the project in the current directory using the appropriate command:
20
+ - Next.js: `npx create-next-app@latest {project-name} --typescript --tailwind --app --no-src-dir --import-alias "@/*"`
21
+ - React + Vite: `npm create vite@latest {project-name} -- --template react-ts`
22
+ - Vue 3 + Vite: `npm create vite@latest {project-name} -- --template vue-ts`
23
+ - Vanilla: `npm create vite@latest {project-name} -- --template vanilla-ts`
24
+
25
+ 4. Navigate into the project directory
26
+
27
+ 5. Install dependencies: `npm install`
28
+
29
+ 6. Ask if they want to add any common packages:
30
+ - UI Libraries: shadcn/ui, Material-UI, Chakra UI
31
+ - State Management: Zustand, Redux Toolkit, TanStack Query
32
+ - Utilities: axios, date-fns, zod, react-hook-form
33
+
34
+ 7. Initialize git repository if not already initialized
35
+
36
+ 8. Create a basic README with project info and getting started instructions
37
+
38
+ 9. Show the user how to start the dev server
39
+
40
+ **Example usage**:
41
+ - `/new-website my-portfolio`
42
+ - `/new-website` (will prompt for name)
@@ -0,0 +1,60 @@
1
+ # Project Setup
2
+
3
+ **Trigger**: `/project-setup [project-name]`
4
+
5
+ **Description**: Initialize a new project with basic tooling and configuration
6
+
7
+ ---
8
+
9
+ When this skill is invoked:
10
+
11
+ 1. Extract project name from args, or ask if not provided
12
+
13
+ 2. Ask what type of project:
14
+ - Node.js/TypeScript Library
15
+ - Command Line Tool (CLI)
16
+ - Static Website (HTML/CSS/JS)
17
+ - Browser Extension
18
+ - Electron App
19
+ - React Component Library
20
+
21
+ 3. Create project directory and initialize based on type
22
+
23
+ 4. Set up essential tooling:
24
+ - Git initialization
25
+ - .gitignore (based on project type)
26
+ - .editorconfig
27
+ - package.json with appropriate scripts
28
+ - TypeScript configuration (if applicable)
29
+
30
+ 5. Add code quality tools (ask user):
31
+ - ESLint
32
+ - Prettier
33
+ - Husky (git hooks)
34
+ - lint-staged
35
+ - Commitlint
36
+
37
+ 6. Add testing framework (ask user):
38
+ - Jest
39
+ - Vitest
40
+ - Playwright (for E2E)
41
+ - Cypress
42
+
43
+ 7. Create basic project structure:
44
+ - src/ directory
45
+ - tests/ or __tests__/ directory
46
+ - docs/ directory
47
+ - Basic README.md
48
+
49
+ 8. Add CI/CD template (ask user):
50
+ - GitHub Actions
51
+ - GitLab CI
52
+ - None
53
+
54
+ 9. Create LICENSE file (ask which license)
55
+
56
+ 10. Create initial commit with message "chore: initial project setup"
57
+
58
+ **Example usage**:
59
+ - `/project-setup my-library`
60
+ - `/project-setup` (will prompt for name)
@@ -0,0 +1,31 @@
1
+ # Security Review Workflow
2
+
3
+ This directory contains templates and examples for implementing an automated security review system that provides comprehensive vulnerability scanning and security analysis on code changes. This workflow is inspired by and taken from Anthropic's [claude-code-security-review](https://github.com/anthropics/claude-code-security-review) GitHub repository, enabling teams to proactively identify and address security issues before they reach production.
4
+
5
+ ## Concept
6
+
7
+ This workflow establishes a comprehensive methodology for automated security reviews in Claude Code, leveraging AI agents to detect vulnerabilities and enforce security best practices:
8
+
9
+ **Core Methodology:**
10
+ - **Automated Security Scanning**: Deploy AI-powered security reviewers that identify vulnerabilities, exposed secrets, and potential attack vectors
11
+ - **OWASP-Based Analysis**: Follow industry-standard security frameworks including OWASP Top 10 to ensure comprehensive coverage
12
+ - **Severity Classification**: Automatically categorize findings by severity level (Critical, High, Medium, Low) with clear remediation guidance
13
+ - **False Positive Management**: Intelligent filtering to reduce noise and focus on real security issues
14
+
15
+ **Implementation Features:**
16
+ - **Slash Commands**: Enable instant security reviews with `/security-review` that analyzes recent changes for security vulnerabilities
17
+ - **GitHub Actions Integration**: Automated security scanning on every PR, with inline comments highlighting specific security concerns
18
+ - **Secret Detection**: Identify exposed API keys, credentials, and sensitive information before they're committed
19
+ - **Dependency Analysis**: Review third-party dependencies for known vulnerabilities and security risks
20
+ - **Custom Security Policies**: Configure organization-specific security requirements and compliance standards
21
+
22
+ This approach ensures that security is built into the development process from the start, catching vulnerabilities early when they're easiest and least expensive to fix.
23
+
24
+ ## Resources
25
+
26
+ ### Templates & Examples
27
+ - [Security Review Slash Command](./security-review-slash-command.md) - Default security review command from Anthropic (source: [claude-code-security-review](https://github.com/anthropics/claude-code-security-review))
28
+ - [Security YAML](./security.yml) - GitHub Action configuration for automated security scanning
29
+
30
+ ### Video Tutorial
31
+ For a detailed walkthrough of this workflow, watch the [comprehensive tutorial on YouTube](https://www.youtube.com/watch?v=nItsfXwujjg).
@@ -0,0 +1,191 @@
1
+ ---
2
+ allowed-tools: Bash(git diff:*), Bash(git status:*), Bash(git log:*), Bash(git show:*), Bash(git remote show:*), Read, Glob, Grep, LS, Task
3
+ description: Complete a security review of the pending changes on the current branch
4
+ ---
5
+
6
+ You are a senior security engineer conducting a focused security review of the changes on this branch.
7
+
8
+ GIT STATUS:
9
+
10
+ ```
11
+ !`git status`
12
+ ```
13
+
14
+ FILES MODIFIED:
15
+
16
+ ```
17
+ !`git diff --name-only origin/HEAD...`
18
+ ```
19
+
20
+ COMMITS:
21
+
22
+ ```
23
+ !`git log --no-decorate origin/HEAD...`
24
+ ```
25
+
26
+ DIFF CONTENT:
27
+
28
+ ```
29
+ !`git diff --merge-base origin/HEAD`
30
+ ```
31
+
32
+ Review the complete diff above. This contains all code changes in the PR.
33
+
34
+
35
+ OBJECTIVE:
36
+ Perform a security-focused code review to identify HIGH-CONFIDENCE security vulnerabilities that could have real exploitation potential. This is not a general code review - focus ONLY on security implications newly added by this PR. Do not comment on existing security concerns.
37
+
38
+ CRITICAL INSTRUCTIONS:
39
+ 1. MINIMIZE FALSE POSITIVES: Only flag issues where you're >80% confident of actual exploitability
40
+ 2. AVOID NOISE: Skip theoretical issues, style concerns, or low-impact findings
41
+ 3. FOCUS ON IMPACT: Prioritize vulnerabilities that could lead to unauthorized access, data breaches, or system compromise
42
+ 4. EXCLUSIONS: Do NOT report the following issue types:
43
+ - Denial of Service (DOS) vulnerabilities, even if they allow service disruption
44
+ - Secrets or sensitive data stored on disk (these are handled by other processes)
45
+ - Rate limiting or resource exhaustion issues
46
+
47
+ SECURITY CATEGORIES TO EXAMINE:
48
+
49
+ **Input Validation Vulnerabilities:**
50
+ - SQL injection via unsanitized user input
51
+ - Command injection in system calls or subprocesses
52
+ - XXE injection in XML parsing
53
+ - Template injection in templating engines
54
+ - NoSQL injection in database queries
55
+ - Path traversal in file operations
56
+
57
+ **Authentication & Authorization Issues:**
58
+ - Authentication bypass logic
59
+ - Privilege escalation paths
60
+ - Session management flaws
61
+ - JWT token vulnerabilities
62
+ - Authorization logic bypasses
63
+
64
+ **Crypto & Secrets Management:**
65
+ - Hardcoded API keys, passwords, or tokens
66
+ - Weak cryptographic algorithms or implementations
67
+ - Improper key storage or management
68
+ - Cryptographic randomness issues
69
+ - Certificate validation bypasses
70
+
71
+ **Injection & Code Execution:**
72
+ - Remote code execution via deseralization
73
+ - Pickle injection in Python
74
+ - YAML deserialization vulnerabilities
75
+ - Eval injection in dynamic code execution
76
+ - XSS vulnerabilities in web applications (reflected, stored, DOM-based)
77
+
78
+ **Data Exposure:**
79
+ - Sensitive data logging or storage
80
+ - PII handling violations
81
+ - API endpoint data leakage
82
+ - Debug information exposure
83
+
84
+ Additional notes:
85
+ - Even if something is only exploitable from the local network, it can still be a HIGH severity issue
86
+
87
+ ANALYSIS METHODOLOGY:
88
+
89
+ Phase 1 - Repository Context Research (Use file search tools):
90
+ - Identify existing security frameworks and libraries in use
91
+ - Look for established secure coding patterns in the codebase
92
+ - Examine existing sanitization and validation patterns
93
+ - Understand the project's security model and threat model
94
+
95
+ Phase 2 - Comparative Analysis:
96
+ - Compare new code changes against existing security patterns
97
+ - Identify deviations from established secure practices
98
+ - Look for inconsistent security implementations
99
+ - Flag code that introduces new attack surfaces
100
+
101
+ Phase 3 - Vulnerability Assessment:
102
+ - Examine each modified file for security implications
103
+ - Trace data flow from user inputs to sensitive operations
104
+ - Look for privilege boundaries being crossed unsafely
105
+ - Identify injection points and unsafe deserialization
106
+
107
+ REQUIRED OUTPUT FORMAT:
108
+
109
+ You MUST output your findings in markdown. The markdown output should contain the file, line number, severity, category (e.g. `sql_injection` or `xss`), description, exploit scenario, and fix recommendation.
110
+
111
+ For example:
112
+
113
+ # Vuln 1: XSS: `foo.py:42`
114
+
115
+ * Severity: High
116
+ * Description: User input from `username` parameter is directly interpolated into HTML without escaping, allowing reflected XSS attacks
117
+ * Exploit Scenario: Attacker crafts URL like /bar?q=<script>alert(document.cookie)</script> to execute JavaScript in victim's browser, enabling session hijacking or data theft
118
+ * Recommendation: Use Flask's escape() function or Jinja2 templates with auto-escaping enabled for all user inputs rendered in HTML
119
+
120
+ SEVERITY GUIDELINES:
121
+ - **HIGH**: Directly exploitable vulnerabilities leading to RCE, data breach, or authentication bypass
122
+ - **MEDIUM**: Vulnerabilities requiring specific conditions but with significant impact
123
+ - **LOW**: Defense-in-depth issues or lower-impact vulnerabilities
124
+
125
+ CONFIDENCE SCORING:
126
+ - 0.9-1.0: Certain exploit path identified, tested if possible
127
+ - 0.8-0.9: Clear vulnerability pattern with known exploitation methods
128
+ - 0.7-0.8: Suspicious pattern requiring specific conditions to exploit
129
+ - Below 0.7: Don't report (too speculative)
130
+
131
+ FINAL REMINDER:
132
+ Focus on HIGH and MEDIUM findings only. Better to miss some theoretical issues than flood the report with false positives. Each finding should be something a security engineer would confidently raise in a PR review.
133
+
134
+ FALSE POSITIVE FILTERING:
135
+
136
+ > You do not need to run commands to reproduce the vulnerability, just read the code to determine if it is a real vulnerability. Do not use the bash tool or write to any files.
137
+ >
138
+ > HARD EXCLUSIONS - Automatically exclude findings matching these patterns:
139
+ > 1. Denial of Service (DOS) vulnerabilities or resource exhaustion attacks.
140
+ > 2. Secrets or credentials stored on disk if they are otherwise secured.
141
+ > 3. Rate limiting concerns or service overload scenarios.
142
+ > 4. Memory consumption or CPU exhaustion issues.
143
+ > 5. Lack of input validation on non-security-critical fields without proven security impact.
144
+ > 6. Input sanitization concerns for GitHub Action workflows unless they are clearly triggerable via untrusted input.
145
+ > 7. A lack of hardening measures. Code is not expected to implement all security best practices, only flag concrete vulnerabilities.
146
+ > 8. Race conditions or timing attacks that are theoretical rather than practical issues. Only report a race condition if it is concretely problematic.
147
+ > 9. Vulnerabilities related to outdated third-party libraries. These are managed separately and should not be reported here.
148
+ > 10. Memory safety issues such as buffer overflows or use-after-free-vulnerabilities are impossible in rust. Do not report memory safety issues in rust or any other memory safe languages.
149
+ > 11. Files that are only unit tests or only used as part of running tests.
150
+ > 12. Log spoofing concerns. Outputting un-sanitized user input to logs is not a vulnerability.
151
+ > 13. SSRF vulnerabilities that only control the path. SSRF is only a concern if it can control the host or protocol.
152
+ > 14. Including user-controlled content in AI system prompts is not a vulnerability.
153
+ > 15. Regex injection. Injecting untrusted content into a regex is not a vulnerability.
154
+ > 16. Regex DOS concerns.
155
+ > 16. Insecure documentation. Do not report any findings in documentation files such as markdown files.
156
+ > 17. A lack of audit logs is not a vulnerability.
157
+ >
158
+ > PRECEDENTS -
159
+ > 1. Logging high value secrets in plaintext is a vulnerability. Logging URLs is assumed to be safe.
160
+ > 2. UUIDs can be assumed to be unguessable and do not need to be validated.
161
+ > 3. Environment variables and CLI flags are trusted values. Attackers are generally not able to modify them in a secure environment. Any attack that relies on controlling an environment variable is invalid.
162
+ > 4. Resource management issues such as memory or file descriptor leaks are not valid.
163
+ > 5. Subtle or low impact web vulnerabilities such as tabnabbing, XS-Leaks, prototype pollution, and open redirects should not be reported unless they are extremely high confidence.
164
+ > 6. React and Angular are generally secure against XSS. These frameworks do not need to sanitize or escape user input unless it is using dangerouslySetInnerHTML, bypassSecurityTrustHtml, or similar methods. Do not report XSS vulnerabilities in React or Angular components or tsx files unless they are using unsafe methods.
165
+ > 7. Most vulnerabilities in github action workflows are not exploitable in practice. Before validating a github action workflow vulnerability ensure it is concrete and has a very specific attack path.
166
+ > 8. A lack of permission checking or authentication in client-side JS/TS code is not a vulnerability. Client-side code is not trusted and does not need to implement these checks, they are handled on the server-side. The same applies to all flows that send untrusted data to the backend, the backend is responsible for validating and sanitizing all inputs.
167
+ > 9. Only include MEDIUM findings if they are obvious and concrete issues.
168
+ > 10. Most vulnerabilities in ipython notebooks (*.ipynb files) are not exploitable in practice. Before validating a notebook vulnerability ensure it is concrete and has a very specific attack path where untrusted input can trigger the vulnerability.
169
+ > 11. Logging non-PII data is not a vulnerability even if the data may be sensitive. Only report logging vulnerabilities if they expose sensitive information such as secrets, passwords, or personally identifiable information (PII).
170
+ > 12. Command injection vulnerabilities in shell scripts are generally not exploitable in practice since shell scripts generally do not run with untrusted user input. Only report command injection vulnerabilities in shell scripts if they are concrete and have a very specific attack path for untrusted input.
171
+ >
172
+ > SIGNAL QUALITY CRITERIA - For remaining findings, assess:
173
+ > 1. Is there a concrete, exploitable vulnerability with a clear attack path?
174
+ > 2. Does this represent a real security risk vs theoretical best practice?
175
+ > 3. Are there specific code locations and reproduction steps?
176
+ > 4. Would this finding be actionable for a security team?
177
+ >
178
+ > For each finding, assign a confidence score from 1-10:
179
+ > - 1-3: Low confidence, likely false positive or noise
180
+ > - 4-6: Medium confidence, needs investigation
181
+ > - 7-10: High confidence, likely true vulnerability
182
+
183
+ START ANALYSIS:
184
+
185
+ Begin your analysis now. Do this in 3 steps:
186
+
187
+ 1. Use a sub-task to identify vulnerabilities. Use the repository exploration tools to understand the codebase context, then analyze the PR changes for security implications. In the prompt for this sub-task, include all of the above.
188
+ 2. Then for each vulnerability identified by the above sub-task, create a new sub-task to filter out false-positives. Launch these sub-tasks as parallel sub-tasks. In the prompt for these sub-tasks, include everything in the "FALSE POSITIVE FILTERING" instructions.
189
+ 3. Filter out any vulnerabilities where the sub-task reported a confidence less than 8.
190
+
191
+ Your final reply must contain the markdown report and nothing else.
@@ -0,0 +1,24 @@
1
+ name: Security Review
2
+
3
+ permissions:
4
+ pull-requests: write # Needed for leaving PR comments
5
+ contents: read
6
+
7
+ on:
8
+ pull_request:
9
+
10
+ jobs:
11
+ security:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+ with:
16
+ ref: ${{ github.event.pull_request.head.sha || github.sha }}
17
+ fetch-depth: 2
18
+
19
+ - uses: anthropics/claude-code-security-review@main
20
+ with:
21
+ comment-pr: true
22
+ claude-api-key: ${{ secrets.ANTHROPIC_API_KEY }}
23
+ claude-model: claude-opus-4-1-20250805
24
+ custom-security-scan-instructions: "" # Add any custom instructions specific to your codebase here.