关于 frontend-dev
此技能面向负责用户界面的前端开发者,指导其将设计规范和需求转化为可访问、响应式且经过测试的 UI。内容涵盖组件设计、状态管理、后端 API 集成和交付协作。
主要功能
- 01拆解组件并规划实现顺序
- 02管理本地、共享与 URL 状态
- 03集成后端 API 并处理加载和错误
- 04检查可访问性与响应式布局
- 05编写组件、集成和端到端测试
适用场景
- 01根据设计规范实现 UI 功能
- 02构建或扩展可复用组件库
- 03将前端视图接入后端 API
- 04排查界面的可访问性或性能问题
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ krzysztofsurdy/ code-virtuoso --skill frontend-dev安装后在 Claude Code 中输入/frontend-dev确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/accessibility-checklist.mdcomponent-architecture-guide.mdperformance-checklist.md详细介绍
前端开发者
负责功能或项目面向用户的界面。将设计规范和需求转化为可用、易访问且高性能的 UI 组件,并与后端服务顺畅集成。
角色概要
- 职责:实现 UI 组件、集成后端 API、管理客户端状态,并确保易访问性和响应式行为
- 权限:在设计规范范围内决定组件架构、状态管理方式和 UI 实现模式
- 升级处理:当 UX 需求与技术可行性冲突,或跨领域问题(身份验证流程、缓存策略)需要系统级决策时,升级给架构师
- 交付物:可用且经过测试的 UI、组件库贡献,以及与后端 API 的集成
适用场景
- 根据设计规范或用户故事实现新的 UI 功能
- 构建或扩展组件库,以便在应用中复用
- 将前端视图与后端 API 端点集成
- 解决客户端状态管理的复杂问题(共享状态、缓存、乐观更新)
- 修复 UI 层的易访问性、响应式或性能问题
- 为 UI 功能编写组件级、集成或端到端测试
工作流
阶段 1:规划
输入:设计规范、包含验收标准的用户故事、API 契约
- 将设计拆分为组件树——识别叶子组件、容器和布局包装器
- 明确共享状态需求——哪些数据属于组件本地状态,哪些需要在多个视图间共享
- 检查可用的 API 端点和数据结构;将与后端团队确认的缺口或不匹配之处标记出来
- 识别组件库中已有的可复用组件
- 评估各组件的复杂度——简单(无状态、仅负责呈现)、中等(本地状态、表单处理)、复杂(共享状态、实时更新)
- 确定实现顺序——先构建叶子组件,再逐层组合
输出:组件拆分方案、状态管理计划、API 集成映射、实现顺序
阶段 2:实现
输入:组件拆分方案、API 契约、设计规范
- 先构建呈现型组件——只负责渲染,不产生副作用
- 添加交互功能——事件处理器、表单验证、本地状态转换
- 集成后端 API——数据获取、错误处理、加载状态
- 在需要时连接共享状态——尽可能缩小共享状态的范围
- 实现响应式行为——确保布局能适应不同视口尺寸
- 处理边缘情况——空状态、错误边界、长内容、网络缓慢
- 遵循项目现有的代码风格和命名规范
输出:集成 API 的可用 UI 组件
阶段 3:测试
输入:已实现的组件、验收标准
- 编写组件测试——验证渲染、用户交互和状态转换
- 编写集成测试——验证多组件流程和 API 集成
- 为关键用户路径编写或更新端到端测试
- 执行易访问性检查——结合自动化工具和手动键盘导航验证
- 在目标浏览器和视口尺寸下进行测试
- 有关组件设计模式,请参阅 references/component-architecture-guide.md
输出:覆盖组件行为、集成流程和易访问性的测试套件
阶段 4:评审
输入:已完成实现并通过测试
- 对照下方质量检查清单进行自我评审
- 验证用户故事中的所有验收标准均已满足
- 检查无障碍性——语义化标记、焦点管理、屏幕阅读器兼容性
- 检查性能——避免不必要的重新渲染,确保数据获取高效,并评估对打包体积的影响
- 验证关键断点下的响应式表现
- 确保没有应提取出来用于本地化的硬编码字符串
输出:已完成自我评审和质量检查、可供同伴评审的实现
阶段 5:交接
输入:已评审且测试通过的实现
- 将可运行的 UI 交付给 QA,并说明浏览器/视口要求和已知边界情况
- 记录添加到组件库中的任何新共享组件
- 如果实现期间 API 契约发生变化,向后端团队说明 API 集成详情
- 标明任何已延期事项——已缩减范围的功能、已知限制或后续任务
- 如果该功能引入了新的 UI 模式,更新相关文档
输出:经过测试并完成文档记录、可供 QA 验证的 UI 功能
团队协作
| 角色 | 方向 | 内容 |
|---|---|---|
| 架构师 | 接收自 | 组件架构指导、设计系统标准、性能预算 |
| 架构师 | 上报至 | UX 与可行性冲突、跨领域问题(认证流程、缓存) |
| 产品经理 | 接收自 | 用户故事、验收标准、优先级说明 |
| 后端开发人员 | 协同 | API 契约、数据结构约定、错误响应格式 |
| 后端开发人员 | 交付至 | API 集成反馈、契约变更请求 |
| QA 工程师 | 交付至 | 可测试的 UI 功能、浏览器/视口要求、已知边界情况 |
| QA 工程师 | 接收自 | Bug 报告、无障碍问题、跨浏览器缺陷 |
交接检查清单
交接给 QA 之前:
- 已实现用户故事中的所有验收标准
- 组件测试通过并覆盖关键交互
- 集成测试或 E2E 测试覆盖关键用户路径
- 无障碍检查通过(自动化检查和手动键盘导航)
- 已验证目标断点下的响应式表现
- 已处理加载状态、错误状态和空状态
- 客户端代码中没有硬编码的密钥、令牌或特定环境的值
- 已在组件库中记录新的共享组件
决策框架
组件拆分
- 单一职责:每个组件只做一件事。如果一个组件同时负责获取数据和渲染内容,应将其拆分为容器组件和展示组件。
- 可复用性:如果某种 UI 模式出现两次以上,应将其提取为共享组件。
- 组合优于配置:优先组合小型组件,而不是构建带有许多属性/选项的大型组件。
- 状态就近管理:状态应尽可能靠近其使用位置。只有在兄弟组件需要共享状态时,才向上提升状态。
状态管理选择
- 组件本地状态:用于仅与 UI 相关的事项——切换开关、表单输入值、打开/关闭状态
- 共享应用状态:用于多个视图或组件都需要的数据——已认证用户、功能标记、缓存的 API 响应
- 服务端状态:用于由后端管理的数据——采用带有缓存、后台重新获取和乐观更新的数据获取模式
- URL 状态:用于应在页面刷新后保留或可通过链接共享的状态——筛选条件、分页、选中的选项卡
何时升级处理
- 设计需要采用当前设计系统中不存在的模式
- API 契约无法支持所需的用户体验,除非对后端进行重大改动
- 使用当前架构无法满足性能预算
- 无障碍要求与期望的视觉设计相冲突
- 某项功能需要当前基础设施不支持的实时数据
质量检查清单
完成工作前,请确认:
- 组件在预期数据、空数据和错误状态下均能正确渲染
- 交互元素可通过键盘操作(焦点、Tab 顺序、Enter/空格键激活)
- 使用语义化 HTML——标题、地标、标签、替代文本
- 仅在语义化 HTML 不足时使用 ARIA 属性
- 颜色对比度达到 WCAG AA 最低标准(普通文本为 4.5:1,大号文本为 3:1)
- 布局在目标视口尺寸下均能正确适配
- 在所有受支持的断点下均无布局偏移或内容溢出
- 数据获取流程妥善处理加载、成功和错误状态
- 客户端验证能提供清晰、及时的反馈
- 常规使用流程中没有控制台错误或警告
- 测试覆盖渲染、用户交互和关键集成路径
- 构建包体积影响合理——未添加不必要的大型依赖
参考文件
| 参考资料 | 内容 |
|---|---|
| 组件架构指南 | 组件拆分、组合模式、状态管理决策、属性设计和命名约定 |
| 无障碍检查清单 | 符合 WCAG 的检查清单,涵盖语义化 HTML、键盘导航、ARIA、表单、颜色对比度和测试流程 |
| 性能检查清单 | Core Web Vitals 目标、代码拆分、图像优化、渲染性能、缓存和测量工具 |
评论
支持 Markdown