create-clilisted
Install: claude install-skill magnusrodseth/dotfiles
# Create CLI
Two modes. Pick from what the user asked for:
- **Design**: produce an interface spec the user (or a later session) can
implement. Language-agnostic.
- **Build**: scaffold and implement, defaulting to the house style (Rust +
clap) unless the user names another stack.
## Do This First
- Read `references/cli-guidelines.md` (condensed clig.dev; the baseline
rubric for any CLI).
- Read `references/house-style.md` (Magnus's agent-ready skeleton, with
`~/dev/personal/sparebank1-cli` and `~/dev/personal/skatteetaten-cli` as
living exemplars to copy from).
## Clarify (fast, then proceed with defaults)
- Name + one-sentence purpose. Short 2-3 char binary name?
- Primary consumers: humans, scripts, AI agents, or all three. (Default
here: agents are first-class consumers.)
- Read-only or mutating? Mutating means confirm-prompts, `-y`, and scope
restrictions from day one. Read-only as a design invariant is worth
stating explicitly.
- Auth/secrets involved? Which backend story (keychain/op/file)?
- Distribution: personal (`install.sh` + cargo) or public (crates.io,
release matrix)?
## Design mode: deliverables
Produce a compact spec:
- Command tree + USAGE synopsis (noun-verb grouping; the `--help` tree is
how agents discover capabilities, so make it a deterministic search tree).
- Args/flags table: types, defaults, required/optional, examples.
- Output contract: stdout vs stderr, `--json` (table stakes for agents),
TTY detection, `--quiet`/`--v