agentsclimarketplace

Tanav security check

Skill tanav-ai/claude-plugin/skills/tanav-security-check

Free AI supply chain security checks for GitHub repos — right from a Claude conversation

Install
npx -y skills add tanav-ai/claude-plugin --skill tanav-security-check

Assembled 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

  1. check_repo_security first, always. It's free, unlimited, and instant. Most well-known repos are already in the registry — never skip straight to scan_public_repo on the assumption a repo hasn't been scanned.
  2. If found: false, and the repo is public, call scan_public_repo.
  3. If the user is about to check several repos in a row, call get_scan_quota once before the first scan_public_repo call 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.
  4. 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 to request_org_scan. If you don't have their email yet, ask for it before calling the tool.
  5. Never call scan_public_repo on a repo check_repo_security already 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:

ScoreVerdictMeaning
≥ 80BLOCKCRITICAL findings present — genuine security issue, not a style nit
55–79REVIEWFindings warrant a closer look before adopting
< 55PASSNo CRITICAL/HIGH findings, but "clean" is not a warranty — see disclaimer below
nullNot 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_scan or 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.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.