产品与设计
新用户首次使用 Web 应用时面对空白页/功能难发现:审计…
当 Web 应用功能已可用但新用户不知道从何开始、空状态无引导或功能难发现时,用浏览器逐页审计并生成 onboarding 流程、空状态、tooltip、导览和帮助内容。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
新用户首次使用 Web 应用时面对空白页特定
解决思路
- 确认运行依赖:检测 Chrome MCP、Playwright MCP 或 playwright-cli;必要时参考 ux-audit 的 browser-tools.md。
- 解析目标 URL:优先使用已部署/在线 URL,而不是 localhost;检查 wrangler.jsonc、CLAUDE.md 或正在运行的 dev server。
- Phase 1:以全新用户身份浏览应用,在每一页审计 onboarding 缺口。
- 空状态:导航到每个列表/表格/集合页面,检查零数据页面显示什么;合格标准是显示“No clients yet. Add your first client to get started.”加 CTA 按钮,不合格是只有列头空表格或空白。
- 空状态:检查是否有明确动作;合格标准是显示“Add your first [thing]”按钮,不合格是什么都没有、要用户自己去导航或菜单找。
- 空状态:检查是否解释该功能;合格标准是类似“Clients are the people and businesses you work with. Add one to start tracking your relationships.”,不合格是只有一个空容器。
- 空状态:检查空状态是否经过设计;合格标准是有插图或图标、有帮助文案、突出 CTA,不合格是与有数据状态完全相同只是少了数据。
- 第一印象:以新用户登录(或清空状态模拟),评估落地页;检查 dashboard/home 是否显示有用内容,还是空的。
- 第一印象:检查方向感;10 秒内是否知道应用做什么、从哪里开始。
- 第一印象:检查第一个动作;最该做的 #1 事情是否明显且突出。
- 第一印象:检查认知负荷;有多少菜单项、按钮和选项在争夺注意力。
- 第一印象:检查欢迎内容;是否有欢迎消息、导览或 getting-started 指南,还是只有原始应用。
- 功能可发现性:对每个功能检查能否找到;它是在导航中可见,还是埋在菜单/子菜单里。
- 功能可发现性:检查是否知道功能作用;标签是否能解释,还是必须点击才知道。
- 功能可发现性:检查键盘快捷键;是否有快捷键,是否可发现(tooltip、帮助面板)。
- 功能可发现性:检查高级功能;过滤器、批量操作、搜索是可见还是隐藏。
- 功能可发现性:检查设置和配置;能否找到设置,是否知道每个设置的作用。
- 上下文帮助缺口:在每一页检查表单字段;复杂字段是否有帮助文本或 tooltip。
- 上下文帮助缺口:检查术语;是否有非专家无法理解的标签。
- 上下文帮助缺口:检查后果;破坏性或不可逆操作是否解释会发生什么。
- 上下文帮助缺口:检查校验;犯错时错误信息是否告诉如何修复。
- 生成审计报告:写入 `.jez/artifacts/onboarding/audit.md`。
- 审计报告内容:包含第一印象评分(1-5,新用户能否 30 秒内知道做什么)。
- 审计报告内容:包含发现的空状态表格(页面、当前状态、建议)。
- 审计报告内容:包含缺失引导表格(位置、缺口、优先级)。
- 审计报告内容:包含功能发现问题表格(功能、问题、修复)。
- 审计报告内容:包含快速见效项,列出对新用户体验影响最大的前 5 个改动。
- Phase 2:审计后生成实际内容和代码;阅读项目代码库,匹配现有技术栈和组件模式。
- 生成空状态组件:为审计发现的每个空状态生成组件(可适配项目组件库的 EmptyState 模式)。
- 为每个页面编写具体空状态文案:Title 说明功能是什么(如 Clients)。
- 为每个页面编写具体空状态文案:Description 用一句话说明为什么重要(如 Track the people and businesses you work with)。
- 为每个页面编写具体空状态文案:Action 说明下一步做什么(如 Add your first client)。
- 空状态文案要像一位有帮助的同事,而不是手册。
- 生成欢迎/首次运行体验:根据应用复杂度选择模式。
- 简单应用(3-5 个功能):在 dashboard 上生成可关闭的 WelcomeBanner,显示到用户关闭或完成第一个动作。
- 复杂应用(6+ 个功能):生成持久化的 checklist-style onboarding,跟踪步骤完成进度。
- 生成功能导览:为 react-joyride(或等价工具)生成 tour 配置。
- 功能导览:tourSteps 包含 target、content、placement,例如指向 sidebar-clients、create-button、search。
- 功能导览:同时生成需要添加到现有组件的 data-tour 属性。
- 生成 tooltip 和帮助内容:为每个复杂 UI 元素生成 tooltip 文案。
- Tooltip:使用 TooltipProvider/Tooltip/TooltipTrigger/TooltipContent 模式,为字段提供解释,例如 significance 的 1-5 含义。
- 生成内容映射 `{ fieldName: tooltipText }`,覆盖每个需要解释的字段。
- 生成上下文提示:为用户可能发现不了的功能生成 inline hints。
- 上下文提示:组件只显示一次、可关闭,关闭状态存 localStorage。
- 上下文提示:用法示例包括 `ContextualHint id="keyboard-shortcuts"`,提示按 Cmd+K 快速跳转。
- 生成会教学的种子数据:生成能演示应用功能的示例记录。
- 种子数据:包含一个真实数据的 sample client(不要用 Test Client)。
- 种子数据:包含每种状态的示例记录(draft、active、completed、archived)。
- 种子数据:包含展示关系的记录(client → contact → policy → email)。
- 种子数据:使用 db-seed skill 的模式,但使用 onboarding-quality data,让记录教会用户好数据长什么样。
- 生成帮助页内容:根据真实应用生成 help/FAQ 页面。
- 帮助页 FAQ:包含如何添加新 client、significance 是什么意思、能否撤销删除等实际内容。
- 输出到 `.jez/artifacts/onboarding/`:生成 audit.md、empty-states.tsx、welcome-banner.tsx、onboarding-checklist.tsx、tour-steps.ts、tooltip-content.ts、contextual-hints.tsx、seed-data.ts、help-content.md。
- 告知用户生成了哪些文件以及在哪里集成,并为每个文件给出具体说明,例如“当 client 列表为空时,将该组件加到 /clients 页面”。
- 生成前阅读项目现有组件模式,匹配风格,不要引入新模式。
- 如果项目使用 shadcn/ui,则使用 shadcn/ui 组件。
- 文案像有帮助的同事,而不是手册。
- 空状态是影响最大的改动,优先做。
- 功能导览太长会烦人,最多 5 步。
- 上下文提示应可关闭且只显示一次。
- 示例数据要看起来真实,使用真实的澳大利亚名字、域名和细节。
- 帮助页内容可以由 ux-audit 的“向同事解释”输出生成。
- 与其他技能配合:若同时运行 ux-audit(thorough),把审计发现作为输入来修复问题。
- 与其他技能配合:与 db-seed 配合时,生成 onboarding-quality 种子数据而不是通用测试数据。
- 与其他技能配合:与 app-docs 配合时,帮助页内容可进入用户指南。
- 与其他技能配合:与 product-showcase 配合时,空状态和欢迎流程让演示截图更好看。
适用边界 · 注意事项
- 不适用于没有 Web 界面、无法用浏览器工具逐页审计和生成引导的项目。
- 不适用于功能极少、没有新用户上手成本的一次性页面或纯内部脚本。
- 若项目已严重依赖其他引导体系或不允许改动 UI,则无法按本流程生成和集成。