interaction-spec — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited interaction-spec (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
交互规范是用户体验的宪法
交互设计规范确保产品中每个交互行为都有一致、可预测、无障碍的体验。规范不是限制创造力,而是保证基础体验质量的底线,让设计师可以专注于创新而非重复定义基础交互。
🤖→👤 AI建议人类审批
| 输入项 | 类型 | 必填 | 来源 | 说明 |
|---|---|---|---|---|
| 用户流程 | markdown | 是 | design-userflow | 用户流程图、状态转换、决策节点 |
| 原型规格 | markdown | 是 | design-prototype | 原型设计、交互标注、组件规格 |
| 设计交接文档 | markdown | 否 | design-handoff-spec | 设计令牌、组件规格、响应式断点 |
| 品牌规范 | text | 否 | 用户输入 | 品牌调性、动画风格偏好 |
| 缺失的上游输入 | 降级方案 | 输出影响 |
|---|---|---|
| 用户流程缺失 | 基于原型推导交互流程 | 流程待确认,交互状态机可能不够完整 |
| 原型规格缺失 | 基于用户流程生成交互规范框架 | 待原型验证,组件交互规格可能不够精确 |
| 设计交接文档缺失 | 交互规范独立编号 | 后续需与交接文档对齐,令牌引用可能不一致 |
| 品牌规范缺失 | 采用中性交互风格 | 待品牌确认,动画风格可能需要调整 |
为每个核心组件和页面定义交互状态机:
定义产品中动画和过渡效果的意图,具体实现参数由 UI Skill(ext-interaction-design + page-builder)基于 visual_direction 决定:
prefers-reduced-motion 适配规则定义各平台的手势操作意图和约束,具体阈值由 UI Skill 基于平台规范和 visual_direction 决定:
定义用户操作的反馈标准:
定义异常场景的交互处理:
确保交互符合无障碍标准:
将以上内容组装为完整交互设计规范文档。
| 文件 | 路径 | 说明 |
|---|---|---|
| 交互设计规范 | output/pm-design/interaction-spec/interaction-spec.md | 人类可读的完整规范 |
| 结构化数据 | output/pm-design/interaction-spec/interaction-spec.json | 机器可消费的结构化数据 |
# 交互设计规范:{产品名称}
**输出校验规则**:详见下方输出校验规则章节
## 1. 交互状态机
- 状态枚举与定义
- 状态转换表
- 状态优先级规则
- 状态持久性规则
## 2. 动画与过渡意图
- 过渡意图(自然流畅/减速感/加速感/干脆利落)
- 动画时长意图(即时可感知/快速完成/有节奏感/有叙事感)
- 性能约束
- 减弱动画适配
## 3. 手势与操作意图
- 点击/按压意图
- 滑动/拖拽意图
- 缩放/旋转意图
- 键盘操作规范
## 4. 反馈机制规范
- 即时反馈
- 过程反馈
- 结果反馈(成功/警告/错误/信息)
- 无反馈场景
## 5. 异常状态交互
- 网络异常
- 数据为空
- 权限不足
- 数据超限
- 并发冲突
## 6. 无障碍交互规范
- WCAG 2.1 AA合规检查
- 焦点管理规则
- ARIA标注规范
- 屏幕阅读器适配
## 7. 交互规范索引
- 组件×状态交叉引用表
- 动画×场景交叉引用表{
"product_name": "",
"report_date": "",
"state_machines": {
"states": [],
"transitions": [
{
"from": "",
"to": "",
"trigger": "",
"transition_intent": "",
"completeness_check": ""
}
],
"priority_rules": [],
"persistence_rules": []
},
"animation": {
"transition_intents": [],
"duration_intents": [],
"performance_constraints": [],
"reduced_motion": {}
},
"gestures": {
"tap_press_intents": {},
"swipe_drag_intents": {},
"pinch_rotate_intents": {},
"keyboard": {}
},
"feedback": {
"immediate": [
{
"trigger": "",
"intent": "",
"completeness_check": ""
}
],
"progress": [
{
"trigger": "",
"intent": "",
"completeness_check": ""
}
],
"result": [
{
"trigger": "",
"intent": "",
"completeness_check": ""
}
],
"no_feedback_scenarios": []
},
"error_states": {
"network_error": {
"intent": "",
"completeness_check": ""
},
"empty_state": {
"intent": "",
"completeness_check": ""
},
"permission_denied": {
"intent": "",
"completeness_check": ""
},
"data_overflow": {
"intent": "",
"completeness_check": ""
},
"concurrent_conflict": {
"intent": "",
"completeness_check": ""
}
},
"accessibility": {
"wcag_compliance": [],
"focus_management": [],
"aria_specifications": [],
"screen_reader": []
}
}| 检查项 | 标准 | 不通过处理 |
|---|---|---|
| 状态机完整 | 8种基础状态全覆盖 | 补充缺失状态定义 |
| 动画性能合规 | 仅使用transform/opacity | 替换不合规动画属性 |
| 无障碍合规 | WCAG 2.1 AA全部覆盖 | 补充缺失无障碍规范 |
| 反馈全覆盖 | 每种用户操作有对应反馈 | 补充缺失反馈或标注"无反馈"理由 |
| 字段路径 | 类型 | 必填 | 说明 |
|---|---|---|---|
| product_name | string | 是 | 产品名称 |
| report_date | string | 是 | 报告日期(ISO8601) |
| state_machines | object | 是 | 交互状态机 |
| state_machines.states | array | 是 | 状态枚举,至少8种 |
| state_machines.transitions | array | 是 | 状态转换表,每项包含 from/to/trigger/transition_intent/completeness_check |
| state_machines.priority_rules | array | 是 | 状态优先级规则 |
| animation | object | 是 | 动画与过渡意图 |
| animation.transition_intents | array | 是 | 过渡意图列表 |
| animation.duration_intents | array | 是 | 动画时长意图列表 |
| gestures | object | 是 | 手势与操作意图 |
| feedback | object | 是 | 反馈机制规范 |
| feedback.immediate | array | 是 | 即时反馈列表,每项包含 trigger/intent/completeness_check |
| feedback.result | array | 是 | 结果反馈列表,每项包含 trigger/intent/completeness_check |
| error_states | object | 是 | 异常状态交互 |
| accessibility | object | 是 | 无障碍交互规范 |
| accessibility.wcag_compliance | array | 是 | WCAG合规检查项 |
| 上游变更 | 影响范围 | 响应策略 |
|---|---|---|
| 用户流程变更(路径/分支修改) | 交互状态机、反馈机制 | 标注受影响的状态转换,建议人类确认是否更新交互规范 |
| 原型规格变更(组件/交互修改) | 手势操作、反馈机制、异常状态 | 标注受影响的交互定义,建议人类确认是否更新 |
| 设计交接文档变更(令牌/组件调整) | 动画规范中的令牌引用 | 标注受影响的令牌引用,建议人类确认是否更新 |
| 品牌规范变更 | 动画风格、缓动函数 | 标注受影响的动画定义,建议人类确认是否调整风格 |
| 交互规范变更类型 | 通知范围 | 通知方式 |
|---|---|---|
| 状态机变更 | design-handoff-spec | 标记状态机变更,触发交接文档更新 |
| 动画规范变更 | design-handoff-spec | 标记动画变更,触发交接文档交互规则更新 |
| 手势规范变更 | design-handoff-spec | 标记手势变更,触发交接文档更新 |
| 无障碍规范变更 | design-handoff-spec | 标记无障碍变更,触发交接文档更新 |
| 本Skill输出字段 | prd.json对应字段 | 对齐规则 |
|---|---|---|
| state_machines[].name | prd.json.pages[].name | 状态机名称与PRD页面名称对应 |
| state_machines[].states[] | prd.json.pages[].states[] | 状态机状态必须覆盖PRD定义的5种特殊状态(空/加载/错误/部分/权限) |
| state_machines[].states[].triggers | prd.json.pages[].states[].triggers | 状态触发条件与PRD定义一致 |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.