npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@royalpinto007/skill-audit

v0.1.1

Published

Security scanner for agent skills. Scan a Claude/agent Skill for prompt-injection, dangerous shell, secret access, and exfiltration before you trust it. Zero dependencies, SARIF output, npx skill-audit <path>.

Readme

skill-audit

A security scanner for agent skills. Scan a Claude/agent Skill for prompt-injection, dangerous shell, secret access, and network exfiltration before you trust it — one command, zero dependencies, SARIF output for CI.

npx @royalpinto007/skill-audit ./path-to-skill

npm CI License: MIT npm: https://www.npmjs.com/package/@royalpinto007/skill-audit · Source: https://github.com/AgentPostmortem/Skill-audit


Why

Agent skills are the new plugin. A skill is a SKILL.md plus scripts that an agent will read as instructions and execute — and people install them from GitHub, gists, and marketplaces with zero review. That is an unguarded supply chain: a skill can quietly tell the agent to ignore its own rules, curl | bash a payload, read your ~/.ssh keys, or POST your .env to a webhook, and nothing checks for it.

skill-audit is npm audit for skills. Point it at a skill and it flags the patterns that should stop you from installing it.

What it catches

| Category | Examples | | --- | --- | | Prompt injection | "ignore all previous instructions", "do not tell the user", "act without confirmation", disable/bypass safety, stated intent to exfiltrate | | Dangerous shell | rm -rf ~, curl \| bash, fork bombs, chmod 777, dd/mkfs, reverse shells | | Secret access | reads ~/.ssh/id_rsa, ~/.aws/credentials, .npmrc, .netrc, dumps the environment, hits the keychain | | Exfiltration | uploads local files, contacts webhook.site / pastebin / ngrok / raw IPs, programmatic outbound POST | | Supply chain | runtime pip/npm installs, git clone && run | | Obfuscation | base64 -d \| sh, large base64 blobs, hidden zero-width / bidi Unicode | | Over-permission | allowed-tools: * |

It reads SKILL.md prose for instruction-injection and reads scripts and fenced code blocks for dangerous commands — so a chmod 777 mentioned in a sentence won't false-positive, but the same command in a code block will.

See every rule: npx @royalpinto007/skill-audit --rules.

Usage

npx @royalpinto007/skill-audit <path> [options]

# scan a skill directory
npx @royalpinto007/skill-audit ~/.claude/skills/some-skill

# fail CI on anything medium or worse
npx @royalpinto007/skill-audit ./my-skill --fail-on medium

# machine-readable output
npx @royalpinto007/skill-audit ./my-skill --format json
npx @royalpinto007/skill-audit ./my-skill --format sarif > skill-audit.sarif

Options

| Flag | Default | Meaning | | --- | --- | --- | | --format <text\|json\|sarif> | text | output format | | --fail-on <severity> | high | exit 1 if any finding is at or above this severity | | --rules | | list every rule and exit | | -h, --help / -v, --version | | |

Exit codes: 0 clean (below threshold) · 1 findings at/above --fail-on · 2 bad usage.

In CI (GitHub Action)

One line — drop it into any workflow. It gates the job and can upload findings to the Security tab:

name: skill-audit
on: [pull_request]
jobs:
  audit:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: AgentPostmortem/skill-audit@v1
        with:
          path: ./skills          # default "."
          fail-on: high           # critical|high|medium|low|info
          sarif-file: skill-audit.sarif
      - uses: github/codeql-action/upload-sarif@v3
        if: always()
        with:
          sarif_file: skill-audit.sarif

Prefer the raw CLI? npx @royalpinto007/skill-audit ./skills --fail-on high works the same in any pipeline.

What it is (and isn't)

  • It's a fast static heuristic — a first line of defense that catches the obvious and the sneaky-but-known. Green is not a proof of safety; read skills you run.
  • It has no runtime dependencies — a security tool shouldn't pull a supply chain of its own.
  • False positives are possible by design (it errs toward flagging). Tune with --fail-on.

Related

Part of a small agent-security toolkit: mcp-audit (scan MCP servers), injection-arena (learn prompt-injection defense), and the awesome-llm-guardrails list.

License

MIT