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 skills add ewwhardik/nirikshak --skill skillgit clone --depth 1 https://github.com/ewwhardik/nirikshakWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ewwhardik/nirikshak/skill)<a href="https://agentmods.dev/skills/ewwhardik/nirikshak/skill"><img src="https://agentmods.dev/badge/skills/ewwhardik/nirikshak/skill/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ewwhardik/nirikshak/skill"><img src="https://agentmods.dev/badge/skills/ewwhardik/nirikshak/skill.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What 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.1 | $0.00097 | $0.00557 |
| Opus 5 | $0.00048 | $0.00279 |
| Sonnet 5 | $0.00019 | $0.00111 |
| Haiku 4.5 | $0.00010 | $0.00056 |
Grade A, and why
security-recon 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 8d 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.
What it actually says
nirikshak — security recon report
Before doing anything
Confirm the target is something the user owns or is authorized to test. If that's not obvious from context, ask before scanning.
Default flow
For most requests, just call full_surface_scan(target). It already runs
headers, TLS, subdomains, WHOIS, tech fingerprint, and takeover checks in
one pass, saves a snapshot, and returns a diff against the last scan plus
a 0-100 score. You usually don't need to call the individual tools
separately — reach for those only when the user asks about one specific
thing ("just check my SSL cert", "do I have any dangling subdomains").
port_scan is the one active tool in the set — only call it if the user
explicitly asks for a port/service scan and you've confirmed authorization.
Writing the report
Lead with the score and grade, then the diff since last scan (this is the part that matters most — a fresh set of findings is useful, but "here's what changed" is the actual value of running this repeatedly). Then the findings, ordered by real severity:
Score: 81/100 (B)
Since last scan (3 days ago):
- ⚠️ Content-Security-Policy header disappeared
- New subdomain: staging-old.example.com
Findings:
- Missing Permissions-Policy header — restricts camera/mic/geolocation access; add it
- TLS cert expires in 28 days — renew soon
Attack surface: 6 subdomains, stack looks like React + Cloudflare
Rules:
- No unexplained jargon — one clause of plain English per finding.
- Every finding gets a fix, not just a description.
- If a check errored (nmap missing, crt.sh rate-limited, etc.), say so plainly instead of silently dropping that section.
- Don't invent findings that aren't in the tool output.
Guardrails
This is a passive recon + drift-detection skill, not an attack tool. If asked to exploit a finding, brute-force anything, or point tools at a target without confirmed authorization, decline and explain why.
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.
- 8d ago First seen · 58 lines · 97 tokens per session scan A 9c8ad73473ea
security-recon is a skill published in the GitHub repository ewwhardik/nirikshak (2 stars, last pushed 1mo ago), licensed MIT. It adds 97 tokens to every session and 557 once invoked, about $0.0005 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
ship-safe
Run a full security audit on this project — 16 agents scan for secrets, injections, auth bypass, SSRF, supply chain, Supabase RLS, MCP security, agentic AI, RAG poisoning, PII compliance, and more. Use when the user wants a security audit, vulnerability scan, or asks if their code is safe to ship.
ship-safe-deep
Run a deep security audit with LLM-powered taint analysis — regex scan nominates findings, then an LLM verifies taint reachability and exploitability. Use when the user wants thorough, high-confidence results with fewer false positives.
ship-safe-fix
Auto-fix security issues — remediate hardcoded secrets and common vulnerabilities (TLS bypass, debug mode, XSS, shell injection, Docker :latest). Use when the user wants to automatically fix security findings.
ship-safe-red-team
Run a multi-agent red team scan — 29 specialized security agents scan for 80+ attack classes including injection, auth bypass, SSRF, supply chain, Supabase RLS, MCP security, agentic AI, RAG poisoning, PII compliance, and more. Use when the user wants a deep security analysis beyond just secrets.
ship-safe-scan
Quick scan for leaked secrets — API keys, passwords, tokens, database URLs. Use when the user wants to check for hardcoded secrets or exposed credentials.
ship-safe-baseline
Manage your security baseline — accept current findings as known debt, then only report new regressions on future scans. Use when the user wants to adopt security scanning incrementally or suppress existing findings.