skill-scanner-scans
Skill0 starsChanged 8 months agoMITView on GitHub
Inspect the current environment, reuse or install the PyPI package `skill-scanner` with `pip`, and scan AI skills, prompts, instructions, agents, and rules for malicious behavior. Use this skill whenever the user mentions `skill-scanner`, `skillscan`, `pip install skill-scanner`, malicious AI skills, suspicious prompt or instruction files, or scanning Codex, Claude, Cursor, Copilot, Gemini, Windsurf, Cline, or OpenCode skill artifacts.
- Reads credentials
- Installs packages
In this repository2 other files it gives its agents.
- devil-advocateSkill
- git-guardSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
32 rules. About 0 are common, 14 are distinctive, and 18 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈14
Distinctive · estimate
This author's own choices. Worth a look.
18
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 10
Use this skill to set up or reuse the published skill-scanner CLI, discover AI skill and instruction artifacts first, and then scan …
- Very specific: line 18
Verify the CLI with skill-scanner --help first and skillscan --help as fallback.
- Very specific: line 19
Check analyzer readiness with doctor.
- Distinctive: line 20
Run discovery before any live scan.
- Distinctive: line 21
If the user already pointed to a specific skill file or folder, scan that target after discovery confirms it.
- Distinctive: line 22
If the user did not specify a target, present discovered skills and let the user choose what to scan before running a live scan.
- Distinctive: line 23
If no analyzer is configured, still show what is discoverable without keys and stop with the exact blocker.
- Distinctive: line 30
Prefer these launcher choices:
- Very specific: line 33
Check whether skill-scanner or skillscan is already on PATH.
- Very specific: line 34
If the CLI is missing, install with the selected launcher using -m pip install --user skill-scanner.
- Very specific: line 35
If the install succeeds but the CLI is not on PATH, derive the user scripts directory from the selected interpreter, run the binary by …
- Very specific: line 36
Run skill-scanner doctor after setup.
- Very specific: line 37
Run discovery first with skill-scanner discover --format table or skill-scanner scan --list-targets.
- Very specific: line 38
If the user provided a specific file or folder, confirm it appears in discovery or is the intended direct target, then run skill-scanner …
- Distinctive: line 39
If the user did not provide a target, summarize the discovered skills and ask which one to scan before running the live scan.
- Distinctive: line 40
If analyzer configuration does not exist, stop after discovery and report that live scanning is blocked until an analyzer is configured.
- Distinctive: line 41
After any live scan, provide clear and actionable remediation for each meaningful finding.
- Very specific: line 43
Do not assume uv. This skill intentionally uses pip.
- Very specific: line 56
If the user provided a specific file or folder, prefer --path <target> after discovery.
- Very specific: line 60
Treat LLM analysis as available only when SKILLSCAN_MODEL is set and either SKILLSCAN_API_KEY or SKILLSCAN_BASE_URL is present.
- Very specific: line 61
Treat VirusTotal analysis as available when VT_API_KEY is present.
- Distinctive: line 62
Treat live scanning as blocked when neither analyzer is configured.
- Very specific: line 63
When live scanning is blocked, continue with discover or scan --list-targets so the user can still see the candidate artifacts.
- Distinctive: line 64
Do not skip target selection when multiple discovered skills are in scope and the user did not name one.
- Distinctive: line 71
Verify the entrypoint works.
- Very specific: line 73
If keys may be valid and the user wants connectivity checked, run doctor --check.
- Very specific: line 74
Run discover --format table or scan --list-targets before any live scan.
- Very specific: line 75
If the user explicitly named a skill file or folder and at least one analyzer is configured, run scan --path <target> --format summary.
- Distinctive: line 76
If discovery returns multiple candidate skills and the user did not specify one, present the list and ask the user which target to scan.
- Distinctive: line 77
If discovery returns one obvious target and the user's intent is clearly to scan it, proceed and state that inference.
- Distinctive: line 78
If no analyzer is configured, stop after discovery and explain the configuration blocker.
- Very specific: line 80
Prefer skill-scanner as the main command name.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Skill Scanner Scans
Overview
Use this skill to set up or reuse the published skill-scanner CLI, discover AI skill and instruction artifacts first, and then scan selected targets for malicious behavior. Prefer direct CLI execution after install, and keep the default output human-readable.
Workflow
- Inspect the operating system, Python launchers, Python version, current directory, and whether
skill-scannerorskillscanalready works. - Reuse an existing working CLI when present.
- Select the best Python launcher for the platform and confirm it meets the package requirement of Python 3.11 or newer.
- Install with user-level
piponly when the CLI is missing or clearly unusable. - Verify the CLI with
skill-scanner --helpfirst andskillscan --helpas fallback. - Check analyzer readiness with
doctor. - Run discovery before any live scan.
- If the user already pointed to a specific skill file or folder, scan that target after discovery confirms it.
- If the user did not specify a target, present discovered skills and let the user choose what to scan before running a live scan.
- If no analyzer is configured, still show what is discoverable without keys and stop with the exact blocker.
Default Behavior
Act instead of only describing:
- Detect the platform and available Python launchers before choosing commands.
- Prefer these launcher choices:
- Windows:
py -3.11, thenpy, thenpython - macOS and Linux:
python3, thenpython
- Windows:
- Check whether
skill-scannerorskillscanis already onPATH. - If the CLI is missing, install with the selected launcher using
-m pip install --user skill-scanner. - If the install succeeds but the CLI is not on
PATH, derive the user scripts directory from the selected interpreter, run the binary by absolute path, and explain the PATH fix. - Run
skill-scanner doctorafter setup. - Run discovery first with
skill-scanner discover --format tableorskill-scanner scan --list-targets. - If the user provided a specific file or folder, confirm it appears in discovery or is the intended direct target, then run
skill-scanner scan --path <target> --format summary. - If the user did not provide a target, summarize the discovered skills and ask which one to scan before running the live scan.
- If analyzer configuration does not exist, stop after discovery and report that live scanning is blocked until an analyzer is configured.
- After any live scan, provide clear and actionable remediation for each meaningful finding.
Do not assume uv. This skill intentionally uses pip.
Environment Checks
Inspect these first:
- operating system and shell context
- current directory and whether it is inside a git repository
skill-scanner --helpskillscan --help- Python launcher availability and version
- whether
SKILLSCAN_MODEL,SKILLSCAN_API_KEY,SKILLSCAN_BASE_URL, orVT_API_KEYare set
If the user provided a specific file or folder, prefer --path <target> after discovery. Otherwise, rely on the tool's default broad discovery across repo, user, system, and extension scopes, then let the user choose which discovered skill to scan.
Analyzer Decision
- Treat LLM analysis as available only when
SKILLSCAN_MODELis set and eitherSKILLSCAN_API_KEYorSKILLSCAN_BASE_URLis present. - Treat VirusTotal analysis as available when
VT_API_KEYis present. - Treat live scanning as blocked when neither analyzer is configured.
- When live scanning is blocked, continue with
discoverorscan --list-targetsso the user can still see the candidate artifacts. - Do not skip target selection when multiple discovered skills are in scope and the user did not name one.
Default Scan Flow
Use this order:
- Reuse or install the CLI.
- Verify the entrypoint works.
- Run
doctor. - If keys may be valid and the user wants connectivity checked, run
doctor --check. - Run
discover --format tableorscan --list-targetsbefore any live scan. - If the user explicitly named a skill file or folder and at least one analyzer is configured, run
scan --path <target> --format summary. - If discovery returns multiple candidate skills and the user did not specify one, present the list and ask the user which target to scan.
- If discovery returns one obvious target and the user's intent is clearly to scan it, proceed and state that inference.
- If no analyzer is configured, stop after discovery and explain the configuration blocker.
Prefer skill-scanner as the main command name. Use skillscan only when the primary entrypoint is unavailable.
Output Pattern
Report progress in this order:
- What was found in the environment.
- Whether the CLI was reused or installed.
- Which Python launcher was selected.
- Whether the CLI worked directly or required an absolute scripts-directory path.
- Whether analyzers were configured.
- Which skills or artifacts were discovered.
- Which target was selected and why.
- What scan or discovery command was run.
- The findings or the exact blocker.
- Clear remediation for each real finding, including what to remove, restrict, verify, or rewrite.
Reference Use
Load references/install-and-usage.md when you need:
- exact Windows, macOS, or Linux install commands
- user-level scripts-directory and PATH troubleshooting
- exact
doctor,discover,scan,--list-targets,--fail-on, or--outputcommand patterns - target-selection and path-scoped scan patterns
- analyzer environment variables and config file locations
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

