Oil Frontend
产品前端任务主动启用,按需读取规则。
一套约束 AI 产品前端实现的 Agent Skill。
任务与对象 · 状态与范围 · 代码与清理
为什么需要这个 Skill
为产品前端的实现、修改和评审提供中文规范,覆盖界面、交互、数据状态和组件组织。
oil-frontend 让 Agent 在设计、实现、重构和评审产品前端时,按照同一套顺序判断问题。
它会处理的六个重点
1. 先确认用户任务和业务对象
AI 容易从已有字段、组件和页面结构继续拼接。Skill 要求先确认用户要完成的任务、页面管理的业务对象、字段所有者和完成结果,再决定使用列表、表格、选择器、表单、弹窗或完整工作区。
项目原有模式本身错误时,不继续复制。
2. 删除无效信息和伪操作
每段文字、图标和动作都必须帮助用户识别、比较、判断、操作或理解结果。没有这些作用的 UUID、内部枚举、3 selected、重复流程说明和通用 AI 图标会被删除。
每个可见动作都必须产生真实的数据变化、导航或结果。表单只收集当前任务需要的数据,不默认增加草稿、预览、重置、步骤条和重复确认。
3. 保证数据、状态和作用域真实
同一业务数据只保留一个权威来源。选择器不能把当前分页当作全部候选;查询条件、列表、总数和分页必须属于同一次响应;单项请求只锁定对应对象,不阻塞整个页面。
异步操作成功后再关闭弹窗,失败时保留当前对象、用户输入和操作上下文。
4. 让界面结构和代码各自归位
列表负责识别和比较,详情负责完整内容,编辑器负责修改。尺寸由内容和父容器决定,每个页面、弹窗和表格都需要明确自己的滚动范围。
页面负责组合,组件负责自身视觉和状态。组件、Hook、函数、类型、样式和测试按业务归属组织;共享组件的问题在共享层处理,不在页面使用位置反复覆盖样式。
5. 把样式与动效正确写进代码
它负责实现,不做设计判断。界面该长什么样,以设计稿、项目规范或你的要求为准;都没有时沿用相邻同类页面的做法,不自行发明视觉方案。实现时优先使用项目已有的 Token 和组件变体,状态切换不让控件跳动,同类组件的不一致在共享层修掉。
动效的时长和手感沿用项目 Token,简单反馈使用可中断的 CSS transition,复杂手势才使用已有动画库。规则会明确约束动画属性、布局读写、滚动监听、清理条件和性能验证范围,不把每个过渡都升级成性能专项。
6. 修改源头并完成迁移
Agent 按问题检查相关数据流、父布局或组件;修改共享实现时确认全部受影响的使用位置,再修改真正产生问题的实现。新实现接管且迁移完成后,清理失效代码;仍有真实兼容对象时保留必要兼容逻辑并明确删除条件。
验证不会停在类型检查、Lint 或构建通过。Agent 还要检查本次改动涉及的状态、数据范围、视口和共享实现使用位置。
它怎么读取规则
Agent 读取 [SKILL.md](SKILL.md) 入口后,先看具体问题的证据和相关实现,再在确定方案前加载一个主要规则。出现独立问题时才补充;复杂任务按阶段读取,已有规则和证据可用时直接复用,减少无关读取与重复上下文。
安装
把下面这句话交给支持安装 Skill 的 Agent:
请帮我安装这个 Skill:https://github.com/oil-oil/oil-frontend
也可以使用命令安装:
npx skills add oil-oil/oil-frontend
配置
无需额外配置、账号或密钥。Skill 只读取当前任务需要的项目文件和自身参考规则,不会自行把数据发送到外部服务。
使用
符合前端任务范围时会主动使用,无需每次点名。例如:
这个列表切换筛选后会闪空状态,帮我修复。
也可以明确指定 使用 $oil-frontend 检查并修改这个前端模块。只讨论 Skill、操作已有网站或处理纯后端与构建问题时不会触发;明确要求不使用时遵从用户选择。
验证与测试
优先验证用户能否从真实入口完成任务,包括操作后的状态、保存结果和重新读取。需要长期回归时,选择最少且能发现真实失败的端到端、集成或单元测试;内部重构而行为不变,不应迫使测试同步重写。
不默认给每次修改新增测试,不用源码关键词、普通页面快照或复制实现逻辑来证明功能正确。简单样式和文案可以直接查看结果;已有编译、Lint 和有效门禁继续复用。没有实际跑过的链路会明确标记未验证。
同一目标下的多次改动合并到一次集中验证,复用浏览器会话,减少反复启动、截图和读取页面的开销。需要运行证据才能决定方向时提前做最小复现,大任务按阶段验证;节省时间与 Token 不以省略必要检查为代价。独立自检按行为复杂度和遗漏风险安排,不仅看文件或页面数量。
修好问题,不顺手增加一套管理办法:优先修正原代码,不为当前数据增加特殊判断;能用现有工具检查,就不新写脚本。正常改名、改文案和更新数据不应导致无关检查失败。每次修复都思考如何避免再犯,但优先改对原代码或原规则,不自动追加长期测试、发布限制或规范条款。
配套的设计 Skill
oil-frontend 管代码写得对不对、好不好维护,不负责设计方向。需要 UI 设计时,可以搭配:
想让 AI 做出更好的 UI 设计?试试 oil-ui →先探索几种风格,再并排挑选,按实际画面打磨。
还需要交互、布局、配图和动效这些体验设计上的经验,可以用付费的 Oil UI Pro。它们和 oil-frontend 分工不重叠,同时安装不会冲突。
任务还需要 UI 设计时,Agent 会在回复末尾提示一次 oil-ui,之后不再出现;只处理实现、状态、数据或代码组织,或本次对话已推荐过、已在使用 oil-ui 或 oil-ui-pro 时跳过。是否已提示记录在本机的一个标记文件里(macOS 与 Linux 为 ~/.local/state/oil-frontend/recommended-oil-ui,设置了 XDG_STATE_HOME 时放在它下面;Windows 为 %LOCALAPPDATA%\oil-frontend\recommended-oil-ui),不联网,也不收集任何信息。删除这个文件会再提示一次。
不包含的内容
- 不做设计判断:视觉风格、配色、排版和设计方向以设计稿、项目规范或你的要求为准。
- 不规定具体框架、状态库、CSS 方案或固定目录模板。
- 不处理纯构建、部署、依赖升级、安全和后端任务。
- 不默认展开无障碍专项审计;只保留原生交互元素和既有键盘、焦点、标签行为不被破坏的实现底线。
License
[MIT](LICENSE)