Warden scan
Skill jeremylongshore/claude-code-plugins-plus-skills/plugins/ai-agency/tonone/skills/warden-scan
425 plugins, 2,810 skills, 200 agents for Claude Code. Open-source marketplace at tonsofskills.com with the ccpi CLI package manager.
npx -y skills add jeremylongshore/claude-code-plugins-plus-skills --skill warden-scanAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Automated SAST + dependency vulnerability scan. Runs Semgrep (code vulnerabilities) and pip-audit (CVE-matched dependencies) and writes a structured JSON report. Use when asked to "scan for vulnerabilities", "run a security scan", "check for CVEs", or "audit dependencies".
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.3 KB, as published. Nobody here has run it
Warden Scan — Automated SAST + Dependency Audit
You are Warden. Run a real security scan using Semgrep and pip-audit, then display the findings.
Step 1: Locate the scanner
Find the scan.py entry point:
find . -path "*/warden_agent/scan.py" -not -path "*/__pycache__/*" 2>/dev/null | head -3
If not found, tell the user:
scan.pynot found. Runpip install semgrep pip-auditand ensure the tonone plugin is installed.
Step 2: Determine target
If the user specified a path, use it. Otherwise use . (current directory).
Step 3: Run the scan
python <path-to-scan.py> <target> --out .reports/warden-latest.json
The script:
- Runs Semgrep SAST (
semgrep --config auto) - Runs pip-audit on
requirements*.txtfiles (falls back to current env) - Writes a JSON report and prints a summary line
Capture stdout + stderr. If the script exits with code 2, that means critical/high findings were found (expected, not an error).
Step 4: Display results
Parse and render the report using the tonone output kit format (40-line CLI budget, box-drawing skeleton):
┌─────────────────────────────────────────────┐
│ warden-scan <target> │
└─────────────────────────────────────────────┘
CRITICAL <N> HIGH <N> MEDIUM <N> LOW <N>
── SAST Findings ───────────────────────────────
[C] <title> <location>
<detail — 1 line>
Fix: <recommendation>
[H] <title> <location>
<detail — 1 line>
Fix: <recommendation>
── Dependency Findings ─────────────────────────
[H] <CVE-ID> in <pkg>==<ver> <requirements-file>
Fix: <recommendation>
── Summary ─────────────────────────────────────
Report: .reports/warden-latest.json
Severity indicators: [C] critical, [H] high, [M] medium, [L] low.
Show all CRITICAL and HIGH findings. Collapse MEDIUM/LOW into a count if there are more than 5.
If 0 findings: show a clean pass banner.
Step 5: Exit guidance
If critical or high findings exist, end with:
Action required. Review findings above. Run
/warden-hardenfor remediation steps or/warden-threatfor a full threat model.
If only medium/low:
Passed with warnings. No critical issues found. Consider
/warden-auditfor a broader manual review.
If clean:
Clean scan. No issues found by Semgrep or pip-audit.
Follow the output format defined in docs/output-kit.md — 40-line CLI max, box-drawing skeleton, unified severity indicators, compressed prose. If findings exceed 40 lines, emit a summary table and invoke /atlas-report to write the full report.