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 Kihara777/NixKits --skill nixkits-check-updatesgit clone --depth 1 https://github.com/Kihara777/NixKitsWrote 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/kihara777/nixkits/nixkits-check-updates)<a href="https://agentmods.dev/skills/kihara777/nixkits/nixkits-check-updates"><img src="https://agentmods.dev/badge/skills/kihara777/nixkits/nixkits-check-updates/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/kihara777/nixkits/nixkits-check-updates"><img src="https://agentmods.dev/badge/skills/kihara777/nixkits/nixkits-check-updates.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 3 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 Supply Chain · line 253 Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.Fix: Avoid downloading and executing remote scripts. Use trusted packages from PyPI/npm. If remote fetch is required, verify checksums and use HTTPS.
- medium Data Exfiltration · line 51 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
- medium Data Exfiltration · line 244 Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.Fix: Verify the destination URL is trusted and necessary. Remove or replace with documented APIs. Ensure no secrets, tokens, or PII are transmitted.
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.00061 | $0.03856 |
| Opus 5 | $0.00030 | $0.01928 |
| Sonnet 5 | $0.00012 | $0.00771 |
| Haiku 4.5 | $0.00006 | $0.00386 |
Grade A, and why
nixkits-check-updates scanned grade A with 1 finding 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 12d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
latest=$(curl -s "https://api.github.com/repos/$repo/releases/latest" | grep -oP '"tag_name":\s*"\K[^"]+') How it starts
The opening of the file, as written. The whole thing — 300 lines — stays where its author put it; the contents beside it link to each section on GitHub.
NixKits 软件包更新检查
检查 NixKits 各软件包的上游发布更新,执行版本升级,并更新文档。
排除的软件包
以下类别不检查(无固定上游发布版本)。通过 .nix 文件特征自动分类:
- 自建软件包:
src指向本地路径(./或../开头),如rustPlatform.buildRustPackage { src = ./src; } - 动态版本追踪:
version从外部输入动态读取,如builtins.readFile、URL 抓取、flakeinput - 跟随 nixpkgs 版本:使用
overrideAttrs仅追加 patch,不定义独立 version - 补丁内硬编码版本:
.patch文件中直接包含${version}或 wheel URL 及 hash(见下方「检查补丁内版本」节)
flake.nix → packages 中的其余包均自动纳入检查。
第 1 步:确认本地仓库
# 通过 flake.nix 自动发现项目名
test -f flake.nix && echo "OK: $(grep -oP 'description\s*=\s*"\K[^"]+' flake.nix | head -1)" || echo "ERROR: not in a flake project"
第 2 步:发现待检查的软件包
从 flake.nix 的 packages 段自动提取,再按排除规则过滤:
# 自动发现所有被 callPackage 引用的包文件
grep -oP '\./[a-zA-Z0-9_/-]+\.nix' flake.nix | sort -u > /tmp/all_pkgs.txt
# 排除自建包(src 包含 ./ 或 ../)
while read f; do
grep -q 'src\s*=\s*\./\.\.\|src\s*=\s*\.\/' "$f" 2>/dev/null && echo "SKIP self-hosted: $f"
done < /tmp/all_pkgs.txt
# 剩余包即为外部更新候选
第 3 步:检查上游版本
对每个发现的外部包,从其 .nix 文件确定上游仓库,然后比对:
check() {
local pkg="$1" current="$2" repo="$3"
latest=$(curl -s "https://api.github.com/repos/$repo/releases/latest" | grep -oP '"tag_name":\s*"\K[^"]+')
if [ "$current" != "$latest" ]; then
echo "UPDATE: $pkg $current → $latest"
else
echo "OK: $pkg $current"
fi
}
第 4 步:更新构建配置
⚠️ hash 计算注意事项
- SRI hash 格式必须使用标准 base64(
+/=),不能使用 URL-safe base64(-_)。 用nix hash to-sri --type sha256 <hash>或nix-prefetch-url --type sha256 <url>获取正确格式fetchFromGitHub的 source hash 不能从 GitHub archive tarball(/archive/refs/tags/)预计算 — 两者可能不同。必须通过nix build的 hash mismatch 错误获取npmDepsHash不能设为空字符串""。清空时使用lib.fakeHash占位- npm 包需要两次
nix build:第一次获取 source hash,第二次获取 npmDepsHash。 如果 source hash 已知正确,可只清空 npmDepsHash 一次构建完成
对每个有更新的包:
npm 包
- 更新
.nix文件中的version字符串 - 将
fetchFromGitHub的hash置为空占位符 - 将
npmDepsHash置为空占位符 - 运行
nix build .#<pkg>两次 — 第一次获取源码 hash,第二次获取 npmDepsHash - 用实际值更新两个 hash
- 运行
nix build .#<pkg>验证构建成功
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.
- 12d ago First seen · 300 lines · 61 tokens per session scan A ec7490fd02ab
nixkits-check-updates is a skill published in the GitHub repository Kihara777/NixKits (25 stars, last pushed yesterday), licensed MIT. It adds 61 tokens to every session and 3,856 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
why
Use for 'why does X work this way', 'why we picked Y', design rationale, regressions, postmortems, or data-backed thresholds. Discovers available MCPs and queries each evidence category (source control, issue tracker, long-form docs, real-time chat, infrastructure observability, error tracking, product analytics…
technical-writing
Layered technical-writing standard: Diátaxis structure, Google developer style sentences, STE instruction rules, Global English syntax. Use for /technical-writing or when writing or reviewing docs, RFCs, readmes, PR descriptions, or commit messages.
teach
Explain a body of work plainly so a person actually understands it. Runs the how and why skills and weaves what they find into one clear explanation. Use for 'teach me this', 'help me really understand X', 'explain this change or subsystem to me'.
unslop
Cut AI tells from any writing. Must always apply.
how
Use for "how does X work", code walkthroughs before changing something, and placement / ownership / layering questions ("where should this live", "which package owns this", "is this the right layer"). Explains subsystem architecture, runtime flow, onboarding mental models. Can critique architecture. Use why for…
quality-code
Standards for writing or modifying handwritten source code. Use when implementing code changes or reviewing handwritten code. Do not use for browsing, explanation, diagnosis without implementation, generated code, or vendored code.