Claude Code, Skill
skills
Standalone Claude Code skills: grounded read-back before edits, a Tailwind v4 house style, a one-brief handoff across /clear, and a measured cut of what every request carries.
Compatibility: Not stated.
Grade C
One Medium finding. Read the report before installing.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
INSTALL_REMOTE_SCRIPT
Why this grade
- INSTALL_REMOTE_SCRIPT Medium
Fetches a script from the network and runs it (a pipe to a shell, or an install hook with a URL).
plugins/agy/evals/bench/cloud-setup.sh, line 12
curl -fsSL https://antigravity.google/cli/install.sh | bash -s -- --dir /usr/local/bin
Any High, or two or more Medium findings, give D. One Medium gives C. Low findings or a security Note give B. Each code names a finding behind the letter.
Grades are a hygiene check of the source at the commit shown, on the date checked, not a security audit or a guarantee. The free directory grades are automated. Before release, a PlugVet engineer reviews every paid report and any grade we hold back, including all F grades, against the source code and the evidence we quote.
What was checked
Plain notes from the hygiene checks.
Permissions
Note
requests shell access. The manifest names this permission.
PERMISSION_SHELL_DECLARED
plugins/agy/evals/bench/contextbench/prepare.py, line 47
git = lambda *a: subprocess.run(["git", "-C", dest, *a], check=True, capture_output=True)
plugins/agy/scripts/lib/run.mjs, line 1
// Promise wrapper around child_process.spawn:
plugins/cursor/scripts/lib/run.mjs, line 1
// Thin Promise wrapper around child_process.spawn with:
Show more
plugins/grok/scripts/lib/run.mjs, line 1
// Thin Promise wrapper around child_process.spawn with:
Install and update
Serious
install fetches a script from the network. README documents an installer that pipes a download into a shell. The docs document an installer that pipes a download into a shell.
INSTALL_REMOTE_SCRIPT INSTALL_DOCUMENTED_INSTALLER
plugins/agy/evals/bench/cloud-setup.sh, line 12
curl -fsSL https://antigravity.google/cli/install.sh | bash -s -- --dir /usr/local/bin
plugins/cursor/README.md, line 71
- `cursor-agent` on your `PATH` - install via `curl https://cursor.com/install -fsS | bash`
plugins/cursor/scripts/setup.mjs, line 170
'This will run: `curl https://cursor.com/install -fsS | bash`\n' +
Show more
plugins/cursor/scripts/setup.mjs, line 199
'Install Cursor CLI with: `curl https://cursor.com/install -fsS | bash`\n' +
Network
Concern
can reach a host that is not written as a fixed address.
NETWORK_NO_FIXED_HOST
plugins/agy/evals/bench/contextbench/prepare.py, line 43
def fetch(repo_url, commit, dest):
plugins/agy/evals/bench/contextbench/prepare.py, line 68
fetch(r.repo_url, r.base_commit, dest)
plugins/agy/scripts/update.mjs, line 120
const res = await fetch(UPSTREAM_CHANGELOG_URL, { signal: AbortSignal.timeout(15_000) });
Show more
plugins/agy/scripts/update.mjs, line 165
const res = await fetch(RELEASES_URL, { signal: AbortSignal.timeout(5_000) });
plugins/grok/scripts/update.mjs, line 96
const res = await fetch(REGISTRY_URL, { signal: AbortSignal.timeout(5_000) });
skills/lean-claude/scripts/lean.mjs, line 94
const res = await fetch(`${API_BASE}/v1/messages/count_tokens?beta=true`, { method: 'POST', headers: h, body: JSON.stringify(body) });
Secrets
Concern
reads a credential or environment file.
SECRETS_ENV_READ SECRETS_PATH_DOTENV
plugins/cursor/scripts/setup.mjs, line 88
const apiKey = process.env.CURSOR_API_KEY;
skills/lean-claude/scripts/lean.mjs, line 666
const { req } = await capture({ env: { ...env, CLAUDE_CONFIG_DIR: dir, ANTHROPIC_API_KEY: '
.gitignore, line 68
# dotenv environment variable files
Show more
.gitignore, line 69
.env
.gitignore, line 71
!.env.example
plugins/agy/evals/caller.eval.mjs, line 107
env: { ...process.env, ...env },
plugins/agy/evals/lib/harness.mjs, line 65
env: { ...process.env, ...env },
skills/lean-claude/scripts/lean.mjs, line 64
const childEnv = { ...process.env, CLAUDE_CODE_ARTIFACT: '1', ...env, ANTHROPIC_BASE_URL: `http://127.0.0.1:${srv.address().port}` };
Agent instructions
Pass
No instruction to ignore earlier instructions or to hide a step.
Obfuscation
Pass
No encoded or minified payload found.
Licence
Pass
A licence file is present (LICENSE).
Maintainer activity
Pass
The latest commit is within the last 365 days.
Note
Hygiene check of commit 7b47b73c7273. requests shell access. The manifest names this permission. install fetches a script from the network. README documents an installer that pipes a download into a shell. The docs document an installer that pipes a download into a shell. can reach a host that is not written as a fixed address. reads a credential or environment file.
Date and source
Date checked:
github.com
Commit graded: 7b47b73c72736d6f7e03dc96666ad56f2aeb2f16
This link goes to the original host. PlugVet does not host or check what you download from there, and installing it is your own decision and risk.