cli-developer
An agent skill by Jeffallan, from Jeffallan/claude-skills. Tags: automation, cli, design, developer-tools, documentation, web.
What it does
Use when building CLI tools, implementing argument parsing, or adding interactive prompts. Invoke for parsing flags and subcommands, displaying progress bars and spinners, generating bash/zsh/fish completion scripts, CLI design, shell completions, and cross-platform terminal applications using commander, click, typer, or cobra.
Install
With the skills CLI, which installs into Claude Code, Codex, Cursor and other agents:
npx skills add Jeffallan/claude-skills --skill cli-developer
Or copy the skill folder into Claude Code's skills directory by hand (~/.claude/skills for every project, or .claude/skills inside one):
git clone --depth 1 https://github.com/Jeffallan/claude-skills
cp -r claude-skills/skills/cli-developer ~/.claude/skills/cli-developer
Safety box score
Grade C, moderate risk: 40 of 100 risk points, rated 2026-10-20. The grade rates what the skill and its scripts can reach on the machine of whoever installs it, across eight categories from shell execution to secrets access. How the score works.
This skill is a documentation-only CLI development guide with example code for Node, Python, and Go. It does not ship an executable, but it does normalize commands, config files, prompts, and privileged paths that a generated CLI could use on a real machine.
| Category | Level | Why |
|---|---|---|
| Code & shell execution | 1 (low) | It repeatedly tells the user to run commands like `npm install`, `go build`, `go install`, and `<cli> --help`/`--version`, but there is no bundled script or installer to execute on its own. |
| Network access | 0 (none) | I found no code that downloads payloads or sends data to remote hosts; the only remote references are documentation links and an example `checkForUpdates()` placeholder. |
| Filesystem reach | 2 (moderate) | The references explicitly touch user and system locations such as `~/.myclirc`, `~/.config/mycli/config.yml`, `~/.mycli/plugins/`, and `/etc/mycli/config.yml`, so a resulting CLI may read or write outside the project. |
| Secrets & credentials | 2 (moderate) | The examples include password prompts and sensitive state like `credentials.json # Sensitive data (600 perms)`, so this skill can lead to secret-handling code. |
| Privilege & persistence | 2 (moderate) | It normalizes elevated or system-wide operations via `/etc/mycli/...`, `sudo mycli config set key value`, and global installs like `go install $(LDFLAGS)`. |
| Instruction hijack surface | 1 (low) | The workflow and UX patterns encourage bypassing prompts with `--force` / `Skip confirmation prompts` and using non-interactive fallbacks in CI, which reduces human confirmation checks. |
| Irreversible actions | 1 (low) | The examples cover potentially consequential CLI actions such as `deploy`, `install`, and `remove`, but the skill itself does not instruct unattended external side effects like posting or paying. |
| Transparency | 0 (none) | All provided files are plain Markdown and readable example code; there are no binaries, minified blobs, or fetched installers. |
Before installing
- Read `references/design-patterns.md` for every path that points to `~/.` or `/etc`.
- Check whether you want any generated CLI to handle passwords or write `credentials.json`-style state files.
- If you adopt the examples, test them in a disposable account with `CI=true` and no secrets first.
Rated 2026-10-20 by an automated review of 6 files from the skill's repository.
Source
- Repository
- Jeffallan/claude-skills (all skills from this repository)
- Path
- skills/cli-developer/SKILL.md
- Branch
- main
- Updated
- 2026-09-19
Related skills
- cad — Create/edit parametric CAD models, organize CAD projects, export STEP/STL/3MF/GLB files, resolve prompt references, and measure geometry with cadgen.
- context7-cli — Use the ctx7 CLI to fetch library documentation, manage AI coding skills, and configure Context7 MCP.
- dev-browser — Browser automation with persistent named pages via the dev-browser CLI.
- dxf — Generate, regenerate, and validate 2D DXF drawings from Python build123d sources.
- smui
- cli-for-agents — Designs or reviews CLIs so coding agents can run them reliably: non-interactive flags, layered --help with examples, stdin/pipelines, fast actionable errors.