用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/y3owk1n/nix-system-config-v2 --skill writing-for-agents命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Add a skill source or local skill to the Nix configuration.
Scan codebase for deepening opportunities — refactors that turn shallow modules into deep ones.
Create, derive, or update the PRD — the single source of truth every other skill reads.
正在显示 SKILL.md
| name | writing-for-agents |
| description | Write and prune documents agents read: SKILL.md, CLAUDE.md, AGENTS.md, prd/ files. |
A document an agent reads is a budget, not a manuscript. Every line either changes what the agent does or costs tokens for nothing.
Context load — material present every turn: CLAUDE.md lines, and every skill's description. Charged whether or not it is used. Minimise it.
Cognitive load — what a human must remember exists. Paid by you, not the model. It is the price of your own agency; do not optimise it to zero by inlining everything.
A pointer trades context load for cognitive load. Material with no pointer relies on you remembering it.
A skill's description is loaded on every turn of every session. It is the highest-leverage sentence in the file and the only part most sessions ever read.
Write it as what it does + when to reach for it. Front-load the trigger word.
"Ship a spec or a single ticket from start to merged PR." — the work is named first"A helpful skill for various shipping-related tasks." — no trigger, no branch, pure costOne trigger per real branch. Collapse synonyms rather than listing them.
disable-model-invocation: true when the skill should only run when you type it. Use it for anything that publishes, mutates a tracker, or restructures files — prd, spec, grill, triage. Leave it off for skills the model should reach for on its own — ship, implement, review.
Three tiers, by immediacy:
Promote to a sibling file when a section is consulted rather than followed, and is long enough to thin attention around it. ship/TRACKERS.md, triage/LABELS.md, spec/SPEC-RENDER.md, and prd/TEMPLATES.md are all this. Point at them by filename in backticks — bare from the skill's own directory, path-qualified when pointing across skills.
Co-locate: a concept's definition, its rules, and its caveats live under one heading. Splitting them across sections costs a lookup every time.
Every skill ends on a ## Completion section, and it does real work:
Split a sequence into separate steps only when a later step's visibility tempts the agent to stop short of the earlier one.
A leading word recruits a prior the model already holds, so it changes behaviour in one token instead of a paragraph. tracer bullet, seam, prefactor, expand-contract, frontier each replace a paragraph of explanation.
Prefer them to restatement. When you catch yourself explaining the same behaviour twice in different words, there is a leading word for it.
Negation is the failure mode. Prohibiting a behaviour drags it into context. Never guess the slug from the issue title works only because it is immediately followed by what to do instead. A bare prohibition is worse than nothing — state the positive target.
Cut, in this order:
Shorter documents stay correct longer. A document that grows every time something surprises you becomes a document nobody reads.
skills/<name>/
├── SKILL.md ← frontmatter + steps
└── REFERENCE.md ← SCREAMING-KEBAB, one concern per file
name: must equal the directory name. The build fails otherwise.skills/ must appear in skills.enable in modules/home/packages/skills.nix, and nothing may appear there that is not on disk. The nix allowlist is validated at eval./ship, /implement. An external skill is /<idPrefix>_<skill> — /cursor-team-kit_deslop, never a slash path.prd/glossary.md, prd/behaviours.md, prd/architecture.md, prd/decisions.md, prd/product.md, prd/features/<slug>.md. Treat every one as optional — read what exists, say what is missing, continue.AI_NOTES.md documents the workflow as a whole. A new skill, a rename, or a cut belongs there too, or it is invisible.Installing a skill — flake input, source, enable list — is /add-skill. This skill is only about what goes inside the file.
Run the checks in CHECKS.md. They catch the failures that are invisible on reading: a pointer to a file that does not exist, a name that does not match its directory, an enable list out of step with disk.
Done when: the description names its trigger, every pointer resolves, no section duplicates another, ## Completion is checkable, and every check in CHECKS.md prints nothing. Checkable: run all seven checks and confirm zero findings.