agentsclimarketplace

Prototype iteration protocol

Skill lhw0414/prototype-iteration-protocol

Vibe coding 迭代已有原型/demo 时的协作协议。适用于本地可编辑、可重复运行或预览的 demo (网页、原生 App、脚本等),不限操作系统(macOS / Windows / 鸿蒙等)。 Use when: 用户要在已有 demo 上修改——如「改一下 X」「改一下 X 和 Y」「调整某交互」「把某处改成…」; 或说「只改」「别动其他的」「存一版」「做一版新的」「回到某版」;或 demo 越改越乱、改一处坏别处。 不用于:从零新建项目、与当前 demo 无关的问答。 Triggers: 改一下、改下、调整、改成、修改、再改、迭代、存一版、做一版新的、回到某版、 只改、别动、 change, tweak, adjust, modify, iterate, save version, new version, rollbackFrom its SKILL.md

Install
npx -y skills add lhw0414/prototype-iteration-protocol

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

8.0 KB, ~2.6k tokens by cl100k_base, as published. Nobody here has run it

Prototype Iteration Protocol

铁律(默认生效,不用用户重复)

  1. 用户点名的都算本轮任务,没点名的不动。 不要要求用户列出「禁止修改」清单。
  2. 禁止偷偷联动。 若你认为必须改用户没点名的部分才能完成任务,先停手,用大白话说明原因和影响,等用户同意后再动。
  3. 禁止擅自加需求。 只做用户本轮明确说到的改动;不要顺便优化、重构、统一风格,不要自己加第 N+1 项。

Demo 形态(改前自动判断,不要问用户用哪种)

形态识别本 Skill 怎么用
本地代码工程有多个源码文件、或常见工程结构铁律 + 存档 + 汇报,完整流程
单文件 demo主要就一个可运行文件(如单个 html)铁律 + 复制该文件存档 + 汇报
设计稿 / 不能运行Figma、Sketch 等,无本地可执行入口铁律 + 汇报;存档用另存副本 / 复制文件,不要求 Git
纯云端工具无本地工程目录,只在网页里编辑铁律 + 汇报;说明版本靠平台历史,Agent 只管对话内边界

运行与预览

不假设具体系统、IDE 或设备。改完后用该项目已有的方式验证(浏览器打开、本地 dev 命令、IDE 运行到模拟器或真机等)。优先读项目 README 或脚本说明;Skill 不指定必须用哪一种。

开工前

  • 用户说得够清楚 → 先存档,再改,不问 checklist。
  • 用户一条消息里提多点(如「1. … 2. …」)→ 都属于本轮,一并完成;仍然不动用户没提到的部分。
  • 只有实在无法判断改哪里时,才问 1 个问题(不要连问多个)。
  • 存档成功后用人话告知:「已存档为 v0.xx(方式:Git / 复制到 xxx)」,再动手改。

够清楚的例子:

  • 「只改某个控件的取值范围」→ 存档 → 直接改。
  • 「1. 改某处上限;2. 保存时加确认提示」→ 存档 → 两点都做,其他不动。

改的过程中

  • 改动范围尽量小(少文件、少行)。
  • 不要为了「改好用户点名的某项」去动用户没点名的部分;真有关联,回到铁律第 2 条先问。
  • 优先最小 diff;不要默认 refactor。

改完后(必须这样汇报)

用下面格式,简短

【改了什么】
(一两句大白话;若用户本轮提了多点,逐条简要列出)

其他没改。

【备查】
(可选:涉及文件 + 改动摘要,一行即可)

汇报示例:单点

用户:「只改某处交互的上限」

【改了什么】
(用用户能听懂的话描述可见行为变化。)

其他没改。

【备查】
某视图文件 — 相关参数上限调整

汇报示例:用户一次提两点

用户:「1. 改某处上限;2. 保存时加确认提示」

【改了什么】
1. (第 1 点的人话描述)
2. (第 2 点的人话描述)

其他没改。

【备查】
(涉及文件与改动摘要,一行)

若用户同意联动改了未点名的部分

【改了什么】
1. (A 的人话描述)
2. (B 的人话描述,注明是用户同意后加的)

其他没改。

【备查】
(涉及文件与改动摘要,一行)

版本管理(自动留档,方便对比和回退)

每次动手改 demo 之前必须先存档。改前、改后都要让人能回退。

存档方式(按顺序尝试,不要要求用户会 Git)

方式 A — 项目是 Git 仓库:

  • 改之前:commit(若有未提交改动)+ 打 tag,如 v0.09
  • 改之后:commit + 打 tag,如 v0.10
  • 回退:git checkout <tag>

方式 B — 无 Git 的多文件项目:

  • 改之前:复制整个项目目录为 项目名-v0.09(与用户口头版本号一致)
  • 改之后:当前工作区即新版本;需要留档时再复制 项目名-v0.10
  • 回退:用备份目录覆盖,或切换到备份目录

方式 C — 单文件 demo:

  • 改之前:复制该文件为 文件名-v0.09.ext
  • 改之后:同理 文件名-v0.10.ext
  • 回退:用备份文件覆盖

方式 D — 设计稿:

  • 改之前:另存副本,文件名带版本号
  • 回退:打开对应副本

存档失败(无权限、路径不可写、Git 报错等):

  • 停止修改
  • 告诉用户请先手动备份(复制文件夹、另存文件或提交 Git)
  • 用户确认备份完成后再继续

不要假设操作系统;路径使用项目相对路径,不写死平台特有目录。

常规:只改用户点名的内容

  1. 存档 → 告知「已存档为 v0.09」
  2. 完成本轮改动 → 存档为 v0.10
  3. 告诉用户:上一版、这一版叫什么;用本地习惯的方式重新运行/预览;要回退说「回到 v0.09」

需要联动未点名部分,且用户同意

(用户只点了 A,但必须动 B;与用户一次提 A+B 两点不同。用户可说「不用留两版对比」,则只留 checkpoint + 最终版。)

须留 三个可切换版本

版本内容
v0.09改之前的满意版
v0.10-a-only只做了用户点名的 A
v0.10-a+bA + 用户同意联动的 B
  • 有 Git:三个 tag;先 a-only,再在之上加 B 得 a+b
  • 无 Git:三个文件夹或文件副本,命名带同样版本号

汇报:

【版本】
- v0.09:改之前
- v0.10-a-only:(A 的人话描述)
- v0.10-a+b:(B 的人话描述)

【怎么对比】
说「切到 a-only」或「切到 a+b」,再重新运行/预览 demo。

用户说「回到某版」

  • Git → checkout 对应 tag
  • 无 Git → 恢复对应备份目录或文件
  • 设计稿 → 打开对应副本
  • 用人话确认已回退,并提醒重新运行/预览

命名与首轮

  • 格式:v0.10v0.10-a-onlyv0.10-a+b;有 Git 时 tag 与 commit message 写人话
  • 用户没提版本号时,自行递增末位(v0.09 → v0.10)
  • 第一次迭代、尚无版本:当前状态记为 v0.01,再往后递增
  • 用户说「先存」「做一版新的」→ 必须执行存档,不要只记在聊天里

存档失败时

  • 不继续改任何文件
  • 说明失败原因(一句大白话)
  • 给出最简手动备份步骤(复制文件夹 / 另存文件 / git commit)
  • 等用户确认后再继续

不要做的事

  • 不要列一长串「未改动项」——只说「其他没改」即可。
  • 不要改完才坦白动了多处;动了就要在【改了什么】里写清楚(人话优先)。
  • 不要把技术术语、文件名、变量名当主输出;细节只放【备查】。
  • 不要在存档失败时强行改 demo。
  • 不要假设同事一定用 Git、一定用某一种 IDE 或操作系统。

用户觉得 Agent 越界时

用户可说「按迭代协议重来」:先回退到最近存档,再按用户点名的范围重做。

What ships with it: 2 files

1.2 KB alongside SKILL.md

Keep looking

Skills are one crate of 326,144. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.