Claude Code, Skill
My Claude Skills
My Claude Skills, a skill listed in the PlugVet directory.
Compatibility: Not stated.
Grade B
Minor issues only, no Medium or High. Worth a quick look at the findings below before installing.
Not a guarantee. A hygiene check of the source at the commit shown, not a security audit.
PERMISSION_DELETE_FILES NETWORK_NO_FIXED_HOST NETWORK_UNNAMED_HOST SECRETS_PATH_DOTENV
Why this grade
- PERMISSION_DELETE_FILES Low
Contains a call that can delete files.
external/doc-to-markdown/scripts/convert.py, line 827
result = subprocess.run( - NETWORK_NO_FIXED_HOST Low
Makes a network call whose host is not written as a fixed address.
mine/design-first/scripts/check.mjs, line 276
const tab = await (await fetch(`http://127.0.0.1:${port}/json/new?about:blank`, { method: 'PUT' })).json(); - NETWORK_UNNAMED_HOST Low
Calls a fixed host that the description does not name.
mine/design-first/scripts/check.mjs, line 276
const tab = await (await fetch(`http://127.0.0.1:${port}/json/new?about:blank`, { method: 'PUT' })).json(); - SECRETS_PATH_DOTENV Low
Mentions a .env file.
mine/site-audit/scripts/server_audit.py, line 24
"/.git/HEAD": rb"^ref: ", "/.git/config": rb"\[core\]", "/.env": rb"(?m)^[A-Z_]{2,}=",
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
Concern
can delete files.
PERMISSION_DELETE_FILES
external/doc-to-markdown/scripts/convert.py, line 827
result = subprocess.run(
external/doc-to-markdown/scripts/convert.py, line 889
result = subprocess.run(
external/doc-to-markdown/scripts/validate_output.py, line 81
result = subprocess.run(
Show more
external/skill-conductor/eval-viewer/generate_review.py, line 291
result = subprocess.run(
external/skill-conductor/scripts/run_eval.py, line 85
process = subprocess.Popen(
external/youtube-downloader/scripts/download_video.py, line 98
check = subprocess.run(["which", "ffprobe"], capture_output=True, text=True)
external/youtube-downloader/scripts/download_video.py, line 114
result = subprocess.run(cmd, capture_output=True, text=True)
external/youtube-downloader/scripts/download_video.py, line 137
return subprocess.run(cmd)
mine/design-first/scripts/codex_img.py, line 141
shutil.rmtree(workdir, ignore_errors=True)
mine/design-first/scripts/deck_export.py, line 47
shutil.rmtree(prof, ignore_errors=True)
mine/reels-console/scripts/reel.py, line 374
os.remove(tmp)
mine/video-by-code/templates/cutdown/cut.py, line 172
shutil.rmtree(tmp, ignore_errors=True)
Install and update
Pass
No install-time script found, and dependencies are pinned or absent.
Network
Concern
can reach a host that is not written as a fixed address. can reach kit.svel. The description does not name that host.
NETWORK_NO_FIXED_HOST NETWORK_UNNAMED_HOST
mine/design-first/scripts/check.mjs, line 276
const tab = await (await fetch(`http://127.0.0.1:${port}/json/new?about:blank`, { method: 'PUT' })).json();
mine/design-first/scripts/check.mjs, line 277
ws = new WebSocket(tab.webSocketDebuggerUrl);
mine/site-audit/scripts/server_audit.py, line 95
with socket.create_connection((host, port), timeout=15) as sock:
Show more
mine/site-audit/scripts/server_audit.py, line 122
sock = socket.create_connection((ip, port), timeout=20); t2 = time.perf_counter()
mine/site-audit/scripts/static_audit.py, line 49
r = urllib.request.urlopen(req, timeout=20)
external/skill-conductor/eval-viewer/viewer.html, line 666
const resp = await fetch("/api/feedback");
external/skill-conductor/eval-viewer/viewer.html, line 1012
fetch("/api/feedback", {
external/skill-conductor/eval-viewer/viewer.html, line 1044
fetch("/api/feedback", {
external/ui-ux-pro-max/data/react-performance.csv, line 2
1,Async Waterfall,Defer Await,async await defer branch,React/Next.js,Move await into branches where actually used to avoid blocking unused code paths,Move await operations into bra
Secrets
Concern
reads a credential or environment file.
SECRETS_PATH_DOTENV
mine/site-audit/scripts/server_audit.py, line 24
"/.git/HEAD": rb"^ref: ", "/.git/config": rb"\[core\]", "/.env": rb"(?m)^[A-Z_]{2,}=",
mine/site-audit/scripts/server_audit.py, line 25
"/.env.local": rb"(?m)^[A-Z_]{2,}=", "/.env.production": rb"(?m)^[A-Z_]{2,}=",
.gitignore, line 19
# Секреты - на случай, если рядом окажется что-то настроечное
Show more
.gitignore, line 20
.env
external/marketing-plan/references/ops-stack-mapping.md, line 100
| **Ahrefs API** | SEO data: keyword research, backlinks, competitor analysis | Required `AHREFS_API_KEY` in `.env` |
external/ui-ux-pro-max/data/stacks/nextjs.csv, line 38
37,Environment,Use .env.local for secrets,Local env file for development secrets,.env.local gitignored,Secrets in .env committed,.env.local with secrets,.env with DATABASE_PASSWORD
mine/multi-layer-review/SKILL.md, line 125
5. **Конфиги** - `.env.example`, docker-compose, CI configs (если упомянуты в спеке)
mine/project-audit/SKILL.md, line 36
| Don't read `.env`, `*.pem`, `*.key`, `*secret*`, `credentials*` | Content enters context and can leak into output. Note existence and size only. |
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 7501e1d5d16f. can delete files. can reach a host that is not written as a fixed address. can reach kit.svel. The description does not name that host. reads a credential or environment file.
Date and source
Date checked:
github.com
Commit graded: 7501e1d5d16f3bfffa10bea1e17c0e9478c98bb2
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.