关于 clack
clack 是一项使用 Clack 构建稳健、易用命令行流程的技能,提供实现指引、输入验证与取消处理模式,并附带 JS 和 TS 起步模板。
主要功能
- 01@clack/prompts 与 @clack/core 使用指引
- 02提示输入验证与取消处理模式
- 03用户体验和可靠性建议
- 04JS 与 TS 命令行脚手架模板
适用场景
- 01构建交互式命令行流程
- 02为提示流程添加安全取消处理
- 03生成基础或带 spinner 的 CLI
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ alexeira/ skills --skill clack安装后在 Claude Code 中输入/clack确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/templates/basic-cli.mjsbasic-cli.tsspinner-cli.mjsspinner-cli.tsreferences/best-practices.mdcore-api.mdexamples.mdprompts-api.mdsources.mdscripts/scaffold-clack.sh详细介绍
Clack CLI 技能
使用 Clack 实现稳健、易用的 CLI 流程。
按此工作流操作
- 确定实现目标。
- 对于大多数交互式 CLI 流程,使用
@clack/prompts。 - 对于低级/自定义提示词渲染和生命周期控制,使用
@clack/core。
- 仅加载相关参考资料。
- 以提示词为中心的工作流:
references/prompts-api.md - 低级/核心扩展工作:
references/core-api.md - UX 和可靠性审查:
references/best-practices.md - 模式选择和脚手架:
references/examples.md - 源链接和时效性检查:
references/sources.md - 如果用户快速需要一个起始文件,运行
scripts/scaffold-clack.sh。
- 先构建最小可运行骨架。
- 包含导入、
intro()、流程逻辑和outro()。 - 为用户的运行时添加安装/运行命令。
- 添加提示词,并明确处理验证和取消路径。
- 验证每个可能不符合约束的面向用户字段。
- 在每个提示词结果之后使用
isCancel(...)和cancel(...)处理取消。
- 有目的地添加 UX 辅助函数。
- 使用
log.*提供结构化反馈。 - 对耗时的单个操作使用
spinner()。 - 使用
note()展示摘要和后续操作。
- 对于异步多步骤工作,使用面向任务的模式。
- 优先提供清晰的状态更新和简洁的任务标题。
- 保持成功/错误消息简短且可操作。
- 以可用于生产环境的答复收尾。
- 除非用户另有要求,否则提供完整可运行代码(而非代码片段)。
- 包含快速验证步骤。
随附资源
-
scripts/scaffold-clack.sh -
使用精选模板生成 JS 或 TS 起始 CLI。
-
用法:
bash scripts/scaffold-clack.sh <target-dir> [basic|spinner] [js|ts] [auto|npm|pnpm|yarn|bun] -
assets/templates/basic-cli.mjs -
基础提示词流程,包含验证、取消处理和摘要说明。
-
assets/templates/spinner-cli.mjs -
提示词流程,以及适用于较长操作的旋转指示器执行模式。
-
assets/templates/basic-cli.ts -
基础提示词流程的 TypeScript 版本。
-
assets/templates/spinner-cli.ts -
旋转指示器流程的 TypeScript 版本。
不可妥协的规则
- 始终包含可安全处理取消的路径。
- 切勿假设输入有效;应进行验证,并就如何修正问题提供即时说明。
- 状态和错误消息的语气应保持一致。
- 保持提示词树浅显;将复杂流程拆分为分组步骤。
- 优先使用合理的默认值,以减少用户输入和错误。
时效性政策
- 将 Clack API 视为持续演进的内容。
- 使用
references/sources.md作为权威来源链接映射。 - 如果用户询问最新行为或特定版本的细节,定稿前应重新查阅官方文档。
- 如果无法访问网络,应明确说明这一限制,并仅使用此技能中有文档记录的 API。
评论
支持 Markdown