cli-tslisted
Install: claude install-skill vanducng/skills
# TypeScript CLI Engineering
Build TypeScript command-line interfaces as stable public APIs. Optimize for predictable automation, packed-artifact correctness, safe releases, and maintainable external-service boundaries.
## Scope
This skill handles TypeScript CLI architecture, command contracts, package builds, npm distribution, CI/CD, documentation, and agent-facing output. Release, publish, tag, merge, and external writes stay separate authorization boundaries.
## Workflow
1. Inspect `package.json`, lockfile, TypeScript config, executable entry, command registration, tests, workflows, docs, and repository instructions.
2. Preserve the current package manager, module format, parser, test runner, and release model unless a measured requirement justifies change.
3. Classify the CLI:
- Use Node `util.parseArgs` for one or two flat commands.
- Use Commander for nested operational command trees.
- Use oclif only when plugins, installers, autoupdate, or large lazy-loaded trees are real requirements.
4. Freeze the public contract before editing: binary names, command paths, flags, defaults, config precedence, stdout, stderr, exit behavior, and version policy.
5. Keep the executable and command handlers thin. For one external service, put SDK access in a direct client or domain module. Add `providers/` only when multiple providers or interchangeable backends are real requirements.
6. Validate external input at boundaries. Treat SDK types as implementation help, not runt