New to Claude Skills? Learn how to install them →

vercel on GitHub

Vercel CLI UX

OfficialFree

Enhance command-line interface consistency and usability.

Get this skill

Free · Opens the source repo

What Vercel CLI UX does

The Vercel CLI UX skill is designed for developers and engineers looking to improve the user experience of command-line interfaces (CLI) associated with Vercel. This skill focuses on making the CLI consistent, scriptable, and ready for agent use by addressing various aspects of command UX, including prompts, help messages, output layout, and error handling. By acting as a CLI product engineer, users are guided to define user jobs, identify current friction points, and establish desired outcomes before making changes to the output.

The workflow for implementing changes is systematic and thorough. It begins with an outcome map that clarifies the user’s goals and the context of the changes. This is followed by a surface map that details the various elements of the command output, such as help messages, flags, and error outputs. The skill emphasizes the importance of understanding the flow of commands and ensuring that changes improve readability for humans while maintaining stability for machine outputs. This dual focus is critical for ensuring that both users and automated agents can interact with the CLI effectively.

The skill also includes a decision authority framework that helps resolve conflicts based on user goals and verified product behaviors. This structured approach ensures that changes are not only user-centered but also aligned with the existing system architecture and compatibility contracts. By adhering to these guidelines, developers can ensure that their modifications to the CLI enhance usability without introducing regressions or breaking existing functionality.

Overall, this skill is particularly suited for teams working on Vercel CLI projects that require a focus on user experience and agent compatibility. It provides a comprehensive set of guidelines and workflows that help maintain high-quality standards for command-line interactions, making it a valuable tool for any developer aiming to refine their CLI offerings.

When to use it

Use this skill when making material changes to the Vercel CLI that affect user experience, output formatting, or command behavior.

When not to use it

Avoid using this skill for implementation-only refactors that do not change the CLI surface or user experience.

What you can build with it

Improving Command Prompts

Use this skill to refine command prompts, ensuring they are clear and provide necessary context for user actions.

Standardizing Error Messages

Implement this skill to create consistent error messages that help users understand issues without confusion.

Enhancing Output Layout

Apply this skill when restructuring command outputs to improve readability and usability for both human users and automated agents.

How to install Vercel CLI UX

View source

1. Install with the skills CLI

npx skills add vercel/vercel/cli-ux --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by vercel

Vercel CLI UX

Canonical front door for making the Vercel CLI consistent, sharp, scriptable, and agent-ready.

Stance

Act like a CLI product engineer, not a string polisher.

  • For material changes, define the user job, current friction, desired outcome, success signal, and non-goals before choosing output.
  • Inspect the current command source and tests before judging.
  • Treat shipped output as evidence, not automatic precedent. Check it against this skill, product behavior, and compatibility contracts.
  • Fix the flow when the flow is wrong; copy-only edits are not enough.
  • Treat copy changes as symptoms. Inspect the surrounding flow, layout, resolved-state preview, side effects, and tests before stopping.
  • Keep human output readable and machine output stable.
  • Treat agents as first-class users and untrusted input sources.
  • Preserve compatibility unless the migration is explicit and tested.
  • Prefer existing command-family helpers and patterns.

Decision Authority

Resolve conflicts in this order:

  1. The user's explicit goal and constraints.
  2. Verified product and system truth: API behavior, permissions, billing, data models, reachable states, and compatibility contracts.
  3. Repository-canonical guidance: AGENTS.md, this skill, shared helper contracts, and tests that encode intentional behavior.
  4. Accepted command-specific contracts in command-contracts.md.
  5. Verified adjacent command-family patterns.
  6. General CLI heuristics.

Do not let a lower source override a higher one. Shipped code proves what exists, not why it is correct.

Workflow

  1. Outcome map. For material UX changes, name the user and job, current behavior, desired outcome, success signal, and non-goals.
  2. Surface map. List help, flags, prompts, progress, warnings, success, errors, tables/lists, detail views, JSON, and agent/non-interactive payloads.
  3. Structure map. For each touched line, identify its surface role, order, vertical rhythm, layout helper, gutter glyph or blank gutter, resolved-state preview, mutation preview, result block, and next action.
  4. Mode map. Trace TTY, non-TTY, --non-interactive, JSON/format flags, CI, and pipeable stdout.
  5. State map. Name team, project, cwd/root, environment, config files, framework/services, auth, remote resources, and defaults.
  6. Question audit. For every prompt, prove the value cannot be inferred and that a flag/arg/payload exists.
  7. Mutation audit. Identify local writes, remote mutations, polling, retries, idempotency, --yes, --force, typed confirmation, and --dry-run.
  8. Agent audit. Verify JSON/action payloads, bounded output, safe suggested commands, and no untrusted text in instructions.
  9. Transcript review. Read the before/after transcript for order, rhythm, duplicated concepts, alignment, and next action.
  10. Regression lock. Test the new path and lock out old prompts, stale terms, and broken machine contracts.

When to Load References

Load only what the task needs.

Task surfaceLoad
Any CLI UX/output changereferences/core.md
User-facing copy or copy reviewreferences/core.md + references/copy.md
Prompt/setup flowcopy.md → Prompts; core.md → Flow Design, Prompts, Setup + Mutation Flows
Output layout/progresscore.md → Output Surfaces, Layout, Glyphs + Color, Progress + Completion, Terminal Resilience
List/detail/resource viewscore.md → List + Detail Commands, Layout, Streams + Formats, Machine Introspection
Streaming/follow/live commandscore.md → Streaming + Long-Running Commands, Streams + Formats, Terminal Resilience
Errors/permissions/rate limitscopy.md → Errors + Warnings; core.md → Errors, Warnings, Remote Work, Secrets
JSON/agent/non-interactive pathscore.md → Streams + Formats, Agent + Non-Interactive Output, Machine Introspection, Hardening
Help/flags/completionscopy.md → Help; core.md → Commands + Flags, Help + Discoverability, Compatibility
Destructive/production mutationcopy.md → Clear + Consistent, Prompts; core.md → Dangerous Actions, Remote Work, Secrets
vc link or setup/link workreferences/command-contracts.md → Link Flow Contract
vc env add workcommand-contracts.md → Env Add Flow Contract
vc, vc deploy, deploy outputcommand-contracts.md → Deploy Flow Contract
Tests, stale-copy sweeps, reviewreferences/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.

Quality Bar

Every changed command should answer:

  • What target did the CLI resolve?
  • What will change?
  • What happened?
  • What can the user or agent do next?

Top-tier commands:

  • make the common path short
  • ask only what cannot be inferred
  • show detected state before asking for overrides
  • show resolved targets in structured output before confirmations
  • avoid restating values already visible in argv, prompts, or nearby rows
  • show user-facing local and remote side effects in result blocks after mutation
  • use gutter glyphs only for semantic state, not decoration
  • use one concept per prompt
  • support flags or payloads for every prompt path
  • behave predictably in TTY, CI, and agent contexts
  • expose stable machine-readable contracts for scripted use
  • avoid duplicate remote mutations on retry
  • make no-op and already-done states explicit
  • end with a completed result or exact next command

Review Gates

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.

Minimum Done State

A CLI UX change is not done until:

  • the before/after transcript is easier to scan
  • copy changes review every user-facing string in the supplied command surface and directly coupled states, not only the edited line
  • prompt/result copy changes also checked layout, vertical rhythm, order, and surrounding flow
  • resolved target and planned mutation are visible before risky work
  • inferred resource confirmations show the resolved target before asking
  • mutation results show durable remote resources and user-actionable local artifacts changed
  • aligned rows use 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 rows
  • every prompt has a flag, argument, or machine-readable action path
  • old vague prompts/output are locked out by tests
  • JSON/agent output remains valid, bounded, and stdout-clean
  • focused tests pass, or unrelated failures are named with evidence
  • changes to this skill are checked against at least 2 command families with different surfaces

Frequently asked questions about Vercel CLI UX

Similar skills