CLI Creator
Build a composable CLI for Codex from API docs, an OpenAPI spec, existing curl...
Install
npx skills add openai/skills --skill cli-creator -g -a claude-code -y- Repository
- openai/skills28.4k
- Category
- Writing
- Updated
- 7d ago
- License
- See repository
- Context cost
- Mediumabout 2,532 tokens
- Runs scripts
- No, instructions only
What it does
Build a composable CLI for Codex from API docs, an OpenAPI spec, existing curl examples, an SDK, a web app, an admin tool, or a local script. Use when the user wants Codex to create a command-line tool that can run from any repo, expose composable read/write commands, return stable JSON, manage auth, and pair with a companion skill.
CLI Creator
Create a real CLI that future Codex threads can run by command name from any working directory.
This skill is for durable tools, not one-off scripts. If a short script in the current repo solves the task, write the script there instead.
Start
Name the target tool, its source, and the first real jobs it should do:
- Source: API docs, OpenAPI JSON, SDK docs, curl examples, browser app, existing internal script, article, or working shell history.
- Jobs: literal reads/writes such as
list drafts,download failed job logs,search messages,upload media,read queue schedule. - Install name: a short binary name such as
ci-logs,slack-cli,sentry-cli, orbuildkite-logs.
Prefer a new folder under ~/code/clis/<tool-name> when the user wants a personal tool and has not named a repo.
Before scaffolding, check whether the proposed command already exists:
command -v <tool-name> || true
If it exists, choose a clearer install name or ask the user.
Choose the Runtime
Before choosing, inspect the user's machine and source material:
command -v cargo rustc node pnpm npm python3 uv || true
Then choose the least surprising toolchain:
- Default to Rust for a durable CLI Codex should run from any repo: one fast binary, strong argument parsing, good JSON handling, easy copy/install into
~/.local/bin. - Use TypeScript/Node when the official SDK, auth helper, browser automation library, or existing repo tooling is the reason the CLI can be better.
- Use Python when the source is data science, local file transforms, notebooks, SQLite/CSV/JSON analysis, or Python-heavy admin tooling that can still be installed as a durable command.
Do not pick a language that adds setup friction unless it materially improves the CLI. If the best language is not installed, either install the missing toolchain with the user's approval or choose the next-best installed option.
