skill-scanner

skill-scanner is a skill for Claude Code from ratnesh-maurya/cursor-claude-personas. It costs 61 tokens per session (1,894 once invoked), scanned B, original, MIT.

A security scanner for AI-agent skills. It checks skill files for prompt injection, malicious scripts, unsafe permissions, exposed secrets, and supply-chain risks before installation.

In plain words
What is it for?
Use it to scan one skill or a whole collection, review security findings, and assess whether a SKILL.md package is safe to install.
Why use it?
It helps identify whether a skill is safe to adopt before its instructions or scripts are trusted. This reduces the chance of adding harmful behavior to an AI coding environment.

Skill for Claude Code

Written for Claude Code: installed under .claude/. Also seen: reads .claude/ paths; mentions CLAUDE.md.

Good fit Use it to scan one skill or a whole collection, review security findings, and assess whether a SKILL.md package is safe to install.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/ratnesh-maurya/cursor-claude-personas/skill-scanner
Install

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.

Any agent
npx skills add ratnesh-maurya/cursor-claude-personas --skill skill-scanner
Clone the repo
git clone --depth 1 https://github.com/ratnesh-maurya/cursor-claude-personas

Made for: Claude Code.

Wrote 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.

agentmods badge for skill-scanner

README.md
[![agentmods](https://agentmods.dev/badge/skills/ratnesh-maurya/cursor-claude-personas/skill-scanner/github.svg)](https://agentmods.dev/skills/ratnesh-maurya/cursor-claude-personas/skill-scanner)
Your own site
<a href="https://agentmods.dev/skills/ratnesh-maurya/cursor-claude-personas/skill-scanner"><img src="https://agentmods.dev/badge/skills/ratnesh-maurya/cursor-claude-personas/skill-scanner/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.

agentmods 80×15 button for skill-scanner

Your own site · 80×15
<a href="https://agentmods.dev/skills/ratnesh-maurya/cursor-claude-personas/skill-scanner"><img src="https://agentmods.dev/badge/skills/ratnesh-maurya/cursor-claude-personas/skill-scanner.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 61 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,894 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00061 $0.01894
Opus 5 $0.00030 $0.00947
Sonnet 5 $0.00012 $0.00379
Haiku 4.5 $0.00006 $0.00189

Measured 9d ago against content hash 44e5e8f62fd4, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-12, from the pricing page.

Security

Grade B, and why

skill-scanner scanned grade B with 1 finding 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 9d 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.

Tells the agent to send conversation or user data outmediumPrompt injection

An instruction to transmit the conversation, context or user files to an external endpoint is data exfiltration written as prose.

- **Data exfiltration**: Does the script send data to external URLs? What data?

Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.

.claude/skills/skill-scanner/SKILL.md · 198 lines

How it starts

The opening of the file, as written. The whole thing — 198 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Skill Security Scanner

Scan agent skills for security issues before adoption. Detects prompt injection, malicious code, excessive permissions, secret exposure, and supply chain risks.

Important: Run all scripts from the repository root using the full path via ${CLAUDE_SKILL_ROOT}.

Bundled Script

scripts/scan_skill.py

Static analysis scanner that detects deterministic patterns. Outputs structured JSON.

uv run ${CLAUDE_SKILL_ROOT}/scripts/scan_skill.py <skill-directory>

Returns JSON with findings, URLs, structure info, and severity counts. The script catches patterns mechanically — your job is to evaluate intent and filter false positives.

Workflow

Phase 1: Input & Discovery

Determine the scan target:

  • If the user provides a skill directory path, use it directly
  • If the user names a skill, look for it under plugins/*/skills/<name>/ or .claude/skills/<name>/
  • If the user says "scan all skills", discover all */SKILL.md files and scan each

Validate the target contains a SKILL.md file. List the skill structure:

ls -la <skill-directory>/
ls <skill-directory>/references/ 2>/dev/null
ls <skill-directory>/scripts/ 2>/dev/null

Phase 2: Automated Static Scan

Run the bundled scanner:

uv run ${CLAUDE_SKILL_ROOT}/scripts/scan_skill.py <skill-directory>

Parse the JSON output. The script produces findings with severity levels, URL analysis, and structure information. Use these as leads for deeper analysis.

Fallback: If the script fails, proceed with manual analysis using Grep patterns from the reference files.

Phase 3: Frontmatter Validation

Read the SKILL.md and check:

  • Required fields: name and description must be present
  • Name consistency: name field should match the directory name
  • Tool assessment: Review allowed-tools — is Bash justified? Are tools unrestricted (*)?
  • Model override: Is a specific model forced? Why?
  • Description quality: Does the description accurately represent what the skill does?

Read the full file on GitHub · 198 lines

Changes

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.

  1. 9d ago First seen · 198 lines · 61 tokens per session scan B 44e5e8f62fd4

Subscribe to this mod's changes

skill-scanner is a skill published in the GitHub repository ratnesh-maurya/cursor-claude-personas (8 stars, last pushed 5mo ago), licensed MIT. It adds 61 tokens to every session and 1,894 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it B with 1 finding (tells the agent to send conversation or user data out). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other skills, from other repositories

requirements-authoring

To author, update, and validate functional/non-functional requirements as atomic units with user approval.

griddynamics/rosetta · 0 tokens

ijfw-plan

Use when the user says 'plan this', 'plan it', 'make a plan', 'let's plan', 'draft a plan', 'how should we tackle this', 'break this down', or invokes '/ijfw-plan'. Produces a falsifiable PLAN.md (software, book, campaign, design, research) with task breakdown, dependency wave-table, and success criteria — gated by…

FerroxLabs/ijfw · 95 tokens

hitl

Rosetta CRITICAL MUST skill to load as Prep Step 3 Step 2 — immediately after orchestrator-contract, right before loading any workflow. Loads the session-wide approval-gate protocol governing when to stop and wait vs proceed. WITHOUT IT decisions proceed silently, violating enterprise policy. Activate it for ALL tasks…

griddynamics/rosetta · 168 tokens

research

To run systematic deep research via meta-prompting — grounded references, incremental tracking, self-validation.

griddynamics/rosetta · 22 tokens

nextauth

NextAuth.js authentication for Next.js. Covers providers, sessions, and callbacks. Use for Next.js authentication. USE WHEN: user mentions "NextAuth", "Next.js auth", "Auth.js", asks about "Next.js authentication", "App Router auth", "next-auth", "authentication providers" DO NOT USE FOR: generic OAuth (use oauth2…

claude-dev-suite/claude-dev-suite · 95 tokens

git-workflow

Git workflow best practices. Covers branching, commits, and collaboration. Use for version control guidance. USE WHEN: user mentions "git", "commit", "branch", "pull request", "PR", "merge", "rebase", "version control", asks about "commit message", "branching strategy", "git best practices", "conventional commits"…

claude-dev-suite/claude-dev-suite · 122 tokens