Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add laolaoshiren/claude-code-skills-zh --skill env-managergit clone --depth 1 https://github.com/laolaoshiren/claude-code-skills-zhWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/laolaoshiren/claude-code-skills-zh/env-manager)<a href="https://agentmods.dev/skills/laolaoshiren/claude-code-skills-zh/env-manager"><img src="https://agentmods.dev/badge/skills/laolaoshiren/claude-code-skills-zh/env-manager/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/laolaoshiren/claude-code-skills-zh/env-manager"><img src="https://agentmods.dev/badge/skills/laolaoshiren/claude-code-skills-zh/env-manager.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 12 findings, up to high
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- high Privilege Escalation · line 3 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 9 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 14 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 24 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 70 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 101 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 102 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 103 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 104 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 14 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 100 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
- high Privilege Escalation · line 14 Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.Fix: Remove references to credential paths. Use environment variables or secrets managers. For docs, use placeholder paths (e.g., /path/to/config). Never load .env or token files in production code paths.
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00022 | $0.01133 |
| Opus 5.5 | $0.00009 | $0.00453 |
| Sonnet 5.5 | $0.00004 | $0.00227 |
| Haiku 4.5 | $0.00002 | $0.00113 |
Grade A, and why
env-manager scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 105 lines — stays where its author put it; the contents beside it link to each section on GitHub.
环境变量管理器
触发条件
当用户要求管理环境变量、.env 文件、配置同步、Secrets 检查时激活。
工作流程
1. 扫描项目
- 检测所有
.env*文件(.env / .env.local / .env.development / .env.production) - 默认只提取变量名、来源文件和是否为空;真实值必须脱敏,不写入报告或终端输出
- 扫描代码中引用的环境变量(
process.env.XXX/os.environ['XXX']/os.getenv('XXX')) - 识别静态扫描中未发现引用的变量(仅作为待人工确认候选)
- 识别已使用但未定义的变量(缺失配置)
2. 校验分析
- 检查必填变量是否有默认值
- 验证 URL 格式、端口号范围、布尔值格式
- 检测硬编码的敏感信息(API Key / Token / Password)
- 对比 .env.example 与实际 .env 文件的差异
3. 生成/修复
- 生成
.env.example模板(仅包含变量名和说明,不含真实值) - 生成
.env.schema.json(结构化校验规则) - 检测到硬编码密钥时,建议迁移到环境变量
- 生成
dotenv加载配置(针对不同框架)
4. 同步
- 在 monorepo 中同步共享环境变量
- 生成 Docker Compose 的 env_file 配置
- 生成 CI/CD 的 Secrets 配置清单
输出格式
.env.example 示例
# 应用配置
APP_NAME=my-app
APP_ENV=development # development | staging | production
APP_PORT=3000 # 服务端口 (1-65535)
APP_DEBUG=true # 调试模式
# 数据库
DB_HOST=localhost
DB_PORT=5432
DB_NAME=mydb
DB_USER= # 必填
DB_PASSWORD= # 必填,生产环境请使用 Secrets
# 第三方服务
REDIS_URL= # 必填,格式:redis://host:port
JWT_SECRET= # 必填,至少 32 位随机字符串
校验报告示例
📋 环境变量分析报告
==================
✅ 定义且使用: 12 个
⚠️ 定义未使用: 2 个(S3_BUCKET, OLD_API_KEY)
❌ 使用未定义: 1 个(SENDGRID_API_KEY)
🔒 硬编码敏感信息: 1 处(src/auth.js:23)
建议:
1. 人工确认 S3_BUCKET 和 OLD_API_KEY 是否被 CI、部署脚本或动态代码引用,再决定是否删除
2. 在 .env 中添加 SENDGRID_API_KEY
3. 将 src/auth.js:23 的硬编码 token 迁移到环境变量
安全检查清单
- 扫描和报告只展示变量名及脱敏状态,不回显真实 Secret
-
.env已添加到.gitignore -
.env.example存在且与代码同步 - 无硬编码的 API Key / Token / Password
- 生产环境使用 Secrets 管理(GitHub Secrets / AWS SSM / Vault)
- JWT_SECRET / ENCRYPTION_KEY 足够随机(32+ 字符)
- 数据库密码不在日志中输出
修改边界
- 不要自动删除或改写真实
.env;先展示差异并取得用户确认。 - “未使用”只代表静态扫描没有发现,仍需检查 CI、容器、部署平台和动态变量访问。
- 不把生产 Secret 复制到
.env.example、Schema、日志、Issue 或聊天输出中。
常见陷阱
- Next.js:只有
NEXT_PUBLIC_前缀的变量会暴露给客户端,后端专用变量不要加此前缀 - Docker:构建时的 ARG 和运行时的 ENV 是不同的,不要混淆
- Create React App:
.env中的变量必须以REACT_APP_开头才会被注入 - Vite:使用
VITE_前缀暴露变量给客户端 - monorepo:根目录的
.env不会自动被子包读取,需要显式配置
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 105 lines · 22 tokens per session scan A b021d459cd29
env-manager is a skill published in the GitHub repository laolaoshiren/claude-code-skills-zh (900 stars, last pushed 2d ago), licensed MIT. It adds 22 tokens to every session and 1,133 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
ai-engineering-toolkit
6 production-ready AI engineering workflows: prompt evaluation (8-dimension scoring), context budget planning, RAG pipeline design, agent security audit (65-point checklist), eval harness building, and product sense coaching.
ai-prompt-regression-testing
Prompt engineering regression test matrix register: baseline outputs, semantic drift thresholds, judge evaluations, and golden dataset.
prompt-master
Generates optimized prompts for AI tools. Activates only when the user explicitly asks to write, fix, improve, or adapt a prompt for a specific AI tool (LLM, Cursor, Midjourney, image AI, video AI, coding agents, etc.). Does not activate for general conversation, coding tasks, document writing, or other…
tool-calling-tutor
Use when a tool-calling agent does not call a tool, sends wrong arguments, loops without stopping, or needs a function schema. Guides a four-branch diagnosis and five-step schema repair. Do not use for framework-specific, MCP-server, or production-observability questions.
prompt-translator
A tool that rewrites an existing AI video prompt from one video model's preferred format into another model's format. It uses example prompts comparing the same kinds of scenes across different models.
happyhorse-prompter
A tool for writing short prompts for HappyHorse 1.0, an AI video generator that can create video with sound. Its prompts put the main subject first, specify the camera, and describe audible sound when needed.