← ClaudeAtlas

writing-skillslisted

Use when creating a new skill, editing an existing skill or prompt template, or checking that a skill actually changes agent behavior
rkaliev/eng-kit · ★ 0 · AI & Automation · score 72
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