mcpField
F
frontend-ui-workflow

frontend-ui-workflow

github.com/aircury设计与 UI581 次安装今天更新
代码仓库

关于 frontend-ui-workflow

面向前端开发任务的工作流 Agent,帮助团队依据改动风险选择流程,并遵循目标应用现有设计系统。它强调先提取布局与交互要求、规划实现,再按前端边界实施和验证。

主要功能

  1. 01按风险选择前端工作流
  2. 02提取布局与交互规范
  3. 03复用现有组件与设计系统
  4. 04规划组件、状态和 Hook
  5. 05限制默认后端改动
  6. 06按质量门槛验证实现

适用场景

  1. 01调整现有界面样式
  2. 02从需求构建新界面
  3. 03重做界面并保持行为一致
  4. 04规划复杂表单和状态流程

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aircury/ai-framework --skill frontend-ui-workflow

安装后在 Claude Code 中输入/frontend-ui-workflow确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
clean-implementation.md
experience-extraction.md
layout-extraction.md
style-extraction.md
ui-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 修改

适用于文案修改、小幅间距调整、简单的设计令牌替换,或不引入新行为的现有组件局部修改。

  1. 修改前检查相邻组件和共享基础组件的使用情况。
  2. 如果修改涉及视觉令牌、变体、间距、排版或交互状态,请查阅 specs/ui/style-guide.md。
  3. 除非用户明确要求重构,否则保留现有组件边界和状态归属。
  4. 添加本地代码之前,优先复用现有钩子、辅助函数和基础组件。
  5. 只有在可观察行为发生变化时,才更新相关功能规格。

除非修改暴露出歧义、影响多个状态、改变行为、引入新的 UI 结构或缺少明确的本地先例,否则不要运行完整流程。

现有 UI 重建或重新设计样式

当必须保留现有 UI 结构或行为,但需要更改实现方式或视觉风格时,使用此路径。

  1. 阅读 references/layout-extraction.md,根据源 UI 创建或更新 specs/changes/<name>/layout.md。
  2. 阅读 references/experience-extraction.md,根据源 UI 创建或更新 specs/changes/<name>/experience.md。
  3. 阅读 references/style-extraction.md,根据目标前端设计系统创建或更新 specs/ui/style-guide.md。
  4. 阅读 references/clean-implementation.md,创建或更新 specs/changes/<name>/implementation-plan.md。
  5. 阅读 references/ui-generation.md,使用 layout.md、experience.md、implementation-plan.md 和 specs/ui/style-guide.md 实现 UI。
  6. 当可观察行为发生变化时,更新 specs/features/ 中的规范性功能说明。
新建 UI 或重大行为变更

当需要新增屏幕/组件、复杂表单、按角色控制的 UI、更改流程或进行重大前端行为变更时,使用此路径。

  1. 根据功能说明、需求、设计和相邻产品惯例,整理出 specs/changes/<name>/layout.md。使用 references/layout-extraction.md 了解必要的输出结构和字段一致性规则。
  2. 根据功能说明、需求、访问规则、验证、加载/错误/空状态和预期流程,整理出 specs/changes/<name>/experience.md。使用 references/experience-extraction.md 了解必要的输出结构和行为一致性规则。
  3. 在编写 UI 代码前,阅读 references/style-extraction.md,根据现有前端代码库创建或更新 specs/ui/style-guide.md。
  4. 阅读 references/clean-implementation.md,创建或更新 specs/changes/<name>/implementation-plan.md。
  5. 阅读 references/ui-generation.md,使用生成的产物实现 UI。
  6. 完成前,当新增或更改行为时,更新 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 当作替代品,来取代本工作流对布局、体验、样式系统和可维护性的要求。

评论

支持 Markdown