Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/emre-guler/websec/scannpx skills add emre-guler/websec --skill scangit clone --depth 1 https://github.com/emre-guler/websecWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00056 | $0.01732 |
| Opus 5 | $0.00028 | $0.00866 |
| Sonnet 5 | $0.00011 | $0.00346 |
| Haiku 4.5 | $0.00006 | $0.00173 |
Grade A, and why
scan scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 83 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Full Security Scan
Overview
Runs the whole websec pipeline: build the architecture picture, select the detectors that apply to this codebase, run them concurrently, and consolidate everything into one report. Use it when you want breadth. When you already know the class you care about, invoke that detector directly instead — it is faster and cheaper.
Prerequisites
- Policy: read
${CLAUDE_PLUGIN_ROOT}/references/policy.default.yaml, then.websec/policy.yamlif present, merged per${CLAUDE_PLUGIN_ROOT}/references/policy.md. You needoutput_dir,batch_size,classes.disabled, and anyrules.<skill>entries. - Read
${CLAUDE_PLUGIN_ROOT}/references/prompt-injection-guard.md. Every subagent you launch gets that block. - Check that
output_diris writable and outside anything that must not be modified. Where the tree under review cannot be written to and no absoluteoutput_diris configured, do not write into it and do not silently pick a temporary directory whose path nobody will know: stop, say which path you would have used, and ask for one. A review that leaves its findings somewhere the user cannot find has not delivered them.
Step 1 — Architecture
Read the generated-from stamp at the top of <output_dir>/architecture.md. Re-run analysis if the file is missing, carries no stamp, or its stamp is a commit that does not equal the current git rev-parse HEAD. A stamp of no-vcs or unknown means the commit could not be recorded: do not treat that as stale on its own — reuse the document, and say in your summary that its freshness could not be verified — and also whenever the working tree has uncommitted changes to dependency manifests, route definitions, or authentication code, since those are what the document describes. Otherwise reuse it. To rebuild, run the analysis skill (${CLAUDE_PLUGIN_ROOT}/skills/analysis/SKILL.md) first and wait for it to finish. Everything downstream depends on it. Read the finished document yourself — you need its stack facts and its "Notes for detectors" section to make the next decision.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 83 lines · 56 tokens per session scan A 7865b288bef2
scan is a skill published in the GitHub repository emre-guler/websec (2 stars, last pushed 5d ago), licensed MIT. It adds 56 tokens to every session and 1,732 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
vantage
Autonomous, artifact-driven SAST (Static Application Security Testing) for web AND mobile app repositories, plus optional code-level remediation. Use whenever the user asks to security-review, pentest, audit, or scan a codebase for vulnerabilities — web (SQLi, XSS, IDOR/BOLA, auth bypass, SSRF, XXE, hardcoded secrets…
prowler-ui
Prowler UI-specific patterns. For generic patterns, see: typescript, react-19, nextjs-16, tailwind-4. Trigger: When working inside ui/ on Prowler-specific conventions (shadcn, folder placement, actions/adapters, shared types/hooks/lib).
prowler-test-api
Testing patterns for Prowler API: JSON:API, Celery tasks, RLS isolation, RBAC. Trigger: When writing tests for api/ (JSON:API requests/assertions, cross-tenant isolation, RBAC, Celery tasks, viewsets/serializers).
prowler-pr
Creates Pull Requests for Prowler following the project template and conventions. Trigger: When working on pull request requirements or creation (PR template sections, PR title Conventional Commits check, changelog gate/no-changelog label), or when inspecting PR-related GitHub workflows like conventional-commit.yml…
tailwind-4
Tailwind CSS 4 patterns and best practices. Trigger: When styling with Tailwind (className, variants, cn()), especially when dynamic styling or CSS variables are involved (no var() in className).
prowler-docs
Prowler documentation style guide and writing standards. Trigger: When writing documentation for Prowler features, tutorials, or guides.