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 write-project-docsgit 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/write-project-docs)<a href="https://agentmods.dev/skills/kihara777/nixkits/write-project-docs"><img src="https://agentmods.dev/badge/skills/kihara777/nixkits/write-project-docs/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/write-project-docs"><img src="https://agentmods.dev/badge/skills/kihara777/nixkits/write-project-docs.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.00090 | $0.04998 |
| Opus 5.5 | $0.00036 | $0.01999 |
| Sonnet 5.5 | $0.00018 | $0.01000 |
| Haiku 4.5 | $0.00009 | $0.00500 |
Grade A, and why
write-project-docs 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 — 343 lines — stays where its author put it; the contents beside it link to each section on GitHub.
项目文档编写(NixKits 风格)
为任意项目生成完整的多语言文档体系。
主流程在本文档;配套模板集按需查阅:
| 文件 | 内容 | 何时读 |
|---|---|---|
SKILL.md(本文) |
编写规则、双语切换器、自动发现契约、技能文档同步规则 | 始终 |
templates.md |
完整模板集:目录结构、模块文档模板、README 模板、维护日志模板 | 第一次搭建某类文档时 |
何时使用
- 用户要求"编写文档"或"生成文档"
- 用户希望采用 NixKits 风格(简洁、多语言、表驱动)
- 用户有含模块/包/服务的现有项目需要文档化
架构:主仓薄封装 + 子仓完整文档
当主仓中的某个组件迁出为独立仓库时,采用这一分工——它避免同一份文档维护两遍:
| 位置 | 承载内容 |
|---|---|
| 子仓(独立仓库) | 完整文档(全部语言)+ 源码。子仓是该项目的事实来源 |
| 主仓 | 短页:说明已迁出、给出子仓链接、只保留主仓独有的一节(通常是声明式安装/集成方式),并链向子仓完整文档 |
判据:什么组件应当迁出
| 信号 | 说明 |
|---|---|
| 定位与主仓不符 | 主仓是 Nix flake 合集,而该组件是平台无关的通用软件 |
| 有独立的发布渠道 | 需发布到 npm / PyPI / crates.io 等主仓之外的 registry |
| 受众不同 | 用户群与主仓用户群不重叠(如非 NixOS 用户) |
| 代码层零耦合 | 不 import 主仓内其他包、模块或路径 |
短页写法
主仓短页不得复制子仓的完整内容(会漂移)。标准结构:
# <项目名>
<语言切换器>
<一句话定位>
> **本项目已迁出为独立仓库**:<子仓 URL>
>
> **完整文档(多语)在新仓库内**:<子仓文档 URL>
>
> 本页只保留<主仓名>独有的一节——**<独有节名>**。
## 基本信息
(含「源码仓库」「主仓侧角色」等行)
## 安装
### 方式 A:<子仓原生方式>(如 dsh plugin add / npm install)
### 方式 B:<主仓独有方式>(如声明式)
## <主仓独有的维护说明>
要点:
- 基本信息表注明主仓侧角色(如「薄封装包」),读者才知两仓关系
- 安装节保留两种方式并标注择一使用(若二者注册同一标识,同时启用会重复)
- 保留主仓独有的更新说明(如薄封装固定的
rev/hash 需同步更新) - 结尾给「功能概览」概要 + 子仓链接,不复述完整功能文档
主仓侧的其余同步
| 位置 | 处理 |
|---|---|
README 展示表(全语言) |
该行标注「已迁出为独立仓库,本仓保留薄封装」 |
| 包定义 | 改为从子仓拉源码(fetchFromGitHub 固定 rev + hash),不再自带源码 |
| CI workflow | 通常保留——它构建的是主仓 flake 输出(现为薄封装),可让用户继续命中二进制缓存 |
| 语言切换器 | 短页仍参与主仓的切换器体系,路径按主仓布局写 |
子仓引用关系必须显式记录
只要主仓引用了同账户子仓(不论是否「已迁出」,薄封装、flake input、 submodule 都算),文档里必须能找到这条引用关系——否则维护者会在主仓里 找不到源码,或重复实现子仓已有的东西。
| 位置 | 必须写明的信息 |
|---|---|
| 主仓短页「基本信息」 | 源码仓库 URL + 主仓侧角色(薄封装 / input / submodule)+ 主仓钉住的 rev 或版本 |
| 子仓 README | 该项目的完整文档;若有下游引用方,可注明「被 <主仓> 以薄封装引用」 |
| 主仓完整文档(若该组件未迁出,仅被引用) | 说明引用方式与同步方式(如何升级钉住的坐标) |
同步说明不可省:读者需要知道「子仓发新版后,主仓这边要做什么」。
薄封装的答案通常是「改 rev + 重算两个 hash」,写清哪两个。
与维护日志的分工:文档说明引用关系与同步方法(长期有效的结构信息), 维护日志记录每次坐标变更(时间线上的事件)。两者都要有,内容不重复。
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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 Changed · +32 lines 8de42abc9c0e
- 1mo ago Changed · +7 lines 86680279b052
- 1mo ago Changed · +82 lines · +32 tokens per session 4ca5d0612d08
- 1mo ago First seen · 222 lines · 58 tokens per session scan A 0d7e579c8b26
write-project-docs is a skill published in the GitHub repository Kihara777/NixKits (29 stars, last pushed yesterday), licensed MIT. It adds 90 tokens to every session and 4,998 once invoked, about $0.0004 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
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.