ワンクリックで
design-interactive-preview
交互式视觉对比——在浏览器中并排展示设计方向。当需要对比多个设计方向,或提到"预览""mockup""设计对比""preview"
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
交互式视觉对比——在浏览器中并排展示设计方向。当需要对比多个设计方向,或提到"预览""mockup""设计对比""preview"
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
结构化脑暴——发散探索 + 收敛评估。当想法模糊、面临开放性问题或需要方案对比,或提到"脑暴""想法""方案对比""怎么办"
恢复保存的工作上下文。当新 session 需要继续之前的工作,或提到"恢复""restore""继续上次"
保存工作上下文。当需要保存当前工作状态供后续 session 恢复,或提到"保存""save""checkpoint""挂起"
架构决策记录(ADR)。当面临技术选型、架构决策、方案取舍需要记录,或提到"ADR""决策记录""为什么这样做"
发布或导出检查 → Go/No-Go → 归档。当审查通过后需要上线或交付最终产物,或提到"发布""上线""ship""Go/No-Go"
合并 PR → 等待 CI → 验证生产。当 PR 已创建需要合并到主分支并验证部署,或提到"合并""merge""PR""land"
| name | design-interactive-preview |
| description | 交互式视觉对比——在浏览器中并排展示设计方向。当需要对比多个设计方向,或提到"预览""mockup""设计对比""preview" |
02-design.md 包含 2+ 个 Design Alternatives,且 artifact_type 为 software(有 UI)、visual 或 deck02-design.md 已精炼为选定方向,design-selection.json 已写入design-workflow-design Step 5 进行最终批准scripts/design-preview.mjs + references/design-best-practices.md + references/design-inspiration-catalog.md + 项目根 DESIGN.md(如果存在)design-workflow-design Step 5 → 最终批准后进入 build-content-writing 或 build-content-layoutartifact_type 为 document / article(文本产物,视觉对比价值低)software 纯后端、纯脚本、纯迁移、纯 CI02-design.md 只有一个设计方向(没有 alternatives)| artifact_type | Round 1 维度 | Round 2+ 维度 |
|---|---|---|
software + UI | 整体布局 + 交互模式 | 布局细化 / 配色 / 字体 / 组件风格 / 状态流转 |
visual | 构图 + 色彩方向 | 色板 / 层级 / 留白 / 视觉元素 |
deck | 叙事结构 + 页面节奏 | 单页排版 / 视觉风格 / 图表方式 |
读取 02-design.md 中的 ## Design Alternatives 区段:
artifact_type 确定对比维度和轮次生成 design-comparison.html 到 feature 目录。页面要求:
结构:
┌─────────────────────────────────────────┐
│ Round Indicator: Step 1 of N │
│ Dimension: [当前对比维度标签] │
├───────────┬───────────┬─────────────────┤
│ Alt A │ Alt B │ Alt C (可选) │
│ ┌───────┐ │ ┌───────┐ │ ┌─────────────┐ │
│ │视觉示意│ │ │视觉示意│ │ │视觉示意 │ │
│ └───────┘ │ └───────┘ │ └─────────────┘ │
│ 名称 │ 名称 │ 名称 │
│ 核心差异 │ 核心差异 │ 核心差异 │
│ 设计要点 │ 设计要点 │ 设计要点 │
│ 优势 │ 优势 │ 优势 │
│ 劣势 │ 劣势 │ 劣势 │
│ [Select] │ [Select] │ [Select] │
├───────────┴───────────┴─────────────────┤
│ Already decided: [Round 1 → Alt X] │
└─────────────────────────────────────────┘
技术要求:
-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif)prefers-color-scheme)交互逻辑(内联 JS):
POST /api/selection 发送 { round, dimension, selected, alternatives }视觉示意(CSS/SVG):
software + UI: 用 CSS Grid/Flexbox 模拟线框图(header/nav/main/sidebar/footer 区域用色块表示)visual: 用内联 SVG 或 CSS 渐变表示构图和色彩方向deck: 用缩略卡片序列表示页面节奏node scripts/design-preview.mjs <feature-dir> &
DESIGN_PREVIEW_PORT=<port> 输出获取端口号优先级:
open http://localhost:<port> (macOS)navigate_page两种模式(可并用):
A. 文件轮询模式:
design-selection.jsonselected 字段 → 选择完成B. CLI 确认模式:
design-selection.json(如果存在)POST /api/next-round → 回到 Step 202-design.md### Alternatives Considered,附选择理由### Selection Record 中记录每轮选择kill <server-pid>
或 pkill -f design-preview.mjs
| 环境 | 降级方案 |
|---|---|
| Node.js 不可用 | 用 MCP 浏览器工具直接打开 file:// URL,evaluate_script 读取 window.__selection |
| MCP 浏览器不可用(Codex CLI) | CLI 文本对比:AskUserQuestion + preview 字段渲染 ASCII 对比 |
| 两者都不可用 | 纯文本 AskUserQuestion 逐项对比 |
降级时在 02-design.md 的 Selection Record 中注明:
- Preview mode: degraded (CLI text comparison)
- Reason: Node.js unavailable / browser unavailable
视觉对比页面的生成遵循 references/design-best-practices.md 的 4+1 层来源模型:
scripts/design-preview.mjs 是项目中唯一的 JS 文件,使用 Node.js 内置模块——对比页面应保持同等简洁度/plan——视觉对比的选择必须回写 02-design.md,不能替代批准流程artifact_type 决定对比维度——document/article 不适用视觉对比,这已在"何时不使用"中明确| 说辞 | 现实 | 后果 |
|---|---|---|
| "浏览器里选了就算批准了" | 错。视觉对比只是方向选择,Phase 5 还要确认证据质量和完整性。 | 跳过证据检查 → 选了一个视觉好看但缺乏证据支撑的方向 → 实施时返工 |
| "不用多轮,一轮就够了" | 可以。用户可在任意轮次说 "就这个了" 跳过后续对比。 | 无后果(这是正确的灵活选择) |
| "HTML 太简陋了不好看" | 对比页面的目的是让用户区分方向差异,不是产出最终 UI。线框级足够。 | 过度打磨对比页面 → 延迟决策 2-3 小时;对比页面不是最终产物 |
| "直接在终端里看就行了" | 对文本产物可以。对 UI/visual/deck,视觉对比比文字描述效率高一个数量级。 | 文字描述方向差异 → 用户误解 → 选错方向 → 实施后重新设计耗时 ×5 |
design-selection.json 未写入| 验证项 | 失败表现 | 处理方式 |
|---|---|---|
| HTTP 服务启动失败 | 端口无法获取或服务无法启动 | 走降级路径:MCP 浏览器打开 file:// URL 或 CLI 文本对比 |
| HTML 生成失败 | design-comparison.html 未生成或渲染错误 | 降级到 CLI 文本对比;在 Selection Record 中注明降级原因 |
| design-selection.json 未写入 | 用户选择后文件未更新 | 检查 POST 路由是否正常;降级到 CLI 确认模式 |
| 证据链断裂 | 选定方案的设计决策无法追溯到 Adopt 列表 | 回到 design-workflow-design 补充证据;不批准无证据的方向 |
| 多轮对比超过 5 轮 | 对比陷入循环 | 强制停止;当前最优方向作为选定方案,记录停止原因 |
Round 1: 整体布局对比 → 用户选 Alt B (侧栏布局)
Round 2: 侧栏布局配色对比 → 用户选 "就这个了" (深色主题)
02-design.md 更新: Alt B 提升为主设计,Alt A 移入 Alternatives Considered
Selection Record: 每轮选择 + 降级模式(如有)
用户在浏览器选了 Alt B → design-selection.json 未写入
02-design.md 未更新 → 选定方案无证据链
直接进入 build → 没有经过 design-workflow-design 批准
交互式视觉对比完成:
对比轮次: [N] 轮
选择结果:
Round 1: [维度] → 选中 [Alt X]
Round 2: [维度] → 选中 [Alt Y] / 用户说"就这个了"
02-design.md 更新:
- 选定方向已提升为主设计: [是/否]
- 未选方案已移入 Alternatives Considered: [是/否]
- Selection Record 已写入: [是/否]
- 证据链完整(每决策 → Adopt 来源): [是/否]
降级信息:
- Preview mode: [full / degraded]
- 降级原因: [无 / Node.js unavailable / browser unavailable]
服务状态: 已关闭
design-comparison.html 已生成design-selection.json 在选择后写入02-design.md 已精炼为选定方向