丢一张蓝湖给 Agent,它就开始「自由发挥」?我用 Skill 约束:看不清就问

0 阅读3分钟

上一篇讲过 ios-agent-skills 是干什么的。
这篇只解决一个更烦的场景:

你给了蓝湖 / 截图,Agent 页面「像那么回事」,细节全不对。

常见翻车:

  • 自己加了分割线、说明文案、圆角阴影——设计里根本没有
  • 标题、按钮文案被「润色」
  • 列表空着,Agent 编了一屏假昵称假数据
  • 字号颜色看不清,它一个 hex,还不问你

这不是「模型审美差」,是缺一条硬规则:先对照设计清单,不确定就问,问清再写。

仓库里对应 Skill:ios-ui-design-parity(配合 no-speculation-dev 禁止编数据)。

GitHub:github.com/mapleleaf99…


这个 Skill 强制什么

Agent 爱干的Skill 要求
觉得空列表丑,编假数据只绑真实字段,或 // TODO禁止虚构
看不清字号间距,瞎填先问你,可以连问
顺手「优化」布局禁止自由发挥,设计没有就不加
恢复你删过的控件不允许
跟邻页技术栈不一致同模块 XIB / SwiftUI / 代码布局走

工作流大概是:

  1. 读截图 / 蓝湖 → 列 checklist(标题、按钮、字段顺序、显隐)
  2. 有疑点先问(颜色、状态、缺帧)
  3. 确认后再写代码
  4. 对照 checklist 自检

安装(可只装这一条)

全局:

git clone https://github.com/mapleleaf99/ios-agent-skills.git
cd ios-agent-skills
./install.sh --only ios-ui-design-parity,no-speculation-dev

或装进某个 App 项目:

mkdir -p YourApp/.cursor/skills
cp -R skills/ios-ui-design-parity skills/no-speculation-dev YourApp/.cursor/skills/

装完 新开 Agent 对话。
自检:./verify-install.sh --dir "$HOME/.cursor/skills"

更多安装方式见 安装说明


直接复制用的提示词

按蓝湖 / 截图做整页

用 ios-ui-design-parity + no-speculation-dev + ios-xib-style。
严格按这张设计/截图做。不要自由发挥。
看不清的字号、颜色、状态先问我,可以一直问到清楚。
不要假列表数据。样式能放 XIB 的放 XIB。

只有设计、还没有接口

用 ios-ui-design-parity + no-speculation-dev + ios-native-dev。
只按设计做 UI 结构和静态文案。
数据绑定全部 // TODO,不要编 nickName、不要编列表条数。

做完让 Agent 自查

用 ios-ui-design-parity。
对照设计 checklist 逐项检查当前页面 diff。
多出来的 UI 标出来,不要帮我「美化」。

更多组合:PROMPT_COOKBOOK 中文


和「没装 Skill」差在哪

没约束时,Agent 常为了「页面完整」自己补:

// 设计没要求,Agent 加了
dividerView.isHidden = false
subtitleLabel.text = "暂无更多内容,去看看别的吧"
tableView.reloadData() // 假数据已在 dataSource 里写死 10 条

有 Skill 时,应变成:

// 设计有的才绑;没有的数据不编
titleLabel.text = model.title // 真实字段,字段名跟后台一致
// TODO: 空态文案等设计确认后再绑

(具体写法仍跟你们模块 XIB / SwiftUI 约定走,Skill 管的是行为,不是替你们写基类名。)


使用注意(短)

  • 点名 Skill 更稳:正文里写 用 ios-ui-design-parity
  • 自动触发有帮助,但不保证每次带上
  • 设计稿糊、缺标注时,让它问比让它猜强
  • 重要页面:设计 Skill + ios-code-review 提交前过一遍

相关链接

觉得有用欢迎 Star。下一篇可以写「崩溃别对着地址猜」或「Flutter 桥接 checklist」——需要的话我另开一篇草稿。

(MIT)