关于 sddesign
sddesign 将 ui-craft 命令串联为规格驱动的设计流程,从项目 brief 和令牌逐步推进到构建、收敛与最终检查。它会检查已有产物、逐步询问是否继续,并报告跳过步骤及其影响。
主要功能
- 01检查 brief 与令牌产物
- 02创建并保存界面规格
- 03串联构建与视觉收敛
- 04执行最终就绪检查
- 05报告跳过步骤及其影响
适用场景
- 01分阶段设计新界面
- 02在实现前记录界面规格
- 03检查就绪情况并追踪流程缺口
MCP 相关
流程可运行 `/finalize`;在 CI 选项中还提到了 MCP 工具 `score_ui`。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ educlopez/ ui-craft --skill sddesign安装后在 Claude Code 中输入/sddesign确认已加载。
详细介绍
背景: 此子技能是更广泛的 ui-craft 技能的一个视角。如果也安装了 ui-craft 技能,请先阅读其 SKILL.md,了解 Discovery + Anti-Slop + Craft Test,然后再应用以下特定视角。
为 $ARGUMENTS 运行规范驱动的设计流水线。加载 ui-craft 技能。
仅编排规则
此命令按顺序执行现有阶段命令。它不得重新实现或重复其中的任何逻辑。所有组合规则、线框图算法、工艺规则和收敛引擎都属于各阶段命令。此命令仅负责:
- 检测门槛(产物是否存在?)
- 提示选项(运行阶段 X 还是跳过?)
- 报告进度(检查清单)
- 诚实说明降级模式(跳过了什么及其代价)
如有疑问,请调用阶段命令,不要内联其步骤。
进度检查清单
在开始时打印此清单,并在每个门槛确定后更新:
[ ] brief [ ] tokens [ ] shape (spec) [ ] craft (build) [ ] converge [ ] ship
已完成/跳过且有产物时使用 [✓],当前门槛使用 [>],跳过且无产物(降级)时使用 [–]。
流水线门槛
门槛 1 — Brief
检查:.ui-craft/brief.md 是否存在?
如果存在: 将 brief 标记为 [✓]。说明 brief 第 §6 节中的已知约束以及无障碍/正确性底线适用于所有下游门槛;它们优先于 spec.md 中的任何组合选择。
如果不存在: 提示是否现在运行 /brief。
- 用户确认 → 运行
/brief。完成后,将brief标记为[✓]。 - 用户拒绝 → 将
brief标记为[–]。说明对下游的影响:“没有 brief → 工艺将采用技能默认值;组合设计不会以项目原则为依据。”
门槛 2 — Tokens
检查:是否存在令牌主干?(查找 CSS 变量 --color-*、--font-*、--accent-*、包含令牌的 Tailwind theme.extend,或令牌文件。)
如果存在: 将 tokens 标记为 [✓]。
如果不存在: 提示是否现在运行 /tokens。
- 用户确认 → 运行
/tokens。完成后,将tokens标记为[✓]。 - 用户拒绝 → 将
tokens标记为[–]。说明对下游的影响:“没有令牌主干 → 工艺将建立一套最精简的内联令牌集;它不会匹配现有系统。”
门槛 3 — Shape(规范)
现有界面保护: 运行 /shape 之前,检查 .ui-craft/spec.md 是否已包含此界面的 ## Surface: <name> 区块。如果包含,不要重新运行 shape 并盲目追加重复区块;应提示用户更新现有区块或跳过 shape(规范已存在)。
针对 $ARGUMENTS 中描述的界面运行 /shape。Shape 会生成完整的五步输出(内容清单、ASCII 布局、状态列表、待解问题)。
流水线中的持久化(默认): 在 /sddesign 流水线中,shape 的第 6 步规范持久化为默认行为,除非用户明确选择退出规范门槛,否则会自动确认。持久化会写入 .ui-craft/spec.md(或追加界面区块)。这正是此流水线的核心目的。
- 持久化完成 →
.ui-craft/spec.md已写入(或已追加界面区块)。将shape (spec)标记为[✓]。 - 用户明确选择不持久化 → 将
shape (spec, unsaved)标记为[–]。说明对下游的影响:“没有 spec.md → craft(构建)将依据 shape 打印的输出进行构建;验收标准不会被持久化。”
阶段 4 — Craft(构建)
运行 /craft <surface>,其中 <surface> 应与 $ARGUMENTS 中的描述相符。
/craft 会在构建前声明 Craft Read(references/craft-intent.md),包括界面类型、受众、主题/强调色、DESIGN_VARIANCE 和一项 标志性赌注。标志性赌注必须在此阶段内构建,不能推迟到收敛或润色阶段。如果规范章节指定了某种构图,Craft Read 必须与之保持一致。
/craft 会在构建前加载 .ui-craft/spec.md。如果已设置 [✓] shape (spec),则规范中选定的构图、组件清单、状态格和验收标准优先于配方默认值——规范中的每项验收标准都必须通过,Craft 才能报告完成。
如果是 [–] shape (spec, unsaved),Craft 将依据打印在终端中的形状输出进行构建。在清单中注明。
构建完成后,标记 [✓] craft (build)。
阶段 5 — 收敛
运行 ../skills/ui-craft/references/loops.md 中的 visual-anti-slop 预设。此过程会迭代执行——评估 → 修复一项 → 重新评估——直至零关键问题的门槛通过,或预算耗尽(默认预算:3 次迭代)。
- 如果循环门槛通过(没有关键问题)→ 标记
[✓] converge。 - 如果预算耗尽但仍有未解决的问题 → 标记
[>] converge (open findings)。列出循环报告中的未解决问题。
阶段 6 — 发布
运行 /finalize 并获取结论。Finalize 会根据 10 项收尾标准和 brief/token 门槛报告 READY / NOT READY / BLOCKED。
打印最终结论和完整的已解决清单:
[✓] brief [✓] tokens [✓] shape (spec) [✓] craft (build) [✓] converge [✓] ship
诚实说明降级模式。 如果任何阶段标记为 [–],请在发布结论中列出,并说明其后续影响:
"跳过的阶段:tokens (skipped) → token 主干未经验证;shape (spec, unsaved) → 验收标准未持久化。这些缺口会降低发布结论的可信度。"
优先级
Brief §6 中的已知约束以及无障碍/正确性底线,在每个阶段都优先于 spec.md 的构图选择。如果某项约束与 spec.md 中的决策冲突,以约束为准——更新规范章节以反映最终选择,并注明 brief §6 的引用。
下一步: 发布。流水线已完成第 1 至 3 阶段;.ui-craft/spec.md 是下一次会话的记录。