跳到正文
cccskills
免费在 GitHub 公开

cli-copy-review

Dev-only review of user-facing CLI interface copy in `src/cli/tui/*.js`, `src/cli/*.js` error paths, and `bin/cli.js` help/usage text. Surfaces three failure modes — copy/behavior mismatch, jargon, missing next-action — as a punch list the maintainer addresses before `/grant-commit`. Read-only; no writes to source. Conditionally seeded by `/triage` between `/memory-sync` and `/grant-commit` when the request will touch CLI surfaces.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md7.1 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

<!-- DEV-ONLY SKILL — this file lives in `.claude/skills/cli-copy-review/` of the baseline repository for the maintainer's own workflow. It is excluded from the shipped template by `scripts/build-template.sh` Stage 1.5 (no `owner: baseline` frontmatter → pruned from `obj/template/`). End-user projects never see this skill. -->

/cli-copy-review — review user-facing CLI copy before shipping

You are reviewing the user-facing text strings in the baseline's CLI for three failure modes the maintainer wants caught before each release:

  1. Copy/behavior mismatch — the string promises behavior the code does not perform.
  2. Jargon — internal terminology leaking into end-user text.
  3. Missing next-action — the string reports a problem or partial result without telling the user how to address it.

This skill is a quality gate, not a phase. It sits between /memory-sync and /grant-commit when the workflow has been seeded with a Run /cli-copy-review for <slug> task by /triage. It is read-only: it surfaces findings; the maintainer addresses them in subsequent conversation turns and re-runs the skill until clean.

When to use

  • The workflow's task list contains Run /cli-copy-review for <slug> (seeded by /triage because the request will touch user-facing CLI surfaces).
  • The maintainer types /cli-copy-review ad hoc before shipping a release.

Inputs

Capture user-facing strings from these source files:

  • src/cli/tui/*.js — clack-based prompts. Every string passed to prompts.intro, prompts.outro, prompts.log.*, prompts.cancel, and prompts.select (the message field plus each options[].label and options[].hint).
  • src/cli/*.js — domain-layer errors. Every string passed to Error(...) and similar constructors that propagates to stderr via the CLI's top-level error handler. Include strings emitted via console.error or process.stderr.write from non-TUI modules.
  • bin/cli.js — top-level argparse output, help/usage text, and error formatting.

Skip:

  • Strings inside .claude/hooks/, .claude/skills/, .claude/commands/, .claude/agents/ — baseline-internal text, not end-user CLI surface.
  • Internal logging not surfaced to the user (e.g., harness_continuation.log writes).
  • Test files under tests/.

Procedure

  1. Enumerate every user-facing string in the source files listed above. Record file path, line number, and the exact string content.

  2. For each string, evaluate the three failure modes:

    (a) Copy/behavior mismatch. Read the surrounding code and trace the actual control flow. Does the string accurately describe what happens next?

    Concrete example we hit on 2026-05-20: src/cli/tui/upgrade.js:61 warned that tier-2/tier-3 customized files would "fall back to the binary prompt," but merge.js:dispatchCustomized in dry-run mode short-circuits at lines 144-147 before reaching resolveBase, so those files never appeared in collectUserChoices's conflict list — the promised prompt never fired and the files were silently kept-mine. Always trace from the string to the behavior to verify.

    (b) Jargon. Would a downstream user, reading this string fresh without ever having opened the source tree, understand what it means and what to do? Flag internal vocabulary that has no meaning outside this codebase: manifest_version, tier-2, tier-3, BASE-content, BASE recovery, INCOMING, stage_ts, oldManifest, newManifest, SKIP_CUSTOMIZED, etc. Suggest plain-language replacements where you can.

    (c) Missing next-action. When the string reports a problem, a partial result, or a state the user must act on, does it tell them what to do?

    Examples of strings missing a next-action:

    • "Applied 1; 3 skipped." (Skipped why? What should the user do about the 3?)
    • "BASE-content recovery unavailable." (How does the user enable it?)

    Compare with strings that already carry a next-action:

    • The pending semantic-merge stage warning ends with "Open Claude Code and run /upgrade-project to reconcile."
  3. Produce a punch list grouped by file, ordered by line number. Per-finding format:

    src/cli/tui/upgrade.js:61
      string: "legacy manifest_version: 1 detected; BASE-content recovery unavailable. Tier-2 / tier-3 files will fall back to the binary prompt."
      issues:
        - copy/behavior mismatch — promises binary prompt, but dispatchCustomized short-circuits in dry-run (merge.js:144-147) so the prompt never fires; tier-2/3 files are silently kept-mine
        - jargon — "manifest_version", "BASE-content recovery", "Tier-2 / tier-3" are all internal vocabulary
        - missing next-action — does not tell the user how to recover BASE for legacy installs
      suggested rewrite (illustrative; maintainer to confirm):
        "Your previous install predates version-tracked manifests, so smart three-way merges aren't possible for customized files. You'll be prompted yes/no per file instead. (To enable smart merges next time, add `baseline_version: \"<your-version>\"` to .claude/.baseline-manifest.json.)"
    
  4. Report verdict. Either CLEAN (no findings, workflow proceeds to /grant-commit) or NEEDS_REVIEW (N findings, maintainer addresses and re-runs).

Constraints

  • Read-only. This skill never edits source files. The maintainer reviews the punch list and edits in subsequent conversation turns. After edits, re-run /cli-copy-review until it reports CLEAN.
  • No archival artifacts. Findings live in the conversation only. The workflow's /document and /archive phases have already run by the time this gate fires; this review sits before /grant-commit as a quality check, not a phase that produces docs.
  • No commits. Findings drive maintainer edits; the maintainer commits via the normal /grant-commit + /commit flow once the review is CLEAN.
  • Scope is the shipped CLI surface only. Do NOT review strings inside hooks, skills, commands, or agents — those are baseline-internal text, not end-user CLI.
  • Suggested rewrites are illustrative. When the maintainer's intent is ambiguous, propose 1-2 alternatives rather than picking one arbitrarily. The maintainer decides; this skill surfaces.

Output

After running, summarize:

# /cli-copy-review — <slug>

Reviewed: <N> strings across <M> files.
Findings: <K> (copy/behavior mismatch: <a>, jargon: <b>, missing next-action: <c>).
Verdict: CLEAN | NEEDS_REVIEW

<per-finding details from step 3>

If CLEAN, tell the maintainer: "All user-facing CLI copy passes review. Proceed to /grant-commit."

If NEEDS_REVIEW, tell the maintainer: "<K> finding(s) to address. Edit the surfaced strings, then re-run /cli-copy-review to confirm clean."

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

archive

免费

Phase 10.5 — move the slug's workflow artifacts (intake, scout, research, spec, approvals, swarm state, security reports, rendered diagrams) to docs/archive/<YYYY-MM-DD>/<slug>/. Runs before /commit so the committed tree is clean of work-in-flight files. workflow.json stays live and gets archived as the first step of /commit.

中文简介正在准备中。当前显示原文说明。

friedbotstudio/baseline142026年10月13日 更新

Drift check between the baseline implementation on disk and the claims in `docs/init/seed.md` + cross-references in CLAUDE.md, README.md, and the rendered docs site. Verifies hook/agent/skill/command names + counts, settings.json wiring, project.json key presence, .mcp.json servers, vendored license files, and helper script presence. Exit 0 PASS / 1 FAIL — suitable for CI. Read-only; safe to invoke any time.

中文简介正在准备中。当前显示原文说明。

friedbotstudio/baseline142026年10月13日 更新

PM-mode brainstorm helper. Captures the requirement via Socratic dialogue before any entry phase (`/intake`, `/spec`, `/tdd`) drafts its artifact. Stage 0 skip-check, Stage 1 gap-analysis, Stage 2 probe-loop, Stage 3 confirm-and-persist. Output lives at `docs/brief/<slug>.md`. Never proposes solutions — Stage 2 dialogue discipline is structurally enforced via `discipline.mjs`.

中文简介正在准备中。当前显示原文说明。

friedbotstudio/baseline142026年10月13日 更新

brd

免费

Draft a Business Requirements Document (BRD) for cross-functional or stakeholder-heavy work that needs more structure than an intake. Use after `/intake` when the request spans multiple systems/teams, carries regulatory weight, or needs formal sign-off. Output lives at `docs/brd/<slug>.md`.

中文简介正在准备中。当前显示原文说明。

friedbotstudio/baseline142026年10月13日 更新

chore

免费

Workflow track for tasks that need no TDD — documentation edits, governance count bumps, vendored-skill content updates, configuration tweaks, formatting, typo fixes, dependency bumps where no project code changes. Skips `/scenario` and `/implement` (no failing test to drive) and runs the work directly. `archive`, `memory-sync`, `/grant-commit`, and `/commit` remain mandatory. `verify`, `simplify`, `integrate`, and `document` are conditional — required when the diff hits one of the listed triggers, optional otherwise. `verify` is skipped only when the diff is pure-docs/prose AND `project.json → test.kind` is `behavior` (absent/invalid `test.kind` → `structural` → verify runs). Chore is a stripped-down pipeline, not a bypass; never silently skip a conditional phase whose triggers apply.

中文简介正在准备中。当前显示原文说明。

friedbotstudio/baseline142026年10月13日 更新

Analyze a codebase and recommend Claude Code automations (hooks, subagents, skills, plugins, MCP servers). Use when user asks for automation recommendations, wants to optimize their Claude Code setup, mentions improving Claude Code workflows, asks how to first set up Claude Code for a project, or wants to know what Claude Code features they should use.

中文简介正在准备中。当前显示原文说明。

friedbotstudio/baseline142026年10月13日 更新

查看 friedbotstudio 的全部技能

报告此技能的问题