skills/yunshu0909/design-exploration/SKILL.md
新功能设计探索流程。当用户有模糊想法要做新功能/新模块时使用。通过"需求收敛 → 技术调研 → ASCII 批量探索 → HTML 设计稿 → 全状态覆盖 → 需求总结"的结构化流程,从模糊想法产出可交付的设计参考文档,作为 PRD 阶段的输入。
npx skillsauth add aiskillstore/marketplace design-explorationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
用户有一个模糊的想法,想做一个新功能或新模块,但还没想清楚具体要什么。通过结构化的探索流程,帮助用户从模糊想法收敛到明确的设计方案,并产出完整的设计参考文档。
每次探索产出 3 个文件,归档到 设计/v{版本号}-{模块名}/ 目录下:
| 文件 | 内容 | 用途 |
|------|------|------|
| 需求总结.md | 背景、目标、功能范围、关键决策、技术约束 | PRD 阶段的输入,讲清楚"为什么做、做什么" |
| {模块名}-设计稿.html | 主界面 HTML mockup | PRD + 前端开发的视觉参考 |
| {模块名}-全状态设计参考.html | 所有页面状态、Toast、边界情况、交互规则表 | 前端开发直接对照实现 |
版本号和模块名由用户决定,必须问用户确认。
用户说了模糊想法后,主动追问:
整理成结构化的需求共识:
做什么:
- xxx
- xxx
不做什么:
- xxx
载体:独立应用 / 已有应用的新 Tab / 插件 / ...
禁止:用户说了一句话就开始出图。必须先对齐需求边界。
判断是否需要调研:如果功能涉及外部数据(配置文件、API、第三方系统、文件格式),必须先调研技术约束。如果是纯 UI 功能不涉及外部依赖,跳过。
调研内容:
调研结果会直接影响设计方案(比如发现两个工具配置格式不同,决定了界面需要展示"类型"列)。
禁止:跳过调研直接画图,画出来发现技术上实现不了。
一次出 5-8 个不同思路的 ASCII 布局方案,每个方案包含:
方案 A:卡片列表 + 工具勾选
┌──────────────────────────────────┐
│ ┌────────────────────────────┐ │
│ │ pencil [✓] CC [✓] CX│ │
│ └────────────────────────────┘ │
└──────────────────────────────────┘
方案 B:表格视图,一行一个
┌──────────────────────────────────┐
│ 名称 类型 CC CX │
│ pencil stdio [✓] [✓] │
│ github http [✓] [✓] │
└──────────────────────────────────┘
用户可以:
禁止:
问用户以下问题:
有没有已有的设计规范?(如 design-system.html)
有没有要参考的已有页面?(外框、导航结构)
载体形式?
禁止:没问就默认使用某个设计规范。
基于选定方案 + 确认的设计风格,输出 HTML mockup:
输出后让用户浏览器打开查看,根据反馈微调。微调是具体的小修改(间距、配色、文案),直接执行,不需要重新走方案选择。
产出一个完整的全状态设计参考 HTML,固定包含以下内容:
| 状态 | 说明 | |------|------| | 正常态 | 有数据的标准展示 | | 加载态 | 数据加载中(spinner + 禁用交互) | | 空态 | 没有数据,引导文案 | | 搜索/筛选无结果 | 有数据但当前条件无匹配 | | 错误态 | 数据加载失败、文件不存在、格式错误等(按场景拆多个) | | 部分可用 | 部分数据源可用、部分失败 |
表格格式,列定义:
| 触发 | 用户操作 | 系统行为 | 反馈 | |------|---------|---------|------| | 用户/系统/异常 | 具体操作 | 详细的系统处理步骤 | Toast/状态变化/界面更新 |
覆盖所有用户操作和系统行为的完整映射,前端开发直接对照实现。
禁止:只做正常态就结束。全状态覆盖是本流程的核心交付物。
按模板(templates/需求总结-模板.md)生成需求总结文档。
将对话中确认的所有决策提取出来,写入"关键决策"部分。这些决策往往散落在对话各处,必须主动收集整理,不能遗漏。
三个文件归档到 设计/v{版本号}-{模块名}/ 目录下。版本号和模块名问用户确认。
设计/v0.11-MCP管理/
├── 需求总结.md
├── mcp-manager-设计稿.html
└── mcp-manager-全状态设计参考.html
| 时机 | 问什么 | |------|--------| | 第 1 步 | 痛点、场景、边界(做什么/不做什么) | | 第 3 步 | 选哪个方案 | | 第 4 步 | 有无设计规范、参考页面、载体形式 | | 第 5 步 | mockup 效果是否满意,有无微调 | | 第 6 步 | 全状态覆盖有无遗漏的场景 | | 第 7 步 | 版本号和模块名 |
| 事项 | 直接做 | |------|--------| | 全状态要不要覆盖 | 必须覆盖,不用问 | | 交互规则表要不要写 | 必须写,不用问 | | 需求总结要不要输出 | 必须输出,不用问 | | Toast 文案 | 先给出建议,用户不满意再调 |
development
Apple Human Interface Guidelines for content display components. Use this skill when the user asks about charts component, collection view, image view, web view, color well, image well, activity view, lockup, data visualization, content display, displaying images, rendering web content, color pickers, or presenting collections of items in Apple apps. Also use when the user says how should I display charts, what's the best way to show images, should I use a web view, how do I build a grid of items, what component shows media, or how do I present a share sheet. Cross-references: hig-foundations for color/typography/accessibility, hig-patterns for data visualization patterns, hig-components-layout for structural containers, hig-platforms for platform-specific component behavior.
tools
Automate HelpDesk tasks via Rube MCP (Composio): list tickets, manage views, use canned responses, and configure custom fields. Always search tools first for current schemas.
testing
Expert Haskell engineer specializing in advanced type systems, pure functional design, and high-reliability software. Use PROACTIVELY for type-level programming, concurrency, and architecture guidance.
tools
GraphQL gives clients exactly the data they need - no more, no less. One endpoint, typed schema, introspection. But the flexibility that makes it powerful also makes it dangerous. Without proper controls, clients can craft queries that bring down your server. This skill covers schema design, resolvers, DataLoader for N+1 prevention, federation for microservices, and client integration with Apollo/urql. Key insight: GraphQL is a contract. The schema is the API documentation. Design it carefully.