CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

agent-supply-chain-audit

Audit the extensions AI coding agents load and trust (skills, plugins, marketplaces, hooks, settings, MCP servers, and instruction files like CLAUDE.md, AGENTS.md, GEMINI.md, .cursor/rules and copilot-instructions.md) across Claude Code, Cursor, Codex, Gemini CLI and GitHub Copilot. Read-only: inventories each item with its source and pin, greps for hidden instructions, exfiltration, credential reads, persistence, curl|bash and over-broad tool grants, reviews hooks and MCP pinning and tool poisoning, and gives each item a SAFE / CAUTION / DO-NOT-INSTALL verdict. Use when the user mentions 'audit my skills,' 'is this skill malicious,' 'is this skill safe,' 'is this MCP server safe,' 'review CLAUDE.md,' 'review AGENTS.md,' 'plugin security,' 'check my hooks,' 'audit my MCP servers,' 'agent supply chain,' 'SkillSpector,' 'tool poisoning,' 'rug pull,' or is about to install a skill, plugin, or MCP server.

Quality

96%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

92%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

An exceptionally well-constructed procedural skill: executable commands at every step, a clearly sequenced workflow with validation and feedback loops, and proper deferral of bulk material to real, well-signaled one-level-deep reference files. The only weakness is token weight — at ~300 lines a few sections (intro statistics, the self-audit section) could be tightened or pushed to references.

Suggestions

Trim the intro's Liu et al. (2026) statistics to a single clause (or move them to a reference) — the threat model stands without the numbers, saving ~4 lines of context.

Compress the 'Eat your own dog food' section to its three actionable bullets; the framing sentence about installing into .claude/skills/ duplicates Step 0 scope guidance.

Move the Step 3 hooks/settings grep block (the S variable and five rg commands) into references/content-checks.md alongside the other pattern sets, keeping only the 'What to weigh' table inline.

DimensionReasoningScore

Conciseness

The body is dense and nearly every line is load-bearing — path tables, grep commands, severity anchors — and it assumes Claude's competence rather than teaching basics (the one-sentence framing of 'a hook is a shell command that runs on every prompt' motivates the threat model rather than explaining known concepts). A few sections could still be trimmed: the Liu et al. (2026) statistics in the intro and the self-referential 'Eat your own dog food' section are the closest things to padding, which lands it at the 'efficient; minor instances of over-explanation' anchor rather than the lean score-5 anchor.

4 / 5

Actionability

Fully executable guidance throughout: copy-paste ripgrep commands per check category, concrete settings/MCP grep blocks with exact paths, a pinned-vs-unpinned args example ('["-y", "@acme/mcp-server@1.4.2"]'), a validator invocation ('node references/validate-findings.mjs findings.json'), an exact fingerprint format, and a rendered report template. It even preempts the markdown-escaping pitfall ('\| is markdown escaping — type a plain | in the shell'), matching the 'copy-paste ready' score-5 anchor.

5 / 5

Workflow Clarity

Steps 0–6 are clearly sequenced (authorization/scope → inventory → content checks → hooks/settings → MCP → optional scanner → verdicts/output) with explicit validation checkpoints and feedback loops: 'Fix every error before writing prose' after the findings.json validation, rejected candidates recorded 'so later runs stay quiet', and needs_validation items carrying a concrete validation plan. This matches the score-5 anchor's validate → fix → retry structure.

5 / 5

Progressive Disclosure

Textbook progressive disclosure: the body keeps one representative pattern per category and defers the full set ('the full set, with portable grep / perl equivalents, is in references/content-checks.md'), and the headline path table while pointing to per-agent tables in references/locations.md. All four referenced files (locations.md, content-checks.md, findings-format.md, severity-calibration.md) plus validate-findings.mjs exist in references/ and are one level deep, well-signaled at the point of use — matching the score-5 anchor, with only inline density (not nesting or buried references) keeping it from being a trivial call.

5 / 5

Total

19

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description is a model example: concrete third-person actions covering inventory, content checks, hooks/settings, MCP pinning, and verdicts, followed by an explicit 'Use when' clause rich with natural trigger phrases. It is long but every clause carries information — no padding or over-claims.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions with comprehensive coverage of the domain: "inventories each item with its source and pin, greps for hidden instructions, exfiltration, credential reads, persistence, curl|bash and over-broad tool grants, reviews hooks and MCP pinning and tool poisoning, and gives each item a SAFE / CAUTION / DO-NOT-INSTALL verdict". This matches the score-5 anchor (multiple specific actions, comprehensive); it is far above the score-4 anchor's 'minor gaps in coverage' and clearly not the minimal/generic action set of anchors 2–3.

5 / 5

Completeness

Explicitly answers both what ("Read-only: inventories… greps… reviews… and gives each item a SAFE / CAUTION / DO-NOT-INSTALL verdict") and when ("Use when the user mentions 'audit my skills,' … or is about to install a skill, plugin, or MCP server") with concrete trigger phrases. This is the score-5 example shape verbatim; the explicit 'Use when' clause rules out the score-3 cap.

5 / 5

Trigger Term Quality

The 'Use when' clause enumerates natural phrases users would actually say — "'audit my skills,' 'is this skill malicious,' 'is this skill safe,' 'is this MCP server safe,' 'review CLAUDE.md,' 'plugin security,' 'check my hooks,' 'agent supply chain,' 'SkillSpector,' 'tool poisoning,' 'rug pull,'" plus the install-intent case. Coverage includes synonyms, named tools, and concrete file names, matching the comprehensive score-5 anchor; nothing common is missing, so 4's 'a few natural terms missing' does not fit.

5 / 5

Distinctiveness Conflict Risk

Clear niche — auditing agent-loaded extensions (skills, plugins, hooks, MCP servers, instruction files) across named agents — with distinct triggers like 'SkillSpector,' 'rug pull,' and 'audit my MCP servers' that no generic or sibling security skill would claim. Only marginal overlap exists with closely related repo skills (e.g., 'review CLAUDE.md' brushing a prompt-injection skill), which is not enough to drop below the 'minimal conflict risk' anchor.

5 / 5

Total

20

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

Total

15

/

16

Passed

Repository

briiirussell/cybersecurity-skills

Path

skills/agent-supply-chain-audit/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.