create-commandlisted
Install: claude install-skill KhaledSaeed18/dotclaude
Create a slash command: a prompt the user invokes by typing `/<name>`. Make it do one well-scoped action, accept its arguments cleanly, and read like a tight instruction set. Then regenerate the derived files and validate.
Source layout is `commands/<category>/<name>/COMMAND.md`. Commands are **file-layout**: the folder must contain only `COMMAND.md`, because it installs as the single file `.claude/commands/<name>.md`. The `/<name>` the user types comes from that filename. The **category is the folder**; `registry.json` and the README catalog are *generated* by `pnpm gen`. Never hand-edit generated files.
## Hard rules: never break these
- **One command, one action.** A command is something the user deliberately triggers (`/write-tests`, `/deploy`). Keep it to a single, well-scoped job.
- **File layout: only `COMMAND.md`.** No companion files; `pnpm gen` rejects extras because the command installs as one file.
- **Gate side effects.** If the command commits, pushes, deploys, deletes, or sends anything, state exactly what will happen and confirm before doing it. Consider `disable-model-invocation: true` so only the user can fire it.
- **`name` is globally unique and equals the folder name**, kebab-case.
- **Never hand-write `registry.json` or the README catalog.** Run `pnpm gen`.
- **No AI/co-author mentions** anywhere in the command or its output.
## Step 1: Define the command
- **The one action** it performs, in a sentence.
- **The arguments** it takes, if any, and what