cli-ux

작성자: vercel

패키지/CLI 변경사항 중 명령어 UX, 프롬프트, 도움말, 출력 레이아웃, 진행 상황, 성공, 경고, 오류, JSON/stdout/stderr 계약 등에 영향을 주는 경우 사용합니다.

npx skills add https://github.com/vercel/vercel --skill cli-ux

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

vercel의 다른 스킬

benchmark-sandbox
vercel
Vercel Sandbox에서 vercel-plugin eval 시나리오를 로컬 WezTerm 패널 대신 실행합니다. Claude Code와 플러그인이 사전 설치된 임시 마이크로VM을 프로비저닝합니다.
official
emil-design-eng
vercel
이 스킬은 Emil Kowalski의 UI 폴리시, 컴포넌트 디자인, 애니메이션 결정, 그리고 소프트웨어를 훌륭하게 만드는 보이지 않는 세부 사항에 대한 철학을 인코딩합니다.
official
vercel-react-best-practices
vercel
Vercel Engineering의 React 및 Next.js 성능 최적화 가이드라인입니다. 이 스킬은 React/Next.js 코드를 작성, 검토 또는 리팩토링할 때 사용해야 합니다.
official
vercel-react-best-practices
vercel
Vercel Engineering의 React 및 Next.js 성능 최적화 가이드라인입니다. 이 스킬은 React/Next.js 코드를 작성, 검토 또는 리팩토링할 때 사용해야 합니다.
official
write-guide
vercel
점진적인 예제를 통해 실제 사용 사례를 가르치는 기술 가이드를 제작합니다. 개념은 독자가 필요로 할 때만 소개됩니다.
official
release
vercel
Vercel-plugin 릴리스 — 게이트 실행, 버전 업, 아티팩트 생성, 커밋 및 푸시. "릴리스", "배포", "버전 업 및 푸시", "릴리스 생성" 요청 시 사용.
official
deepsec
vercel
dev3000에서 체크아웃한 Vercel 프로젝트에 대해 DeepSec을 실행합니다. 원클릭 DeepSec 설정, 프로젝트 컨텍스트 부트스트래핑, 제한된 1차 처리 등에 사용합니다.
official
backport-pr
vercel
병합된 Next.js 풀 리퀘스트를 canary에서 next-16-2와 같은 이전 릴리스 브랜치로 백포트합니다. 사용자가 백포트, 체리픽 또는 열기를 요청할 때 사용합니다…
official