vercel/cli-ux
Use for packages/cli changes that affect command UX, prompts, help, output layout, progress, success, warnings, errors, JSON/stdout/stderr contracts, non-interactive/agent behavior, copy, or tests for those surfaces. Do not load for implementation-only refactors with unchanged CLI surface.
npx skills add https://github.com/vercel/vercel --skill cli-ux
Canonical front door for making the Vercel CLI consistent, sharp, scriptable, and agent-ready.
Act like a CLI product engineer, not a string polisher.
Resolve conflicts in this order:
AGENTS.md, this skill, shared helper contracts, and tests that encode intentional behavior.command-contracts.md.Do not let a lower source override a higher one. Shipped code proves what exists, not why it is correct.
--non-interactive, JSON/format flags, CI, and pipeable stdout.--yes, --force, typed confirmation, and --dry-run.10. Regression lock. Test the new path and lock out old prompts, stale terms, and broken machine contracts.
Load only what the task needs.
| Task surface | Load |
| -------------------------------- | ----------------------------------------------------------------------------------------------- |
| Any CLI UX/output change | references/core.md |
| User-facing copy or copy review | references/core.md + references/copy.md |
| Prompt/setup flow | copy.md → Prompts; core.md → Flow Design, Prompts, Setup + Mutation Flows |
| Output layout/progress | core.md → Output Surfaces, Layout, Glyphs + Color, Progress + Completion, Terminal Resilience |
| List/detail/resource views | core.md → List + Detail Commands, Layout, Streams + Formats, Machine Introspection |
| Streaming/follow/live commands | core.md → Streaming + Long-Running Commands, Streams + Formats, Terminal Resilience |
| Errors/permissions/rate limits | copy.md → Errors + Warnings; core.md → Errors, Warnings, Remote Work, Secrets |
| JSON/agent/non-interactive paths | core.md → Streams + Formats, Agent + Non-Interactive Output, Machine Introspection, Hardening |
| Help/flags/completions | copy.md → Help; core.md → Commands + Flags, Help + Discoverability, Compatibility |
| Destructive/production mutation | copy.md → Clear + Consistent, Prompts; core.md → Dangerous Actions, Remote Work, Secrets |
| vc link or setup/link work | references/command-contracts.md → Link Flow Contract |
| vc env add work | command-contracts.md → Env Add Flow Contract |
| vc, vc deploy, deploy output | command-contracts.md → Deploy Flow Contract |
| Tests, stale-copy sweeps, review | references/verification.md |
If you add durable guidance, put detailed wording rules in copy.md, keep only the cross-cutting copy baseline plus reusable flow/output rules in core.md, put command-only state machines in command-contracts.md, and put test/review gates in verification.md. Short safety rules may repeat when sections need to stand alone; the canonical reject/fix checklist stays in verification.md.
Every changed command should answer:
Top-tier commands:
Apply the canonical Review Checklist in references/verification.md. Keep the checklist there so safety rules do not drift.
Durable skill guidance needs verified current-source evidence, scope and exceptions, rationale tied to user or compatibility consequences, and a concrete bad/good example when the rule is mechanical. One shipped string, screenshot, or review comment is not enough to establish a universal rule.
A CLI UX change is not done until:
printAlignedLabel() with the shared 16-character label column and correct gutter: ▲ for production rows, ✓ for the primary completed phase, ! for warnings, blank for previews, progress, and secondary receipt rowsTake vercel/cli-ux from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.