Claude Code, Skill
Python Template
Public repository leynier/python-template.
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.
Rescanned at commit 10a6487d5354, unchanged since the check below.
SECRETS_PATH_DOTENV NETWORK_LOCALHOST
Why this grade
- SECRETS_PATH_DOTENV Low
Mentions a .env file.
.gitignore, line 7
.env - NETWORK_LOCALHOST Note
Calls localhost only.
template/{% if use_docker or deploy_target != 'none' %}Dockerfile{% endif %}.jinja, line 43
CMD python -c "import urllib.request,sys; sys.exit(0 if urllib.request.urlopen('http://127.0.0.1:8000/health').status == 200 else 1)"
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
Pass
No shell or command execution found, and no extra permission was declared.
Install and update
Pass
No install-time script found, and dependencies are pinned or absent.
Network
Note
can reach localhost.
NETWORK_LOCALHOST
template/{% if use_docker or deploy_target != 'none' %}Dockerfile{% endif %}.jinja, line 43
CMD python -c "import urllib.request,sys; sys.exit(0 if urllib.request.urlopen('http://127.0.0.1:8000/health').status == 200 else 1)"
template/{% if use_docker or deploy_target != 'none' %}Dockerfile{% endif %}.jinja, line 48
CMD python -c "import urllib.request,sys; sys.exit(0 if urllib.request.urlopen('http://127.0.0.1:8000/health').status == 200 else 1)"
Secrets
Concern
reads a credential or environment file.
SECRETS_PATH_DOTENV
.gitignore, line 6
.venv/
.gitignore, line 7
.env
template/.gitignore, line 13
.venv/
Show more
template/skills/project-workflow/SKILL.md, line 15
4. Keep secrets out of source control. Document required values in `.env.example` and load them through the generated settings layer when present.
template/skills/{% if ai_capabilities != 'none' %}operate-ai-stack{% endif %}/SKILL.md, line 16
5. Record required secrets in `.env.example`, use the settings layer, and redact prompt, credential, and personal data from logs.
template/src/{{ module_name }}/{% if runtime_config %}settings.py{% endif %}.jinja, line 10
"""Configuration loaded from environment variables or a local .env file."""
template/src/{{ module_name }}/{% if runtime_config %}settings.py{% endif %}.jinja, line 12
model_config = SettingsConfigDict(env_file=".env", extra="ignore")
template/{% if deploy_target != 'none' %}deploy{% endif %}/{% if deploy_target != 'none' %}README.md{% endif %}.jinja, line 12
documented in `.env.example` through the target platform's secret manager.
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 10a6487d5354. can reach localhost. reads a credential or environment file.
Date and source
Date checked:
github.com
Commit graded: 10a6487d5354f7a594161899a8fac81216f3d2e9
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.