command-writinglisted
Install: claude install-skill event4u-app/agent-config
<!-- cloud_safe: degrade -->
# command-writing
## When to use
* Creating a new slash command in `.agent-src.uncondensed/commands/{name}.md`
* Rewriting an existing command (not a typo fix)
* Deciding whether a request should be a command at all
* Splitting an oversized command into smaller ones
Do NOT use this skill when:
* The content is a constraint the agent must always honor → use `rule-writing`
* The content is reference knowledge agents cite → use `guideline-writing`
* The content is a triggered workflow invoked by the model → use `skill-writing`
## Command vs skill — critical test
| Intent | Artifact |
|---|---|
| "User types `/foo` to explicitly run this" | **Command** |
| "Agent picks this up from description match" | **Skill** |
A command is **user-invoked** and carries `disable-model-invocation: true`.
A skill is model-invoked via description routing. If both audiences apply,
author as a skill and add a thin command that delegates to it.
## Commands ARE Claude skills (projection reality)
Every `.agent-src.uncondensed/commands/{name}.md` projects to
`.claude/skills/{slug}/SKILL.md` via `scripts/condense.py`
(`generate_claude_commands`). Nested commands flatten with `-`
(`council/default.md` → `council-default`). Skills + commands share the
**same `.claude/skills/` namespace** — Claude does not distinguish them.
Authoring consequences:
* Frontmatter `description` is Claude's **routing surface**. Generic
phrasing → undertriggering even with `disable-mode