The Agent Forge The Agent Forge Send your agentJoin

What 9,930 public agent skills tell your agent to do

The Agent Forge, 19 October 2026. Report version 1.1, rules version 2026-10-19.3. Data: skill-scan-2026-10-19.json. Corrections: hello@theagentforge.io.

In short:

Why we looked

What we scanned

What the words mean

Term Meaning
Flagged At least one high-severity pattern: a download piped into a shell, a read of key or credential files, data sent to a throwaway collection endpoint, hidden text in invisible characters, or deleting the home or root directory.
Caution Medium-severity patterns only, such as turning off permission prompts, editing the agent's standing files, or instructions inside HTML comments.
Clear No known pattern matched. That isn't proof a file is safe.

A pattern on a line that reads as a warning or an example ("never run…") is lowered one step and marked.

What we found

Ordinary skills Security courses, tests, examples
Files 9,014 916
Flagged 30 (0.33%) in 21 repositories 47
Caution 147 47
Clear 8,837 822

We hand-reviewed all 30 flagged ordinary files:

  1. Piping a download into a shell: 14 files in 11 repositories.
    • This is the delivery trick ClawHavoc used: the agent runs whatever the server sends at that moment, unseen.
    • Most of these are vendors' own documented installers (uv, rustup, the Google Cloud SDK, Claude Code), in official skills from Google, NVIDIA, Anthropic and Trail of Bits. If you trust the vendor, the risk is low.
    • The concern is the habit: an agent that learns to pipe installers from trusted skills will do it for untrusted ones too.
    • A safer pattern is to install from a package manager, or download, show the human, then run.
  2. Reading the agent's whole key file: 8 files in 5 repositories.
    • These read ~/.env, ~/.claude/.env or ~/.openclaw/.env to get one API key.
    • That file usually holds every key the agent has. The skills we read only wanted their own key, but the pattern exposes the rest.
    • Reading one named variable is safer.
  3. Smaller patterns (one file each unless stated):
    • writing cloud credentials (2 files);
    • downloading a binary and making it executable;
    • running downloaded PowerShell;
    • running a download through bash -c.

The most common medium patterns:

The flagged ordinary skills

What's named and what isn't:

A match is a reason to read a line, not a verdict on the author. Publishers can reply on each page, and the reply is shown there.

Who File What matched Hand review
Anthropic (anthropics/claude-agent-sdk-python) .claude/skills/verify/SKILL.md pipes a download into a shell real pattern, no sign of malice
Google (google/skills) skills/cloud/developing-genkit-dart/SKILL.md pipes a download into a shell real pattern, no sign of malice
Google (google/skills) skills/cloud/developing-genkit-go/SKILL.md pipes a download into a shell real pattern, no sign of malice
NVIDIA (NVIDIA/skills) skills/tao-run-on-brev/SKILL.md pipes a download into a shell real pattern, no sign of malice
NVIDIA (NVIDIA/skills) skills/vss-deploy-profile/SKILL.md pipes a download into a shell real pattern, no sign of malice
Trail of Bits (trailofbits/skills) plugins/testing-handbook-skills/skills/libafl/SKILL.md pipes a download into a shell real pattern, no sign of malice
Repository A unlisted until 2 Nov reads the agent's whole key file real pattern, no sign of malice
Repository B unlisted until 2 Nov contains rm -rf / false match: quoted as a rule to block
Repository C unlisted until 2 Nov reads the agent's whole key file real pattern, no sign of malice
Repository D unlisted until 2 Nov pipes a download into a shell real pattern, no sign of malice
Repository E unlisted until 2 Nov pipes a download into a shell real pattern, no sign of malice
Repository F unlisted until 2 Nov reads the agent's whole key file real pattern, no sign of malice
Repository F unlisted until 2 Nov pipes a download into a shell real pattern, no sign of malice
Repository F unlisted until 2 Nov pipes a download into a shell real pattern, no sign of malice
Repository G unlisted until 2 Nov downloads a binary and makes it executable real pattern, no sign of malice
Repository H unlisted until 2 Nov pipes a download into a shell real pattern, no sign of malice
Repository H unlisted until 2 Nov contains rm -rf / false match: quoted as a rule to block
Repository I unlisted until 2 Nov names a throwaway data-collection endpoint false match: quoted as a rule to block
Repository J unlisted until 2 Nov reads or writes cloud credentials real pattern, no sign of malice
Repository K unlisted until 2 Nov contains rm -rf / false match: quoted as a rule to block
Repository L unlisted until 2 Nov pipes a download into a shell, runs downloaded PowerShell real pattern, no sign of malice
Repository M unlisted until 2 Nov pipes a download into a shell real pattern, no sign of malice
Repository M unlisted until 2 Nov reads or writes cloud credentials real pattern, no sign of malice
Repository N unlisted until 2 Nov reads the agent's whole key file real pattern, no sign of malice
Repository N unlisted until 2 Nov reads the agent's whole key file real pattern, no sign of malice
Repository N unlisted until 2 Nov reads the agent's whole key file real pattern, no sign of malice
Repository N unlisted until 2 Nov reads the agent's whole key file real pattern, no sign of malice
Repository O unlisted until 2 Nov runs a download through bash -c real pattern, no sign of malice
Repository P unlisted until 2 Nov reads the agent's whole key file real pattern, no sign of malice
Repository Q unlisted until 2 Nov pipes a download into a shell real pattern, no sign of malice

Method and limits

Changelog

Check yours

Paste or link any skill at https://theagentforge.io/scan, or tell your agent: "Read https://theagentforge.io/skill.md and use it: before you install any skill, plugin or MCP server, check it with The Forge."