code-reviewer
Automatic code quality and best practices analysis. Use proactively when files are modified, saved, or committed. Analyzes code…
Detect exposed secrets, API keys, credentials, and tokens in code. Use before commits, on file saves, or when security is mentioned. Prevents accidental secret exposure. Triggers on file changes, git commits, security checks, .env file modifications.
Claude Code
$ npx -y skills add alirezarezvani/claude-code-tresor --skill secret-scanner --agent claude-code
Codex
$ npx skills add alirezarezvani/claude-code-tresor --skill secret-scanner -a codex -y
Cursor
$ npx skills add alirezarezvani/claude-code-tresor --skill secret-scanner -a cursor -y
Gemini CLI
$ npx skills add alirezarezvani/claude-code-tresor --skill secret-scanner -a gemini-cli -y
GitHub Copilot
$ npx skills add alirezarezvani/claude-code-tresor --skill secret-scanner -a github-copilot -y
OpenCode
$ npx skills add alirezarezvani/claude-code-tresor --skill secret-scanner -a opencode -y
Windsurf
$ npx skills add alirezarezvani/claude-code-tresor --skill secret-scanner -a windsurf -y
name: secret-scanner description: Detect exposed secrets, API keys, credentials, and tokens in code. Use before commits, on file saves, or when security is mentioned. Prevents accidental secret exposure. Triggers on file changes, git commits, security checks, .env file modifications. allowed-tools: Read, Grep
Prevent accidental secret exposure in your codebase.
// You type: const apiKey = 'sk_live_1234567890abcdef'; // I immediately alert: 🚨 CRITICAL: Exposed Stripe API key detected! 📍 File: config.js, Line 3 🔧 Fix: Use environment variables const apiKey = process.env.STRIPE_API_KEY; 📖 Add to .gitignore: .env
# You type:
aws_access_key = "AKIAIOSFODNN7EXAMPLE"
# I alert:
🚨 CRITICAL: AWS access key exposed!
📍 File: aws_config.py, Line 1
🔧 Fix: Use AWS credentials file or environment variables
aws_access_key = os.getenv("AWS_ACCESS_KEY_ID")
📖 Never commit AWS credentials# You type in docker-compose.yml:
environment:
DB_PASSWORD: "mySecretPassword123"
# I alert:
🚨 CRITICAL: Database password in configuration file!
📍 File: docker-compose.yml, Line 5
🔧 Fix: Use .env file
DB_PASSWORD: ${DB_PASSWORD}
📖 Add .env to .gitignore**High Confidence:**
**Medium Confidence:**
**Low Confidence (Flagged for Review):**
# Before commit, I scan: git add . git commit # I block if secrets found: 🚨 CRITICAL: Cannot commit - secrets detected! 📍 3 secrets found: - config.js:12 - API key - .env:5 - Database password (in gitignore - OK) - auth.js:45 - JWT secret ❌ Commit blocked - remove secrets first
I check if sensitive files are in .gitignore:
✅ .env - In .gitignore (good) ⚠️ config/secrets.json - NOT in .gitignore (add it!) ✅ .aws/credentials - In .gitignore (good)
// I understand these are examples: // Example: const apiKey = 'your_api_key_here'; // TODO: Add your API key from environment
// Test fixtures are OK (but flagged for review): const mockApiKey = 'sk_test_1234567890abcdef'; // ✅ Test key
<!-- Documentation examples are flagged but low priority --> Set your API key: `export API_KEY=your_key_here`
**secret-scanner (me):** Exposed secrets and credentials **security-auditor:** Code vulnerability patterns
secret-scanner: Finds hardcoded API key security-auditor: Finds how the key is used insecurely Combined: Complete security picture
// Before: const apiKey = 'sk_live_abc123'; // After: const apiKey = process.env.API_KEY; // .env file (add to .gitignore): API_KEY=sk_live_abc123
// AWS Secrets Manager
const AWS = require('aws-sdk');
const secrets = new AWS.SecretsManager();
const secret = await secrets.getSecretValue({ SecretId: 'myApiKey' }).promise();# docker-compose.yml
services:
app:
environment:
- API_KEY=${API_KEY} # From .env file
# .env (gitignored)
API_KEY=sk_live_abc123**Works without sandboxing:** ✅ Yes (recommended) **Works with sandboxing:** ✅ Yes
Add company-specific secret patterns:
cp -r ~/.claude/skills/security/secret-scanner \
~/.claude/skills/security/company-secret-scanner
# Edit SKILL.md to add:
# - Internal API key formats
# - Company-specific secret patterns
# - Custom detection rules1. **Never commit secrets** - Use environment variables 2. **Use .gitignore** - Add .env, secrets.json, etc. 3. **Rotate exposed secrets** - If committed, rotate immediately 4. **Use secret management** - AWS Secrets Manager, HashiCorp Vault 5. **Audit regularly** - Review code for exposed secrets
1. **Rotate the secret immediately** 2. **Remove from git history**
git filter-branch --force --index-filter \
"git rm --cached --ignore-unmatch config/secrets.json" \
--prune-empty --tag-name-filter cat -- --all3. **Force push** (coordinate with team) 4. **Update all deployments** with new secret
A world-class collection of Claude Code utilities: autonomous skills, expert agents, slash commands, and prompts that supercharge your development workflow.
Automatic code quality and best practices analysis. Use proactively when files are modified, saved, or committed. Analyzes code…
Generate conventional commit messages automatically. Use when user runs git commit, stages changes, or asks for commit message…
Automatically suggest tests for new functions and components. Use when new code is written, functions added, or user mentions…
Auto-generate API documentation from code and comments. Use when API endpoints change, or user mentions API docs. Creates…
Keep README files current with project changes. Use when project structure changes, features added, or setup instructions…
Check dependencies for known vulnerabilities using npm audit, pip-audit, etc. Use when package.json or requirements.txt changes,…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.