Grades are a hygiene check, not a security guarantee.

Claude Code, Skill

Agent Skills

Charley's Agent Skills for engineering, memory, and media.

Compatibility: Not stated.

Grade D

Two or more Medium findings, or a High. Only try it in a sandbox.

Graded by PlugVetRubric v2

Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.

INSTALL_REMOTE_SCRIPT SECRETS_PATH_CREDENTIAL OBFUSCATION_ENCODED_BLOB

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

    skills/record-walkthrough/scripts/record.mjs, line 346 user authorization to install via mise (curl https://mise.run | sh && mise use -g ffmpeg) or system packag

  • SECRETS_PATH_CREDENTIAL Medium

    Mentions a credential store path (~/.ssh, id_rsa, .npmrc, .aws/credentials, credentials.json, .netrc).

    .skillspector-baseline.yaml, line 122 reason: "Redaction-rule reference listing credential path patterns (e.g. ~/.aws/credentials) to scrub from transcripts, not code that reads them."

  • OBFUSCATION_ENCODED_BLOB Medium

    Contains a long base64 shaped string in a file that should be readable.

    skills/agents-md/skill.oms.sig, line 1 {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHATCCBoigAwIBAgIUF2VA4aCQF3gH7r5+FVoVcZCb9mIwCgYIKoZIzj0EAwMwNzEV

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.

If you think this grade is wrong, email [email protected] with the entry link and your evidence. We aim to acknowledge within two working days and decide within seven. If we confirm an error, we aim to correct it within 24 hours of confirming it. These are aims, not guarantees.

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

    Concern

    can delete files.

    PERMISSION_DELETE_FILES

    skills/record-walkthrough/scripts/record.mjs, line 1545

    fs.rmSync(tmp, { recursive: true, force: true });

    skills/record-walkthrough/scripts/record.mjs, line 1608

    fs.rmSync(tmp, { recursive: true, force: true });

    skills/record-walkthrough/scripts/record.mjs, line 1661

    fs.rmSync(tmp, { recursive: true, force: true });

  • Install and update

    Serious

    install fetches a script from the network.

    INSTALL_REMOTE_SCRIPT

    skills/record-walkthrough/scripts/record.mjs, line 346

    user authorization to install via mise (curl https://mise.run | sh && mise use -g ffmpeg) or system packag

  • Network

    Concern

    can reach a host that is not written as a fixed address.

    NETWORK_NO_FIXED_HOST

    skills/github-epic/references/hosting-detection.md, line 12

    curl -sI https://<custom-domain>/api/v3

    skills/gitlab-epic/references/hosting-detection.md, line 12

    curl -sI https://<custom-domain>/api/v4/version

    skills/record-walkthrough/references/auth.md, line 140

    curl -s http://127.0.0.1:9222/json/list # a "type": "page" entry means it is up

  • Secrets

    Concern

    reads a credential or environment file.

    SECRETS_PATH_CREDENTIAL SECRETS_PATH_DOTENV

    evals/setup-agent-ready-repo/graders/documents.sh, line 126

    for leak in .env .env.local secrets.md; do

    .skillspector-baseline.yaml, line 122

    reason: "Redaction-rule reference listing credential path patterns (e.g. ~/.aws/credentials) to scrub from transcripts, not code that reads them."

    .skillspector-baseline.yaml, line 187

    reason: "Describes reading a user's own previously persisted .env choice on a later run, not skipping confirmation for a destructive action."

    Show more

    evals/agents-md/eval.yaml, line 40

    - "(?i)\\b(I|we) (have )?(created|edited|modified|updated|wrote) (AGENTS\\.md|package\\.json|CLAUDE\\.md|QUALITY_REPORT\\.md|REPORT\\.md|AUDIT\\.md|\\.env)\\b"

    evals/agents-md/eval.yaml, line 101

    - .env

    evals/agents-memory/eval.yaml, line 46

    - .env

    evals/aube/eval.yaml, line 33

    - .env

    evals/backfill-unit-tests/eval.yaml, line 47

    - .env

  • Agent instructions

    Pass

    No instruction to ignore earlier instructions or to hide a step.

  • Obfuscation

    Concern

    contains an encoded blob in a file that should be readable.

    OBFUSCATION_ENCODED_BLOB

    skills/agents-md/skill.oms.sig, line 1

    {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHATCCBoigAwIBAgIUF2VA4aCQF3gH7r5+FVoVcZCb9mIwCgYIKoZIzj0EAwMwNzEV

    skills/agents-memory/skill.oms.sig, line 1

    {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIG5TCCBmugAwIBAgIUZJULdskuSwx35Iu9sADv/TeJLiYwCgYIKoZIzj0EAwMwNzEV

    skills/agentsview-extract/skill.oms.sig, line 1

    {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIG5DCCBmqgAwIBAgIUZLmbW1SRy/C755faeb6DzAqXQs4wCgYIKoZIzj0EAwMwNzEV

    Show more

    skills/agentsview-resume/skill.oms.sig, line 1

    {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIG5DCCBmqgAwIBAgIURpUaBuda9dgm3KcRtm7uSZZI554wCgYIKoZIzj0EAwMwNzEV

    skills/aube/skill.oms.sig, line 1

    {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHHjCCBqSgAwIBAgIUXMhUw3uZBFfPc1kJiY/2ku9HDWMwCgYIKoZIzj0EAwMwNzEV

    skills/backfill-unit-tests/skill.oms.sig, line 1

    {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHAjCCBoigAwIBAgIUY8CV7NT0DUM8w+Qof/y/9BlaN1YwCgYIKoZIzj0EAwMwNzEV

    skills/dotnet-upgrade/skill.oms.sig, line 1

    {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIG5DCCBmmgAwIBAgIUVXu/BpQa1t83FHpZeyI4AUOJNscwCgYIKoZIzj0EAwMwNzEV

    skills/github-epic/skill.oms.sig, line 1

    {"mediaType":"application/vnd.dev.sigstore.bundle.v0.3+json","verificationMaterial":{"certificate":{"rawBytes":"MIIHGzCCBqKgAwIBAgIUU+OBExawbvZJCLGYoGL7brweTZcwCgYIKoZIzj0EAwMwNzEV

  • 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 a478ff9f1907. can delete files. install fetches a script from the network. can reach a host that is not written as a fixed address. reads a credential or environment file. contains an encoded blob in a file that should be readable.

Date and source

Date checked:

View source

github.com

Commit graded: a478ff9f1907be9ba0440f363cb8b226ece01f9d

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.

Read how this letter is chosen