design-exploration

新功能设计探索流程。当用户有模糊想法要做新功能/新模块时使用。通过"需求收敛 → 技术调研 → ASCII 批量探索 → HTML 设计稿 → 全状态覆盖 → 需求总结"的结构化流程,从模糊想法产出可交付的设计参考文档,作为 PRD 阶段的输入。

467 stars

Best use case

design-exploration is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

新功能设计探索流程。当用户有模糊想法要做新功能/新模块时使用。通过"需求收敛 → 技术调研 → ASCII 批量探索 → HTML 设计稿 → 全状态覆盖 → 需求总结"的结构化流程,从模糊想法产出可交付的设计参考文档,作为 PRD 阶段的输入。

Teams using design-exploration should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/design-exploration/SKILL.md --create-dirs "https://raw.githubusercontent.com/yunshu0909/yunshu_skillshub/main/design-exploration/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/design-exploration/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How design-exploration Compares

Feature / Agentdesign-explorationStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

新功能设计探索流程。当用户有模糊想法要做新功能/新模块时使用。通过"需求收敛 → 技术调研 → ASCII 批量探索 → HTML 设计稿 → 全状态覆盖 → 需求总结"的结构化流程,从模糊想法产出可交付的设计参考文档,作为 PRD 阶段的输入。

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

用户有一个模糊的想法,想做一个新功能或新模块,但还没想清楚具体要什么。通过结构化的探索流程,帮助用户从模糊想法收敛到明确的设计方案,并产出完整的设计参考文档。

## 核心原则

- **不猜,多问** — 没确认范围不出图,没设计规范就问,拿不准就让用户选
- **ASCII 先行** — 先对齐信息结构和布局逻辑,逻辑对了再投入 HTML
- **一次多方案** — 批量出 5-8 个方案让用户选方向,不要一个个试
- **全状态是必须的** — 正常态只是起点,异常态、边界情况、交互反馈必须穷举
- **决策要落纸** — 对话中确认的每个决策都写进需求总结,不能只存在对话上下文里

## 输出物

每次探索产出 **3 个文件**,归档到 `设计/v{版本号}-{模块名}/` 目录下:

| 文件 | 内容 | 用途 |
|------|------|------|
| `需求总结.md` | 背景、目标、功能范围、关键决策、技术约束 | PRD 阶段的输入,讲清楚"为什么做、做什么" |
| `{模块名}-设计稿.html` | 主界面 HTML mockup | PRD + 前端开发的视觉参考 |
| `{模块名}-全状态设计参考.html` | 所有页面状态、Toast、边界情况、交互规则表 | 前端开发直接对照实现 |

版本号和模块名由用户决定,必须问用户确认。

## 工作流程

### 第 1 步:需求发散与收敛

用户说了模糊想法后,主动追问:

- **痛点是什么** — 现在遇到了什么问题?为什么想做这个?
- **核心场景** — 最典型的使用场景是什么?
- **边界在哪** — 这个版本要做什么?不做什么?

整理成结构化的需求共识:

```
做什么:
- xxx
- xxx

不做什么:
- xxx

载体:独立应用 / 已有应用的新 Tab / 插件 / ...
```

**禁止**:用户说了一句话就开始出图。必须先对齐需求边界。

### 第 2 步:技术调研(按需)

**判断是否需要调研**:如果功能涉及外部数据(配置文件、API、第三方系统、文件格式),必须先调研技术约束。如果是纯 UI 功能不涉及外部依赖,跳过。

调研内容:
- 数据存储位置和格式
- 现有系统的接口和限制
- 技术可行性验证

调研结果会直接影响设计方案(比如发现两个工具配置格式不同,决定了界面需要展示"类型"列)。

**禁止**:跳过调研直接画图,画出来发现技术上实现不了。

### 第 3 步:ASCII 批量探索

一次出 **5-8 个**不同思路的 ASCII 布局方案,每个方案包含:
- ASCII 布局图
- 一句话说明核心思路

```
方案 A:卡片列表 + 工具勾选
┌──────────────────────────────────┐
│ ┌────────────────────────────┐   │
│ │ pencil       [✓] CC [✓] CX│   │
│ └────────────────────────────┘   │
└──────────────────────────────────┘

方案 B:表格视图,一行一个
┌──────────────────────────────────┐
│ 名称       类型   CC    CX      │
│ pencil     stdio  [✓]   [✓]    │
│ github     http   [✓]   [✓]    │
└──────────────────────────────────┘
```

用户可以:
- 直接选一个方案
- 组合多个方案的元素("B 的结构 + E 的开关风格")
- 全部否掉,补充新的方向

**禁止**:
- 只出 1-2 个方案(用户没有选择空间)
- 超过 10 个方案(选择困难)
- 方案之间差异太小(换汤不换药)

### 第 4 步:确认设计风格

问用户以下问题:

1. **有没有已有的设计规范?**(如 design-system.html)
   - 有 → 读取并严格遵循 design tokens(颜色、字号、圆角、间距)
   - 没有 → 问风格偏好,或直接出图让用户挑感觉

2. **有没有要参考的已有页面?**(外框、导航结构)
   - 有 → 读取参考页面,对齐外框样式(如 mac-window、sidebar 布局)
   - 没有 → 按独立页面处理

3. **载体形式?**
   - 已有应用的新页面/Tab → 必须对齐已有页面的外框和导航
   - 独立应用 → 自定义外框
   - 其他 → 问清楚

**禁止**:没问就默认使用某个设计规范。

### 第 5 步:HTML 设计稿

基于选定方案 + 确认的设计风格,输出 HTML mockup:

- 使用真实数据填充(不用 lorem ipsum)
- 如有设计规范,严格使用 CSS 变量 / design tokens
- 如有参考页面,外框结构保持一致

输出后让用户浏览器打开查看,根据反馈微调。微调是具体的小修改(间距、配色、文案),直接执行,不需要重新走方案选择。

### 第 6 步:全状态覆盖

产出一个完整的全状态设计参考 HTML,固定包含以下内容:

#### 必须覆盖的页面状态

| 状态 | 说明 |
|------|------|
| 正常态 | 有数据的标准展示 |
| 加载态 | 数据加载中(spinner + 禁用交互) |
| 空态 | 没有数据,引导文案 |
| 搜索/筛选无结果 | 有数据但当前条件无匹配 |
| 错误态 | 数据加载失败、文件不存在、格式错误等(按场景拆多个) |
| 部分可用 | 部分数据源可用、部分失败 |

#### 必须覆盖的交互反馈

- **Toast 汇总**:所有操作的成功/失败/警告 Toast,包含具体文案
- Toast 规则:位置、时长(成功短、错误长)、同时最多显示几条

#### 必须覆盖的边界情况

- 长文本截断(名称、路径、URL)
- 大量数据滚动
- 其他根据具体场景补充

#### 必须包含的交互行为规则表

表格格式,列定义:

| 触发 | 用户操作 | 系统行为 | 反馈 |
|------|---------|---------|------|
| 用户/系统/异常 | 具体操作 | 详细的系统处理步骤 | Toast/状态变化/界面更新 |

覆盖所有用户操作和系统行为的完整映射,前端开发直接对照实现。

#### 文档结构

- 顶部:标题、版本、日期
- 目录:锚点跳转
- 每个状态一个 section:标签 + 标题 + 说明 + 预览截面 + 标注
- 底部:交互行为规则表

**禁止**:只做正常态就结束。全状态覆盖是本流程的核心交付物。

### 第 7 步:需求总结 + 归档

按模板(`templates/需求总结-模板.md`)生成需求总结文档。

将对话中确认的所有决策提取出来,写入"关键决策"部分。这些决策往往散落在对话各处,必须主动收集整理,不能遗漏。

三个文件归档到 `设计/v{版本号}-{模块名}/` 目录下。版本号和模块名问用户确认。

```
设计/v0.11-MCP管理/
├── 需求总结.md
├── mcp-manager-设计稿.html
└── mcp-manager-全状态设计参考.html
```

## 过程中的沟通规范

### 必须问用户的

| 时机 | 问什么 |
|------|--------|
| 第 1 步 | 痛点、场景、边界(做什么/不做什么) |
| 第 3 步 | 选哪个方案 |
| 第 4 步 | 有无设计规范、参考页面、载体形式 |
| 第 5 步 | mockup 效果是否满意,有无微调 |
| 第 6 步 | 全状态覆盖有无遗漏的场景 |
| 第 7 步 | 版本号和模块名 |

### 不需要问用户的

| 事项 | 直接做 |
|------|--------|
| 全状态要不要覆盖 | 必须覆盖,不用问 |
| 交互规则表要不要写 | 必须写,不用问 |
| 需求总结要不要输出 | 必须输出,不用问 |
| Toast 文案 | 先给出建议,用户不满意再调 |

### AI 绝不应该做的

- 用户说了一句模糊想法就开始出 HTML
- 只出一个 ASCII 方案
- 只做正常态不管异常态
- 跳过技术调研直接画图(如果涉及外部数据)
- 把决策留在对话里不写进需求总结
- 自己编版本号和模块名
- 没问就默认使用某个设计规范

Related Skills

vision-exploration

467
from yunshu0909/yunshu_skillshub

终局愿景探索。用户抛出一个模糊 idea,AI 主导引导,通过"追问价值 → 挖掘动机 → 推导演化 → 画终局"的链路,帮用户看到未来最远的可能性。不设限,不收敛,纯发散。

ui-design

467
from yunshu0909/yunshu_skillshub

UI 样式修改协作流程。当用户要求修改页面样式、调整布局、改 UI 细节时使用。通过"截图定位 → 现状描述 → 方案选择 → 改代码 → 微调"的结构化流程,减少沟通偏差,避免浪费 token。

writing-assistant

467
from yunshu0909/yunshu_skillshub

写作助手 - 当用户说"我想写XX"、"帮我梳理选题"、"怎么形成框架"、"给我组织思路"时触发。根据观点清晰度自动选择最优路线:清晰观点走"框架→内容",模糊观点走"挖掘→选题→框架→内容"。

weekly-report

467
from yunshu0909/yunshu_skillshub

帮助用户梳理周报,按照完整逻辑展示工作价值和边界。当用户说"写周报"、"周报"、"梳理周报"、"整理工作"时触发。

version-planner

467
from yunshu0909/yunshu_skillshub

帮助用户把产品需求拆解成渐进式版本规划。当用户说"拆版本"、"版本规划"、"MVP怎么做"、"分阶段实现"时触发。

thought-mining

467
from yunshu0909/yunshu_skillshub

思维挖掘助手 - 通过对话帮助用户把脑子里的零散想法倒出来、记录下来、整理成文章。覆盖从思维挖掘到成稿的完整流程。

thinking-partner

467
from yunshu0909/yunshu_skillshub

思考拍档 - 陪你从混沌中理清局面,锁定核心问题,拆解卡点,共创解法,落地行动

req-change-workflow

467
from yunshu0909/yunshu_skillshub

Standardize requirement/feature changes in an existing codebase (especially Chrome extensions) by turning "改需求/需求变更/调整交互/改功能/重构流程" into a repeatable loop: clarify acceptance criteria, confirm current behavior from code, assess impact/risk, design the new logic, implement with small diffs, run a fixed regression checklist, and update docs/decision log. Use when the user feels the change process is chaotic, when edits tend to sprawl across files, or when changes touch manifest/service worker/OAuth/storage/UI and need reliable verification + rollback planning.

project-map-builder

467
from yunshu0909/yunshu_skillshub

生成或更新用户指定文件夹的 PROJECT_MAP.md。适用于用户要求目录地图/项目地图/代码仓概览/文件夹级说明/更新已有 PROJECT_MAP.md 的场景。必须先询问要扫描的文件夹范围,禁止默认全仓库扫描;支持单目录或多目录(合并或分别生成)。

product-naming

467
from yunshu0909/yunshu_skillshub

产品命名协作流程。当用户想给产品/项目/模块起名字时使用。通过"灵魂挖掘 → 约束提取 → 路线发散 → 方向选择 → 竞品验证 → 最终确认"的结构化流程,从模糊想法产出有品牌生命力的名字,避免拍脑袋起名。

priority-judge

467
from yunshu0909/yunshu_skillshub

优先级判断助手 - 帮用户从混沌的待办事项中判断优先级,确定现在该做什么。当用户说"我有很多事要做"、"帮我理一下"、"排个优先级"、"今天该做什么"时触发。

prd-doc-writer

467
from yunshu0909/yunshu_skillshub

Write and iteratively refine PRD/需求文档 with a story-driven structure and strict staged confirmations (journey map alignment, per-story single-point confirmation, final generation gate). Use when the user asks to 梳理/撰写/完善 PRD、需求文档、用户故事、验收标准,并希望用 ASCII 线框图与 Mermaid(流程图/状态图/时序图)来减少歧义、共同完成文档。