Agent Skill
2/7/2026

security-secrets

Review secret detection patterns and scanning workflows. Use for identifying high-signal secrets like AWS keys, GitHub tokens, and DB passwords. Use proactively during all security audits to scan code and history. Examples: - user: "Scan for secrets in this repo" → run high-signal rg patterns and gitleaks - user: "Check for AWS keys" → scan for AKIA patterns and server-side exposure - user: "Audit my .env files" → ensure secrets are gitignored and not committed - user: "Verify secret redaction" → check that reported secrets follow 4+4 format - user: "Scan build artifacts for keys" → search dist/ and build/ for secret patterns

J
justinlevinedotme
6GitHub Stars
1Views
npx skills add justinlevinedotme/jalco-opencode

SKILL.md

Namesecurity-secrets
DescriptionReview secret detection patterns and scanning workflows. Use for identifying high-signal secrets like AWS keys, GitHub tokens, and DB passwords. Use proactively during all security audits to scan code and history. Examples: - user: "Scan for secrets in this repo" → run high-signal rg patterns and gitleaks - user: "Check for AWS keys" → scan for AKIA patterns and server-side exposure - user: "Audit my .env files" → ensure secrets are gitignored and not committed - user: "Verify secret redaction" → check that reported secrets follow 4+4 format - user: "Scan build artifacts for keys" → search dist/ and build/ for secret patterns

name: security-secrets description: |- Review secret detection patterns and scanning workflows. Use for identifying high-signal secrets like AWS keys, GitHub tokens, and DB passwords. Use proactively during all security audits to scan code and history. Examples:

  • user: "Scan for secrets in this repo" → run high-signal rg patterns and gitleaks
  • user: "Check for AWS keys" → scan for AKIA patterns and server-side exposure
  • user: "Audit my .env files" → ensure secrets are gitignored and not committed
  • user: "Verify secret redaction" → check that reported secrets follow 4+4 format
  • user: "Scan build artifacts for keys" → search dist/ and build/ for secret patterns

<overview>

High-signal regex patterns for detecting secrets in codebases.

</overview> <patterns>

High-Signal Regex Patterns

Secret TypePatternNotes
AWS Access KeyAKIA[0-9A-Z]{16}Always 20 chars, starts AKIA
AWS Secret(?i)aws(.{0,20})?['"][0-9a-zA-Z/+]{40}['"]40 chars base64-ish
Google API KeyAIza[0-9A-Za-z\-_]{35}39 chars total
Google OAuth[0-9]+-[0-9A-Za-z_]{32}\.apps\.googleusercontent\.comClient ID
Google Service Account"type":\s*"service_account"In JSON files
GitHub Tokengh[pousr]_[A-Za-z0-9_]{36,}ghp_/gho_/ghu_/ghs_/ghr_
GitHub PAT (fine-grained)github_pat_[A-Za-z0-9_]{22,}Newer format
GitLab Tokenglpat-[A-Za-z0-9\-]{20,}Personal access token
Stripe Secret`sk_(livetest)_[0-9a-zA-Z]{24,}`
Stripe Restricted`rk_(livetest)_[0-9a-zA-Z]{24,}`
Stripe Publishable`pk_(livetest)_[0-9a-zA-Z]{24,}`
Slack Bot Tokenxoxb-[A-Za-z0-9-]+Bot token
Slack User Tokenxoxp-[A-Za-z0-9-]+User token
Slack Workflow Tokenxwfp-[A-Za-z0-9-]+Workflow token
Slack App Tokenxapp-[A-Za-z0-9-]+App-level token
Slack Webhookhttps://hooks\.slack\.com/services/T[A-Z0-9]+/B[A-Z0-9]+/[a-zA-Z0-9]+
Discord Token[MN][A-Za-z\d]{23,}\.[\w-]{6}\.[\w-]{27}Bot token
Discord Webhookhttps://discord\.com/api/webhooks/[0-9]+/[A-Za-z0-9_-]+
OpenAI Keysk-[A-Za-z0-9]{48}API key
Anthropic Keysk-ant-[A-Za-z0-9\-]{32,}API key
TwilioSK[a-z0-9]{32}API key SID
SendGridSG\.[a-zA-Z0-9]{22}\.[a-zA-Z0-9]{43}API key
Mailgunkey-[0-9a-zA-Z]{32}API key
Mailchimp[a-f0-9]{32}-us[0-9]{1,2}API key
Firebase(?i)firebase[a-z0-9\-]+\.firebaseio\.comDatabase URL
SupabaseeyJ[A-Za-z0-9_-]*\.[A-Za-z0-9_-]*\.[A-Za-z0-9_-]*JWT (check context)
Heroku[hH]eroku.*[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}API key
NPM Tokennpm_[A-Za-z0-9]{36}Publish token
PyPI Tokenpypi-[A-Za-z0-9_-]{50,}Upload token
Private Key`-----BEGIN (RSAEC
Database URL`(?i)(postgresmysql
Password in URL[a-zA-Z]{3,15}://[^/\\:@]+:[^/\\:@]+@.{1,100}Basic auth
JWT Secret`(?i)(jwt[_-]?secrettoken[_-]?secret)['"]?\s*[:=]\s*['"][^'"]+['"]`
Generic Secret`(?i)(passwordpasswd
</patterns> <commands>

CLI Scanning Commands

# Quick grep scan (fast, high signal)
rg -n "(AKIA[0-9A-Z]{16}|sk_(live|test)_|rk_(live|test)_|pk_(live|test)_|xox[baprs]-|xapp-|xwfp-|gh[pousr]_|github_pat_)" .
rg -n "BEGIN (RSA|EC|OPENSSH|DSA|PGP) PRIVATE KEY" .
rg -n "(?i)(api[_-]?key|secret|token|password)\s*[:=]\s*['\"][^'\"]{8,}" .

# Dedicated scanners (thorough)
gitleaks detect --source . --redact --no-git
semgrep scan --config p/secrets --error
trufflehog filesystem . --only-verified
</commands>

<priority_files>

Files to Prioritize

File PatternRisk LevelWhy
.env*CRITICALOften contains all secrets
*config*.js/ts/jsonHIGHApp configuration
*secret*, *credential*HIGHNamed suspiciously
docker-compose*.ymlHIGHDB passwords, service creds
.github/workflows/*.ymlHIGHCI/CD secrets
*test*, *spec*, *fixture*MEDIUMTest data with real creds
*.pem, *.key, *.p12CRITICALPrivate keys

</priority_files>

<rules>

Redaction Format

When reporting secrets, MUST always redact:

Original: AKIAIOSFODNN7EXAMPLE
Redacted: AKIA****...****MPLE

Original: sk_test_XXXXYYYYZZZZ11112222
Redacted: sk_****...****2222

MUST show first 4 + last 4 characters only. MUST instruct immediate rotation.

</rules>
Skills Info
Original Name:security-secretsAuthor:justinlevinedotme