
Security Watch
- 42 installs
- 433 repo stars
- Updated August 4, 2026
- proffesor-for-testing/agentic-qe
security-watch is a Claude Code skill for security.
About
security-watch is a Claude Code skill for security. It helps solo builders move faster with AI-assisted development.
- security-watch
- Security
- AI-coding skill
Security Watch by the numbers
- 42 all-time installs (skills.sh)
- +3 installs in the week ending Aug 4, 2026 (Skillselion tracking)
- Ranked #1,396 of 2,203 Security skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/proffesor-for-testing/agentic-qe --skill security-watchAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 42 |
|---|---|
| repo stars | ★ 433 |
| Last updated | August 4, 2026 |
| Repository | proffesor-for-testing/agentic-qe ↗ |
How do I helps with security tasks.?
Helps with security tasks.
Who is it for?
Best when you're working on security and need structured help with security watch.
Skip if: Teams with no security needs, or anyone wanting a generic chat assistant without this specific workflow.
When should I use this skill?
When you need to helps with security tasks., or when security-watch is a claude code skill for security.
What you get
Structured output aligned to security-watch: security-watch, Security.
Files
Security Watch Mode
When activated, scans every file write for common security anti-patterns and blocks dangerous code from being committed.
What It Does
Flags or blocks writes containing:
- Secrets: API keys, passwords, tokens, private keys in source code
- Dangerous functions:
eval(),Function(),innerHTML,dangerouslySetInnerHTML - Injection vectors: Unsanitized template literals in SQL/shell commands
- Insecure config:
http://URLs, disabled TLS verification,*CORS origins
Activation
/security-watchHook Configuration
{
"hooks": {
"PreToolUse": [
{
"matcher": "Write|Edit",
"hook": ".claude/skills/security-watch/scripts/scan-security.sh"
}
]
}
}Detection Patterns
#!/bin/bash
# scan-security.sh
CONTENT="$1"
ISSUES=0
# Secrets detection
SECRET_PATTERNS=(
'AKIA[0-9A-Z]{16}' # AWS Access Key
'sk-[a-zA-Z0-9]{48}' # OpenAI API Key
'ghp_[a-zA-Z0-9]{36}' # GitHub Personal Token
'password\s*[:=]\s*["\x27][^"\x27]+' # Hardcoded passwords
'BEGIN (RSA |EC )?PRIVATE KEY' # Private keys
'sk_live_[a-zA-Z0-9]+' # Stripe secret key
)
for pattern in "${SECRET_PATTERNS[@]}"; do
if echo "$CONTENT" | grep -qP "$pattern"; then
echo "BLOCKED: Potential secret detected matching pattern: $pattern"
ISSUES=$((ISSUES + 1))
fi
done
# Dangerous functions
DANGER_PATTERNS=(
'\beval\s*\('
'\bFunction\s*\('
'\.innerHTML\s*='
'dangerouslySetInnerHTML'
'child_process.*exec\('
'\$\{.*\}.*(?:SELECT|INSERT|UPDATE|DELETE)'
)
for pattern in "${DANGER_PATTERNS[@]}"; do
if echo "$CONTENT" | grep -qP "$pattern"; then
echo "WARNING: Dangerous pattern detected: $pattern"
ISSUES=$((ISSUES + 1))
fi
done
if [ $ISSUES -gt 0 ]; then
echo "Found $ISSUES security issues. Review before proceeding."
exit 1
fiGotchas
- False positives on test fixtures that intentionally contain patterns like
eval()— use// security-watch:ignorecomment - Base64-encoded secrets won't be caught — this scans for plaintext patterns only
- Template literal injection detection has false positives on safe string interpolation — review warnings carefully
- This is a first line of defense, not a replacement for proper security review
#!/bin/bash
# scan-security.sh — Security Watch hook
# Scans file content for security anti-patterns before writes.
# Called by PreToolUse hook on Write/Edit.
CONTENT="$1"
ISSUES=0
if [ -z "$CONTENT" ]; then
CONTENT=$(cat)
fi
# Secret patterns
for pattern in 'AKIA[0-9A-Z]{16}' 'sk-[a-zA-Z0-9]{48}' 'ghp_[a-zA-Z0-9]{36}' 'BEGIN (RSA |EC )?PRIVATE KEY' 'sk_live_[a-zA-Z0-9]+'; do
if echo "$CONTENT" | grep -qP "$pattern" 2>/dev/null; then
echo "BLOCKED: Potential secret detected (pattern: $pattern)"
ISSUES=$((ISSUES + 1))
fi
done
# Hardcoded password patterns
if echo "$CONTENT" | grep -qP 'password\s*[:=]\s*["\x27][^"\x27]{3,}' 2>/dev/null; then
echo "BLOCKED: Possible hardcoded password detected"
ISSUES=$((ISSUES + 1))
fi
# Dangerous function patterns
for pattern in '\beval\s*\(' '\bFunction\s*\(' '\.innerHTML\s*=' 'dangerouslySetInnerHTML'; do
if echo "$CONTENT" | grep -qP "$pattern" 2>/dev/null; then
echo "WARNING: Dangerous pattern: $pattern"
ISSUES=$((ISSUES + 1))
fi
done
# SQL injection risk
if echo "$CONTENT" | grep -qP '\$\{.*\}.*(SELECT|INSERT|UPDATE|DELETE|DROP)' 2>/dev/null; then
echo "WARNING: Possible SQL injection — template literal in SQL query"
ISSUES=$((ISSUES + 1))
fi
if [ $ISSUES -gt 0 ]; then
echo "Found $ISSUES security issue(s). Review before proceeding."
exit 1
fi
exit 0
Related skills
FAQ
What does security-watch do?
security-watch is a Claude Code skill for security.
When should I use security-watch?
When you need to helps with security tasks., or when security-watch is a claude code skill for security.
What are the main capabilities?
security-watch; Security; AI-coding skill.