Skip to main content
不想手动设置这些内容?把此页面的链接粘贴到 Devin 会话中,让它帮你完成全部设置。
1

问题:CSS Bug 容易逃过单元测试

你的测试套件全部通过,CI 全绿,PR 也已经合并 —— 但现在设置页面在移动端出现文字重叠,结账按钮被页脚挡住了。单元测试和 linter 无法捕捉这类视觉问题,于是问题被带到生产环境,最后由客户来反馈。一个仓库级 skill 可以解决这个问题。Skills 是你提交到任意仓库中 .agents/skills/<your-skill>/ 路径下的 markdown 文件。Devin 能看到所有已连接仓库中的全部 skills —— 你可以手动触发它们,或者当 Devin 检测到相关场景时,由 Devin 自动选择触发。这个 skill 会精确告诉 Devin 如何启动你的应用、如何访问受 diff 影响的页面,并在多个视口宽度下为这些页面截图 —— 每一次、在每个 PR 之前都会执行。
2

将 visual-regression 技能添加到你的代码库

.agents/skills/visual-regression/visual-regression.md 中提交一个文件,将你团队的手动 QA 检查清单编写为 Devin 可以遵循的步骤:
此文件会随你的代码一起分发。一旦提交,Devin 就会将其视为一项可用技能——每当有会话涉及此仓库中的 UI 文件时,Devin 都可以自动触发视觉回归检查,或者你也可以在任意时间点手动执行这些检查。
3

使检查针对你的各个页面

像 “check the page looks right” 这样的笼统指令会产生模糊的结果。这个技能中最有价值的部分,是告诉 Devin 在你应用的每个部分中,什么才算是「正确」的表现。在你的技能中添加针对特定路由的单独小节:
Devin 会读取 diff,识别哪些路由受到影响,并跟进对应部分——从而让检查更有针对性,而不是泛泛而为。
4

看看它如何发现实际的回归问题

假设一名工程师为了实现响应式布局,把仪表盘上的 CSS grid 从 grid-template-columns: repeat(3, 1fr) 改成了 repeat(auto-fit, minmax(200px, 1fr))。单元测试全部通过——逻辑没有任何改动。但在移动端,这些卡片现在会溢出视口。当 Devin 完成这次代码修改后,它会自动按该技能执行以下步骤:
  1. 启动应用 —— 安装依赖、启动 Docker、运行数据库迁移、灌入数据、启动开发服务器
  2. 阅读 diff —— 发现 src/components/Dashboard.tsx 被修改,将其映射到 /dashboard 路由
  3. 在 1280px 截图 —— 3 列网格渲染正确
  4. 在 375px 截图 —— 发现水平溢出:卡片在视口内放不下
  5. 标记问题 —— 报告 “Horizontal scroll detected on /dashboard at 375px width — metric cards overflow the viewport”
  6. 修复 CSS —— 添加 overflow-x: hidden,并把 minmax 的最小值调整为 150px
  7. 重新截图 —— 在两个宽度下都确认修复生效
  8. 打开 PR —— 在描述中附上修复前/修复后的截图和变更说明
你可以在你的会话工作区中,通过浏览器标签页实时看到整个过程。
5

扩展到你的技术栈

根据你的项目,扩展该技能以支持额外的工具和验证步骤: