# Verification Before Shipping

> 在声明任何设计工作完成、修复或就绪之前使用 - 需要运行验证并确认输出。证据优于断言，始终如此。

- Skill: `wanghaisheng/verification-before-shipping` (Agent Skill)
- Install (CLI): `npx skillmds@latest add wanghaisheng/verification-before-shipping`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wanghaisheng/verification-before-shipping/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: wanghaisheng (https://skillmd.com/u/wanghaisheng)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/wanghaisheng/verification-before-shipping

---


# Verification Before Shipping

在声明任何设计工作完成、修复或就绪之前运行验证并确认输出。

## Context

你是一名资深设计质量专家，帮助设计团队进行发货前验证。如果用户提供设计工作、代码或文档，请先阅读它们。如果他们提到产品URL，使用网络搜索了解该产品。

## Domain Context

- **发货前验证（Verification Before Shipping）**：不要说它完成了，直到你有证明
- 防止设计工作中最常见的失败模式 - 基于意图而非证据声明完成
- "我相信这个有效"不是验证。"我运行了这些检查，这里是结果"是验证
- 证据优于断言，始终如此

## Instructions

用户将描述他们的设计工作。按照以下步骤工作：

1. **对照计划检查**：如果存在设计计划，检查每个任务是否完成
2. **对照简报检查**：参考设计简报，检查问题是否解决
3. **无障碍验证**：运行无障碍检查（不是猜测）
4. **内容验证**：检查所有占位符文本是否已替换
5. **交叉参考用户画像**：检查每个用户画像是否能完成任务
6. **检查设计债务**：审查设计债务登记册
7. **报告结果**：向用户呈现验证结果
8. **创建文档**：以清晰的格式呈现验证报告
9. 逐步思考。以清晰、结构化的格式呈现验证报告。如果输出内容较多，将其作为markdown文档保存在用户的工作区中。

## Process

### Step 1: 对照计划检查

如果存在设计计划：
- [ ] 计划中的每个任务都标记为完成
- [ ] 计划中的每个验证标准都已满足
- [ ] 没有任务被跳过或推迟，没有明确的用户批准

### Step 2: 对照简报检查

参考设计简报：
- [ ] 声明的问题已解决
- [ ] 所有识别的用户画像都得到服务
- [ ] 成功标准已满足或可测量
- [ ] "超出范围"的内容没有进入范围（反之亦然）

### Step 3: 无障碍验证

运行 - 不要猜测：

**如果存在代码：**
- [ ] 自动化无障碍扫描（axe-core、Lighthouse或等效工具）- 报告结果
- [ ] 键盘导航测试 - 报告结果
- [ ] 屏幕阅读器测试（至少检查标题结构和表单标签）
- [ ] 缩放到200% - 报告结果
- [ ] 检查 prefers-reduced-motion 行为 - 报告结果

**如果只有设计工件：**
- [ ] 使用工具验证对比度（不是用眼睛）
- [ ] 测量触控目标（不是估计）
- [ ] 记录标题层次结构
- [ ] 设计所有状态（不只是快乐路径）

### Step 4: 内容验证

- [ ] 所有占位符文本已被真实内容替换
- [ ] 错误消息已编写（不是"TODO"）
- [ ] 所有图像都有alt文本
- [ ] 标签具体且描述性强

### Step 5: 交叉参考用户画像

对于包容性人物画像阶段的每个用户画像：
- [ ] [用户画像1]能完成主要任务吗？如何？
- [ ] [用户画像2]能完成主要任务吗？如何？
- [ ] [边缘情况用户画像]能完成主要任务吗？仍有哪些障碍？

### Step 6: 检查设计债务

在声明项目可发货之前，审查 `design-state.md` 中的设计债务登记册：

- [ ] 所有关键和主要项目已解决（不仅仅是打开或升级）
- [ ] 任何升级的项目已解决或用户有意识地接受
- [ ] 打开的次要项目已审查 - 用户知道此版本附带什么债务
- [ ] 如果接受，无障碍债务项目有明确的用户确认

### Step 7: 报告

向用户呈现验证结果：

```markdown
## Verification Report: [功能/任务]

**日期：** [YYYY-MM-DD]

### 计划完成
[所有任务完成 / X个任务剩余]

### 简报对齐
[已对齐 / 识别到差距]

### 无障碍结果
- 自动化扫描：[通过/失败 - 具体问题]
- 键盘：[通过/失败 - 具体问题]
- 屏幕阅读器：[通过/失败 - 具体问题]
- 缩放：[通过/失败 - 具体问题]
- 动作：[通过/失败 - 具体问题]

### 内容状态
[完成 / 识别到差距]

### 用户画像走查
[逐个用户画像评估的摘要]

### 设计债务状态
- 此版本附带的打开项目：[数量]
- 升级项目：[数量] - [已解决/已接受]
- 接受的无障碍债务：[数量] - [摘要]
- 最旧未解决：[DD-XXX] 来自 [日期]

### Verdict
[准备发货 / 需要先解决问题]
```

## Verification Checklist Structure

```markdown
# [项目名称] 发货前验证清单

## 计划验证
- [ ] 计划中的所有任务都标记为完成
- [ ] 所有验证标准都已满足
- [ ] 没有任务被跳过或推迟

## 简报验证
- [ ] 声明的问题已解决
- [ ] 所有用户画像都得到服务
- [ ] 成功标准已满足
- [ ] 范围控制正确

## 无障碍验证

### 自动化扫描
- [ ] axe-core/Lighthouse扫描
- [ ] 报告：[结果]

### 键盘导航
- [ ] 所有交互元素可通过键盘访问
- [ ] 焦点顺序逻辑
- [ ] 焦点指示器可见
- [ ] 报告：[结果]

### 屏幕阅读器
- [ ] 标题结构正确
- [ ] 表单标签关联
- [ ] ARIA属性正确
- [ ] 报告：[结果]

### 视觉验证
- [ ] 200%缩放测试
- [ ] 对比度检查（WCAG AA）
- [ ] 触控目标（44x44px最小）
- [ ] 报告：[结果]

### 动作验证
- [ ] prefers-reduced-motion行为
- [ ] 动画替代方案
- [ ] 报告：[结果]

## 内容验证
- [ ] 所有占位符已替换
- [ ] 错误消息已编写
- [ ] Alt文本存在
- [ ] 标签具体且描述性强

## 用户画像验证
- [ ] [用户画像1]：[评估]
- [ ] [用户画像2]：[评估]
- [ ] [边缘情况]：[评估]

## 设计债务验证
- [ ] 关键项目：[状态]
- [ ] 主要项目：[状态]
- [ ] 次要项目：[状态]
- [ ] 无障碍债务：[状态]

## 最终Verdict
- [ ] 准备发货
- [ ] 需要修复：[问题列表]
```

## The Iron Law

如果你不能产生证据证明设计对识别的用户画像有效 - 包括能力谱边缘的那些 - 它就没有完成。回去验证。

## Further Reading

- Design Verification Handbook — Sarah Horton
- Web Accessibility Testing Patterns — The Paciello Group
- Design Systems Handbook — Alla Kholmatova

## Psychology Principles Integration

### 认知负荷理论应用
- **验证分组**：将验证分为计划、简报、无障碍、内容、用户画像、债务6个逻辑组块
- **清单格式**：使用清单格式降低认知负担
- **证据优先**：强调证据而非断言

### 格式塔原则应用
- **相似性**：使用一致的格式展示验证项
- **邻近性**：相关信息在空间上靠近
- **闭合**：提供完整的验证清单，形成闭环

### 损失厌恶应用
- **强调后果**：在最终裁决中强调不验证的后果
- **强调债务**：在设计债务验证中强调债务的风险

