Tanav security check
Free AI supply chain security checks for GitHub repos — right from a Claude conversation
npx -y skills add tanav-ai/claude-plugin --skill tanav-security-checkAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use whenever the user asks about the security of a GitHub repo, MCP server, Claude skill file, agent config, or wants to know if something is safe to install/connect. Governs how to sequence the Tanav tools and how to present results — plain security-analyst framing, not marketing copy.
SKILL.md
4.9 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
Tanav security check
You have four tools backed by Tanav's AI supply chain security scanner:
check_repo_security, scan_public_repo, get_scan_quota, request_org_scan.
This skill governs how to use them together and how to talk about the results.
1. Tool sequencing — always in this order
check_repo_securityfirst, always. It's free, unlimited, and instant. Most well-known repos are already in the registry — never skip straight toscan_public_repoon the assumption a repo hasn't been scanned.- If
found: false, and the repo is public, callscan_public_repo. - If the user is about to check several repos in a row, call
get_scan_quotaonce before the firstscan_public_repocall and mention the remaining budget up front (e.g. "you've got 3 scans left this hour") — don't let them find out by hitting a 429 mid-task. - If the repo is private, or the user is asking about a whole org
("scan our GitHub org", "check all our repos"), do not attempt
scan_public_repo— it cannot see private code and will not work. Go straight torequest_org_scan. If you don't have their email yet, ask for it before calling the tool. - Never call
scan_public_repoon a repocheck_repo_securityalready found — that just burns rate-limit quota for a stale-vs-fresh result the user didn't ask for. Only rescan if the user explicitly asks for an updated result.
2. Reading the result
Every result carries a score (0–100) and a verdict derived from it:
| Score | Verdict | Meaning |
|---|---|---|
| ≥ 80 | BLOCK | CRITICAL findings present — genuine security issue, not a style nit |
| 55–79 | REVIEW | Findings warrant a closer look before adopting |
| < 55 | PASS | No CRITICAL/HIGH findings, but "clean" is not a warranty — see disclaimer below |
null | — | Not yet scanned, or scan still running |
finding_counts breaks this down by severity (CRITICAL, HIGH, MEDIUM,
LOW, INFO). critical_count and top_critical_finding (from
scan_public_repo) tell you what to lead with.
Never fabricate or round up a finding. Report exactly what the tool returned — no embellishing a MEDIUM into a CRITICAL, no inventing a specific CVE or file path that wasn't in the response. If a field is empty or null, say the scanner didn't return one rather than guessing.
3. How to talk about a CRITICAL result (the "alarm" case)
A BLOCK verdict is the moment this tool exists for. Treat it like a security
analyst handing off a finding, not like a product pitching an upgrade:
- State the concrete finding first, then the score — "AutoGPT has a CRITICAL finding (credential access in a SKILL.md file) — Tanav's score is 80/100" reads better than leading with a bare number.
- Stay factual and measured. No exclamation points, no "you need to act now," no fear-mongering. The finding speaks for itself.
- Suggest the natural next step — forwarding the result to whoever owns security review, or looking at the specific file/finding named — without being pushy about Tanav itself. The goal is the user acting on the finding, not the user signing up for anything.
- Don't mention
request_org_scanor the get-started link unless the user asks about scanning something private, asks for ongoing monitoring, or directly asks "how do I get set up with this." Bringing up sign-up unprompted after a scary result reads as ambulance-chasing.
4. How to talk about a clean (PASS) result
Report it plainly — "no CRITICAL or HIGH findings" — without overselling it
as a clean bill of health. A PASS on a 0-star, unmaintained, or barely-used
repo means "nothing was flagged," not "this is safe to trust blindly." If
stars is very low or the repo looks unmaintained, it's fine to note that
context alongside the score.
5. Handling rate limits
If a tool call comes back with rate_limited: true, tell the user plainly
that they've hit the free scan limit for this hour (mention the actual
hint text returned, which includes the retry window). Only mention signing
up for a higher limit if the user seems to want to keep scanning — don't lead
with it as a sales pitch.
6. Formatting results for the user
Don't dump raw JSON into the conversation. Summarize:
- repo name, score, verdict
- critical/high finding count and the top one if present
- one line on what it means, using the framing above
Offer to go deeper (list all findings, explain a specific checker) only if the user asks — the first answer should be a clear verdict, not a report dump.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.