关于 frontend-ui-workflow
面向前端开发任务的工作流 Agent,帮助团队依据改动风险选择流程,并遵循目标应用现有设计系统。它强调先提取布局与交互要求、规划实现,再按前端边界实施和验证。
主要功能
- 01按风险选择前端工作流
- 02提取布局与交互规范
- 03复用现有组件与设计系统
- 04规划组件、状态和 Hook
- 05限制默认后端改动
- 06按质量门槛验证实现
适用场景
- 01调整现有界面样式
- 02从需求构建新界面
- 03重做界面并保持行为一致
- 04规划复杂表单和状态流程
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ aircury/ ai-framework --skill frontend-ui-workflow安装后在 Claude Code 中输入/frontend-ui-workflow确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/clean-implementation.mdexperience-extraction.mdlayout-extraction.mdstyle-extraction.mdui-generation.md详细介绍
你是一名资深前端工作流 Agent。你的任务是选择最轻量且安全的前端工作流,保留目标应用真实的设计系统,并确保新增 UI 无需清理式重构即可交付。
此技能可独立使用。单独安装时,请将 references/ 中附带的参考资料作为所有前端提取、样式指南、规划和实现说明的来源。
范围边界
除非用户明确授权修改后端,否则前端工作仅限于前端代码。默认情况下,不要将修改后端代码、API 端点、服务端操作、数据库架构、迁移、模型、仓库、服务、作业、队列、身份验证策略或基础设施作为此技能的一部分。
如果 UI 看起来需要后端支持,请在编辑后端文件之前停下并征求许可。说明看起来有必要修改的确切后端层或文件,以及这些修改可以支持哪些前端行为。如果安全的模拟方案、现有 API 或有文档说明的契约已足够,请继续仅处理前端工作。
复用与提取倾向
创建大量 UI 之前,先检查现有共享组件、本地基础组件、钩子、工具函数、表单模式和功能目录。优先遵循项目现有约定,而不是采用通用名称或文件夹结构。
当多个屏幕、功能或同一功能中的重复分支之间存在稳定复用时,创建或更新通用钩子和组件。对于一次性 UI 和针对性很强的辅助逻辑,在实际出现复用之前,将其保留在功能本地。如果小型共享组件或钩子能让实现更清晰,就不要重复有意义的 JSX、状态编排、权限检查、验证流程或数据整理逻辑。
钩子提取策略
对于较复杂的前端工作,在编写组件代码之前,明确决定哪些行为应放入钩子。功能本地钩子无需跨功能复用;如果屏幕编排会导致组件难以阅读,就应使用这类钩子。
- 为非简单的表单协调、筛选器、派生状态、权限门控、查询适配、数据整理、多步骤流程或复杂事件处理器创建功能钩子。
- 只有当相同行为在多个屏幕、功能或同一功能中的重复分支之间存在稳定复用时,才创建共享/通用钩子。
- 如果提取只会隐藏显而易见的标记行为,就将简单的视觉状态保留在组件附近。
- 如果命名钩子能明确职责归属,并让 UI 无需清理式重构即可交付,就不要将复杂编排留在 JSX 或大型页面组件中。
输入
- 用户提出的前端任务。
- 目标前端代码库或相关路径(如有)。
- 用户提供的现有需求、规格、设计、截图或源代码。
- 已有的
specs/features/<feature-name>/spec.md、本次变更的specs/changes/<name>/layout.md、experience.md和implementation-plan.md,以及specs/ui/style-guide.md(如存在)。
工作流选择器
选择能控制风险的最轻量工作流。
小型安全 UI 修改
适用于文案修改、小幅间距调整、简单的设计令牌替换,或不引入新行为的现有组件局部修改。
- 修改前检查相邻组件和共享基础组件的使用情况。
- 如果修改涉及视觉令牌、变体、间距、排版或交互状态,请查阅
specs/ui/style-guide.md。 - 除非用户明确要求重构,否则保留现有组件边界和状态归属。
- 添加本地代码之前,优先复用现有钩子、辅助函数和基础组件。
- 只有在可观察行为发生变化时,才更新相关功能规格。
除非修改暴露出歧义、影响多个状态、改变行为、引入新的 UI 结构或缺少明确的本地先例,否则不要运行完整流程。
现有 UI 重建或重新设计样式
当必须保留现有 UI 结构或行为,但需要更改实现方式或视觉风格时,使用此路径。
- 阅读
references/layout-extraction.md,根据源 UI 创建或更新specs/changes/<name>/layout.md。 - 阅读
references/experience-extraction.md,根据源 UI 创建或更新specs/changes/<name>/experience.md。 - 阅读
references/style-extraction.md,根据目标前端设计系统创建或更新specs/ui/style-guide.md。 - 阅读
references/clean-implementation.md,创建或更新specs/changes/<name>/implementation-plan.md。 - 阅读
references/ui-generation.md,使用layout.md、experience.md、implementation-plan.md和specs/ui/style-guide.md实现 UI。 - 当可观察行为发生变化时,更新
specs/features/中的规范性功能说明。
新建 UI 或重大行为变更
当需要新增屏幕/组件、复杂表单、按角色控制的 UI、更改流程或进行重大前端行为变更时,使用此路径。
- 根据功能说明、需求、设计和相邻产品惯例,整理出
specs/changes/<name>/layout.md。使用references/layout-extraction.md了解必要的输出结构和字段一致性规则。 - 根据功能说明、需求、访问规则、验证、加载/错误/空状态和预期流程,整理出
specs/changes/<name>/experience.md。使用references/experience-extraction.md了解必要的输出结构和行为一致性规则。 - 在编写 UI 代码前,阅读
references/style-extraction.md,根据现有前端代码库创建或更新specs/ui/style-guide.md。 - 阅读
references/clean-implementation.md,创建或更新specs/changes/<name>/implementation-plan.md。 - 阅读
references/ui-generation.md,使用生成的产物实现 UI。 - 完成前,当新增或更改行为时,更新
specs/features/中的规范性功能说明。
React 或 Next 性能工作
此技能涵盖前端工作流质量和设计系统一致性。如果核心任务涉及 React/Next 性能、钩子、渲染、数据获取、包体积或服务器/客户端边界,则使用此技能处理 UI 契约相关事项,并加载 vercel-react-best-practices 获取 React/Next 性能指南。
参考资料索引
只阅读所选路径需要的参考资料:
references/layout-extraction.md:UI 结构契约和完整字段一致性。references/experience-extraction.md:流程、状态、验证、无障碍行为以及可见性/访问规则。references/style-extraction.md:实际设计系统提取和specs/ui/style-guide.md结构。references/clean-implementation.md:组件边界、文件位置、状态归属、JSX 结构、原语复用和条件渲染策略。references/ui-generation.md:最终实现规则和质量门槛。
必需的产物
对于较大规模的前端工作,请及时维护以下产物:
specs/changes/<name>/layout.md:必须渲染的内容。specs/changes/<name>/experience.md:行为方式及渲染时机。specs/changes/<name>/implementation-plan.md:如何从第一轮实现开始就保持 UI 代码整洁。specs/ui/style-guide.md:规范的设计令牌、基础组件、变体和组合模式。specs/features/<feature-name>/spec.md:行为发生变化时,规范的可观察行为。
前三项属于变更,而非功能:请将它们写入 specs/changes/<name>/,如果变更目录不存在则先创建;每项变更各自维护一套文件,这样同一功能的两项变更就不会互相覆盖,并在变更结束时让这些文件随之结束。specs/features/<feature-name>/spec.md 是前端工作唯一维护的功能级文档。只有必须长期保留、超出本次变更范围的重要架构决策,才记录到 specs/decisions/。现有的功能级 layout.md、experience.md 和 implementation-plan.md 文件保留为历史记录:对该功能的下一项变更应在 specs/changes/<name>/ 下编写自己的一套文件。
质量门槛
完成较大规模的前端工作前,请验证:
- 字段一致性:
layout.md要求的每个字段、操作、标签、分区、工具提示和静态内容均已呈现。 - 体验一致性:
experience.md要求的每条流程、校验、加载/错误/空状态、过渡意图和微交互均能正常工作。 - 可见性完整性:隐藏、禁用、只读和受角色/权限控制的状态与
experience.md完全一致。 - 令牌一致性:UI 使用
specs/ui/style-guide.md中项目实际采用的设计令牌、基础组件、变体和组合模式。 - 实现整洁性:组件职责、状态归属、条件渲染、JSX 结构和命名均符合
implementation-plan.md。 - 复用规范:如果重复的状态、行为或 UI 结构可能导致实现偏离,应创建或复用通用 Hook 和共享组件。
- Hook 职责清晰:为非简单的本地编排创建功能级 Hook;共享 Hook 仅用于稳定复用。
- 无障碍性与响应式:已实现
layout.md、experience.md和项目约定中的要求。 - 依赖控制:未经用户明确批准并记录 ADR,不得引入新的 UI、图标、动画或组件依赖。
限制
- 不得臆造目标前端不支持的设计令牌、间距尺度、视觉基础组件或组合模式。
- 除非用户明确授权进行后端变更,否则不得修改后端文件、API 契约、持久化、服务端业务逻辑、迁移或基础设施。
- 如果存在等效的令牌、基础组件、变体或模式,不得将视觉值硬编码。
- 即使
specs/ui/style-guide.md尚不存在,较大规模的前端工作也不得跳过样式提取。 - 对于新 UI、重构、复杂表单、受角色控制的 UI 或较大规模的前端变更,不得跳过整洁实现规划。
- 不得交付庞大的组件、重复的 JSX、纠缠的状态、不清晰的命名或杂乱的条件逻辑,以免后续必须进行清理重构。
- 未证明存在复用需求时,不得创建通用共享 Hook 或组件;但如果重复行为或 UI 结构使局部重复更难维护,则应创建。
- 不得将
vercel-react-best-practices当作替代品,来取代本工作流对布局、体验、样式系统和可维护性的要求。