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 dep-auditorgit 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/dep-auditor)<a href="https://agentmods.dev/skills/laolaoshiren/claude-code-skills-zh/dep-auditor"><img src="https://agentmods.dev/badge/skills/laolaoshiren/claude-code-skills-zh/dep-auditor/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/dep-auditor"><img src="https://agentmods.dev/badge/skills/laolaoshiren/claude-code-skills-zh/dep-auditor.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00072 | $0.01864 |
| Opus 5 | $0.00036 | $0.00932 |
| Sonnet 5 | $0.00014 | $0.00373 |
| Haiku 4.5 | $0.00007 | $0.00186 |
Grade A, and why
dep-auditor 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 11d 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 — 118 lines — stays where its author put it; the contents beside it link to each section on GitHub.
依赖安全审计
核心原则
- 默认只读。用户只要求“检查、审计、报告”时,不修改 manifest、lockfile、源码、CI 或外部服务。
- 以实际解析版本和可追溯 advisory 为证据。不要凭包名、版本年龄或记忆猜测 CVE、修复版本、可达性与许可证。
- 优先使用项目锁定的包管理器和已有审计命令。不要为完成审计而裸跑
npx,也不要擅自执行pip install、go install、cargo install等下载命令。 - 把“发现问题”“建议修复”“执行修改”分开。任何会改依赖或 lockfile 的动作都需要用户明确授权。
- 许可证部分只陈述事实、适用场景和待确认事项,不作法律结论。
工作流程
1. 确认范围与授权
- 确认目标目录、生态、工作区范围和生产 / 开发依赖是否都要检查。
- 说明将运行的命令、是否访问网络、可能向 registry 或漏洞服务发送哪些包元数据。
- 先检查工作树和现有改动。不要覆盖、回退或混入用户未提交的修改。
- 若缺少锁文件、工具或网络,继续完成可验证部分,并把覆盖缺口写入报告;不要用推测填空。
2. 建立依赖清单
- 查找 manifest 与 lockfile:
package.json、package-lock.json、pnpm-lock.yaml、yarn.lock、requirements*.txt、Pipfile.lock、poetry.lock、uv.lock、go.mod、go.sum、Cargo.toml、Cargo.lock、pom.xml、Gradle 文件和Gemfile.lock。 - 用 lockfile 或包管理器解析结果确定实际版本;manifest 中的范围不能证明最终安装版本。
- 从
packageManager、锁文件、wrapper、CI 和项目文档确认包管理器及版本。存在多个互相冲突的锁文件时,先报告歧义。 - 标记直接 / 传递依赖、生产 / 开发范围与 workspace 归属。无法确定时写“未知”。
3. 选择只读检查
只运行与项目实际生态匹配、当前环境已可用的命令:
| 生态 | 首选证据 | 只读命令示例 |
|---|---|---|
| npm | package-lock.json、项目 npm 版本 |
npm audit --json、npm outdated --json |
| pnpm | pnpm-lock.yaml、项目 pnpm 版本 |
pnpm audit --json、pnpm outdated --format json |
| Yarn | yarn.lock、项目 Yarn 版本 |
使用该版本文档支持的只读 audit / outdated 命令 |
| Python | 当前虚拟环境、锁文件 | 已安装时运行 pip-audit --format json;版本盘点可用 python -m pip list --outdated --format=json |
| Go | go.mod / go.sum |
已安装时运行 govulncheck -json ./...;go list -m -json all |
| Rust | Cargo.lock |
已安装时运行 cargo audit --json;不要擅自安装子命令 |
| JVM / Ruby | wrapper、lockfile、项目任务 | 优先运行仓库已有的审计任务;不要临时向构建文件注入插件 |
命令不存在时,记录“未执行”及原因,再单独提出可选安装方案,等待用户授权。不要把工具缺失写成“未发现漏洞”。
4. 核验漏洞证据
每个问题至少记录:
- advisory ID、来源链接和查询时间;
- 实际解析版本、受影响范围和已知修复版本;
- 直接 / 传递依赖与生产 / 开发范围;
- 严重度来源、CVSS 版本和分数(若来源提供);
- 可达性证据。只有工具或代码路径分析能够证明时才写“可达”或“不可达”。
区分“依赖树中存在受影响版本”和“漏洞在当前程序中可被利用”。不同工具结果冲突时并列证据,不擅自选择更严重的结论。
5. 核验版本与许可证
- 版本健康度记录当前解析版本、最新稳定版、弃用声明、发布日期和升级跨度。不要仅因“超过两年未更新”自动判定有漏洞。
- 从包元数据、SPDX 标识、仓库
LICENSE和许可证例外中核验事实;来源不一致时保留冲突。 - 不把 GPL、AGPL 或其他 copyleft 许可证统称为“传染性许可证”,也不固定映射成高 / 中 / 低风险。
- 结合分发方式、链接方式、SaaS 使用、修改情况、双重许可和 SPDX exception 列出待确认事项。需要法律判断时明确建议咨询合规或法律人员。
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.
- 11d ago First seen · 118 lines · 72 tokens per session scan A 5e597e50daf5
dep-auditor is a skill published in the GitHub repository laolaoshiren/claude-code-skills-zh (832 stars, last pushed yesterday), licensed MIT. It adds 72 tokens to every session and 1,864 once invoked, about $0.0004 per session on Opus 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
launch-tweet
Draft a launch tweet or short thread for a solo product launch on X / Twitter. Use when the user is shipping something (new product, major feature, side project) and asks for a launch post, "help me announce X", or mentions Product Hunt / Show HN / X launch.
postmortem-solo
Run a lightweight, blame-free postmortem after an incident, failed launch, or missed deadline — for one person. Use when the user says "that didn't go well", "the launch flopped", "we had an outage", "I missed my deadline", or wants to learn from a recent failure.
bug-from-user
Convert a vague user complaint into a reproducible bug report a solo dev can act on. Use when the user pastes a confusing customer message, says "user says it's broken but I can't repro", "this email makes no sense", or wants to triage a bug report.
changelog-from-commits
Generate a user-facing CHANGELOG entry from raw git log output. Use when the user is preparing a release, says "what changed since last version", asks to write release notes, or wants to summarize a batch of commits for end users.
standup-solo
Run a 5-minute personal standup for a solo dev — what shipped yesterday, what's blocked, what's next today. Use when the user asks for a daily check-in, says "what should I work on today", "what did I do yesterday", or wants to break out of a productivity slump.
email-customer
Draft a polite-but-firm reply to a tricky customer email — refund request, scope creep, complaint, billing dispute. Use when the user pastes a customer email and asks for a reply, mentions "how do I respond", "user is asking for a refund", "they want a discount", or any awkward customer-facing communication.