writing-skillslisted
Install: claude install-skill rkaliev/eng-kit
# Writing skills
A skill is reusable know-how that the agent loads on demand: a technique, a discipline, or a domain reference. It is not a story about one task, and not something a linter or a script can enforce. Put mechanical rules in the guard or verify hooks, or in CI.
## Format (Agent Skills spec, as Claude Code loads it)
```
skills/<name>/SKILL.md required
skills/<name>/references/*.md optional heavy reference, loaded only when needed
skills/<name>/scripts/* optional tools; invoke as `node "${CLAUDE_SKILL_DIR}/scripts/x.ts"` (the exec bit can be lost)
```
```yaml
---
name: <name> # = folder name; lowercase, digits, hyphens; ≤ 64 chars
description: Use when … # third person; triggers only; description + when_to_use are capped at 1,536 chars
---
```
Optional fields worth knowing:
- `disable-model-invocation: true`: only the user runs it (`/<name>`). Use it for entry points and side effects: deploys, commits, setup.
- `argument-hint` and `$ARGUMENTS`: for entry points that take a task or path.
- `effort: high`: for skills whose value is careful reasoning (design, debugging, security).
- `allowed-tools`: pre-approves tools while the skill runs. Keep it narrow; never grant broad `Bash`.
- `context: fork` with `agent: <type>`: runs the skill in an isolated subagent. Only for self-contained tasks that return a result.
Mechanical rules don't belong in a skill. Enforce them with a hook (the kit's guard and verify gate), a permission rule in `settin