opencode-skills-collection 4.1.4 → 4.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/bundled-skills/.antigravity-install-manifest.json +21 -1
  2. package/bundled-skills/aas-compose-stack/SKILL.md +39 -0
  3. package/bundled-skills/aas-discover/SKILL.md +35 -0
  4. package/bundled-skills/aas-review-stack/SKILL.md +37 -0
  5. package/bundled-skills/axonx/SKILL.md +374 -0
  6. package/bundled-skills/axonx/references/LICENSE.md +201 -0
  7. package/bundled-skills/browser-extension-launch/SKILL.md +102 -0
  8. package/bundled-skills/browser-extension-launch/references/acceptance.md +103 -0
  9. package/bundled-skills/browser-extension-launch/references/complex-workflow.md +46 -0
  10. package/bundled-skills/browser-extension-launch/references/dependencies.md +62 -0
  11. package/bundled-skills/browser-extension-launch/references/development.md +42 -0
  12. package/bundled-skills/browser-extension-launch/references/efficient-delivery.md +52 -0
  13. package/bundled-skills/browser-extension-launch/references/host-compatibility.md +58 -0
  14. package/bundled-skills/browser-extension-launch/references/playwright-mcp.md +102 -0
  15. package/bundled-skills/browser-extension-launch/references/product-loop.md +35 -0
  16. package/bundled-skills/browser-extension-launch/references/publishing.md +103 -0
  17. package/bundled-skills/browser-extension-launch/references/required-skills.json +153 -0
  18. package/bundled-skills/browser-extension-launch/references/workflow.md +71 -0
  19. package/bundled-skills/byagent/SKILL.md +125 -0
  20. package/bundled-skills/cloudish/SKILL.md +188 -0
  21. package/bundled-skills/define-my-content-pillars/SKILL.md +127 -0
  22. package/bundled-skills/draft-my-comments/SKILL.md +132 -0
  23. package/bundled-skills/etsy-search-listings/SKILL.md +122 -0
  24. package/bundled-skills/etsy-shop-sales-history/SKILL.md +119 -0
  25. package/bundled-skills/fxmacrodata/SKILL.md +224 -0
  26. package/bundled-skills/get-seen-in-replies/SKILL.md +134 -0
  27. package/bundled-skills/jobs-to-be-done-analyst/SKILL.md +1 -1
  28. package/bundled-skills/onboarding-psychologist/SKILL.md +1 -1
  29. package/bundled-skills/placecall/SKILL.md +237 -0
  30. package/bundled-skills/repurpose-into-a-post/SKILL.md +134 -0
  31. package/bundled-skills/same-idea-both-platforms/SKILL.md +111 -0
  32. package/bundled-skills/supercov/SKILL.md +119 -0
  33. package/bundled-skills/turn-this-into-a-thread/SKILL.md +130 -0
  34. package/bundled-skills/why-did-this-post-flop/SKILL.md +130 -0
  35. package/bundled-skills/write-in-my-voice/SKILL.md +140 -0
  36. package/package.json +1 -1
  37. package/skills_index.json +556 -2
@@ -0,0 +1,102 @@
1
+ ---
2
+ name: browser-extension-launch
3
+ description: "Builds, tests, packages, and prepares Chrome extensions for store launch from a plain-language idea; use for new extensions, fixes, releases, and submission recovery."
4
+ category: development
5
+ risk: critical
6
+ source: community
7
+ source_repo: xiehuan123/browser-extension-launch
8
+ source_type: community
9
+ date_added: "2026-10-03"
10
+ author: xiehuan123
11
+ tags: [browser-extension, chrome-extension, manifest-v3, testing, publishing]
12
+ tools: [claude, cursor, gemini, codex, copilot, opencode]
13
+ license: "MIT"
14
+ license_source: "https://github.com/xiehuan123/browser-extension-launch/blob/main/LICENSE"
15
+ ---
16
+
17
+ # 浏览器插件一站式上线
18
+
19
+ 你负责把插件做出来并推进交付,用户负责表达需要、体验结果及必要的本人操作。默认用户只经历:**说想法 → 试用第一版 → 说哪里要改 → 确认具体发布安排 → 获得安装入口**。
20
+
21
+ ## When to Use
22
+
23
+ - Use when a user wants to turn a plain-language idea into a browser extension.
24
+ - Use when continuing, debugging, packaging, submitting, or releasing an existing extension.
25
+ - Do not use for ordinary website development or browser-extension knowledge questions that require no implementation.
26
+
27
+ 本技能是宿主无关的共享 skill,负责编排子技能、受控浏览器工具和本地辅助工具。开始时按 [Agent 兼容说明](references/host-compatibility.md) 识别当前宿主并验证文件、终端、浏览器和子技能能力;不能把安装成功当成工具已可用。首次发布适配以 Chrome / Manifest V3 为基线。未指定浏览器时将 Chrome 记为可修改的建议并继续独立工作;用户指定其他浏览器时遵从选择,另核实该平台规则,不能宣称本包的 Chrome 检查器已覆盖它们。
28
+
29
+ ## 执行约定
30
+
31
+ - 新项目默认正式本地任务,不要求 GitHub、服务器、付费域名或独立原型。已有项目先读其约定,保留现有任务系统和已确认设计。
32
+ - 主动选择可逆技术方案、检查环境、创建任务、制作、排错和验证。已有答案与授权沿用,不让用户逐步批准常规动作。
33
+ - 事实自己查;只有会改变用途、数据去向、费用或分发承诺的重要未知项才问。用日常场景解释影响,一轮只处理当前必要问题;等待时继续不依赖答案的工作。重要选择不以沉默当确认。
34
+ - 对用户说“内容留在这台电脑”“安装包”“已经检查哪些操作”。工单、Manifest、E2E、构建工具等留在后台;平台按钮名称可准确引用。
35
+ - 写代码、截图、静态检查、验收、上传、审核、上线各有独立证据。未运行的检查写“未验证”,不能以工具缺失、旧截图或用户没报错判通过。
36
+ - **真实验收是交付门槛。** 首次可用版、每张实施票和最终发布候选包,必须使用当前宿主中已核实能加载扩展并操作原生入口的受控浏览器工具,完成端到端核心操作及适用的关闭重开验证,保存证据并通过验收门禁,才能称为可用、交付完成或关闭任务。Playwright MCP 是首选参考实现;模拟 Chrome API、静态检查、单独打开弹窗 HTML 均不能替代。具体适配和证据见 [Agent 兼容说明](references/host-compatibility.md) 与 [独立验收](references/acceptance.md)。
37
+ - 当前宿主缺少可用浏览器通道或无法完成真实入口时,按 [依赖准备](references/dependencies.md) 给出具体原因,询问用户是否安装/启用或选择推荐的受控替代方案,等待选择;验收保持 `blocked`,不能静默改用日常浏览器或跳过此节点。已有明确选择沿用,不逐项重新请示。人工辅助后仍须接回真实验证。仅用户明确只要源码或要求中止时,可按该范围交出源码并标明未验收。
38
+ - 缺权限、等待本人操作或商店审核时保存状态,说明下一步;暂停依赖该条件的工作。没有实际持续跟踪能力,不承诺后台监控。
39
+
40
+ ## Limitations
41
+
42
+ - 本技能提供交付流程、检查契约和宿主适配规则,不内置可执行脚本、浏览器二进制、商店账号或发布凭据。
43
+ - Chrome / Manifest V3 是默认基线;其他浏览器、企业分发策略、商店费用与审核规则必须在执行时依据当前官方资料另行核实。
44
+ - 静态检查、文件指纹和自动化报告不能证明真实浏览器操作、商店审核通过或线上可安装;这些状态必须保留各自的直接证据。
45
+ - 需要账号登录、付款、身份声明、权限授权或最终提交时,必须由用户本人决定并完成相应操作。
46
+
47
+ ## 产品使用闭环
48
+
49
+ 新建或改变用户流程时,必须实际执行 `product-designer`,先按 [产品使用闭环](references/product-loop.md) 把进入、核心动作、结果处理、继续使用、退出和恢复写入现有规格。基本操作由 AI 主动补齐,重要体验取舍信息不足时才询问用户。最终真实验收必须包含 `repeat_use` 连续两轮使用,产品体验复核与技术结果分别记录;缺基本闭环不能因技术用例通过而交付。
50
+
51
+ ## 效率与收尾
52
+
53
+ 规划、最终审查或返工时读取 [高效交付](references/efficient-delivery.md):先验证开发环境和特殊浏览器能力,提前列出 AC 与硬规范;按风险拆票、按改动影响复验。同一候选的真实证据和双轴审查可明确覆盖多个就绪工单,最终跨模块验收仍必须实际执行。文档与归档未改变运行包时不重复产品测试;目标内验收、审查和交付文件齐全后一次收尾。用户要求独立 CLI 或完整会话时,按该参考保留实际输入、回复和原始记录。
54
+
55
+ ## 必须执行的节点
56
+
57
+ “执行 skill”指定位并读取其真实入口及所需资源,按流程产生相应结果,记录来源、输入、输出和验证;只出现名字、文件存在或读过说明不算完成。优先执行下列命名子技能;宿主无法安装或调用时,只能采用 [Agent 兼容说明](references/host-compatibility.md) 中定义的等价实现,并明确记录 fallback,不能声称原技能已运行。
58
+
59
+ | 节点 | 必须执行 | 完成证据 |
60
+ | --- | --- | --- |
61
+ | 新建/改变用户流程及体验验收 | `product-designer` | 现有规格中的完整闭环、体验 AC、决策依据和真实连续使用复核 |
62
+ | 扩展设计、开发与发布 | `chrome-extensions` | 实际采用的 API/权限/发布规则及对应产物 |
63
+ | 新建插件 | `extension-create` | 已明确参数、实际脚手架和入口配置、基础构建结果;已有项目不重复初始化 |
64
+ | 发生故障或验收失败 | `diagnosing-bugs` | 可判定失败的复现、诊断、修复及原场景复验 |
65
+ | 每张实施票及版本审查 | `code-review` | 固定基线、实际变更、规格,以及规范/规格两个独立审查结果 |
66
+ | 首版、实施票、最终版本验收 | 受控浏览器工具;首选 Playwright MCP | 当前产物真实加载、原生入口、完整操作及重开证据;不支持时必须取得用户环境选择 |
67
+ | 复杂插件 | `setup-matt-pocock-skills` → `to-spec` → `to-tickets` → `implement` | 项目约定、已发布主工单、带依赖的子工单、按模块分工逐票实现;见 [复杂插件编排](references/complex-workflow.md) |
68
+
69
+ 缺少必需 skill 时按已核实来源和当前 Agent 目标通过 Skill CLI 或宿主安装器补齐后执行,不以名字相近的未知 skill 代替。只有兼容说明明确允许的 portable fallback 才能替代,并必须记录真实执行方式。安装与技术拆分尽量自动完成;浏览器工具不支持时的替代选择、无法推断的产品承诺和真实账号费用仍由用户决定。来源清单见 [依赖准备](references/dependencies.md)。
70
+
71
+ ## 从当前项目继续
72
+
73
+ 1. 确定项目目录;已有 `.extension-launch/` 时先读其中的状态、规格、任务和证据。已有其他任务系统则从那里恢复。不要凭聊天回忆重建或覆盖任务。
74
+ 2. 按 [Agent 兼容说明](references/host-compatibility.md) 和 [依赖准备](references/dependencies.md) 检测必需技能、受控浏览器工具和开发软件,分别记录检测、读取及执行状态;缺什么补什么,不把文件存在当作能力已就绪。
75
+ 3. 主代理自行判断复杂度并写明理由。简单插件走最小本地记录;复杂插件必须走 [复杂插件编排](references/complex-workflow.md),由 AI 发布规格工单、拆票和分配独立模块。按 [任务与恢复](references/workflow.md) 建立状态、规格、决策、任务和证据记录,并关联真正的规格和工单。依据用户指定终点记录 `local`(先自己用)、`materials`(仅材料)或 `live`(上线);默认值不当用户已确认。范围外发布任务保持不适用,不列为本人待办。草拟内容必须补实,不是已确认需求。
76
+ 4. 按下表选择下一步;每阶段结束由主代理汇总进度、证据、未解决问题和下一动作。不要把整张表抛给新手。
77
+
78
+ | 当前需要 | 读取并执行 | 前进依据 |
79
+ | --- | --- | --- |
80
+ | 想法或需求变化 | [任务与恢复](references/workflow.md) | 范围、数据承诺、成功路径可实施;必要答案已记录 |
81
+ | 制作、修复第一版 | [开发与排错](references/development.md) | 当前版本真实安装、原生入口及逐票功能通过,有证据和可恢复版本 |
82
+ | 整体检查、准备新版本 | [独立验收](references/acceptance.md) | 当前候选包必需真实场景通过,失败已修复复验,验收门禁通过 |
83
+ | 上架、被拒、上线或更新 | [发布与维护](references/publishing.md) | 实际后台记录及商店安装结果 |
84
+
85
+ ## 本地记录与门禁
86
+
87
+ 按 [任务与恢复](references/workflow.md) 使用宿主文件工具建立并维护 `.extension-launch/` 状态、规格、决策、任务和证据。按 [独立验收](references/acceptance.md) 对当前构建生成稳定指纹,记录真实浏览器操作证据并输出新的门禁报告。静态结构检查、打包和报告必须写到构建目录外,不覆盖旧成果;机器检查本身不证明真实操作发生。
88
+
89
+ ## 按上下文触发发布协助
90
+
91
+ 只有上下文已明确用户要商店发布/上线时,才提醒 Google 账号、开发者注册、首次 5 美元注册费和付款页支持的国际线上支付卡等准备事项;不是固定开场阶段,不因技能名称或默认 goal=live 推断用户要注册付款。按 [发布与维护](references/publishing.md) 在内置浏览器协助填写用户已提供或已明确采用的名称、描述、图片和宣传资料。素材生成不可用时停在素材步骤,请用户上传后再继续,不能用占位图通过。
92
+
93
+ ## 对用户的交付
94
+
95
+ 交付经真实验收通过的结果及短操作说明,说清做到哪里、依据什么、还需本人做什么。已授权工作持续推进到指定终点;必需真实验收未通过时继续修复或补齐能力,实际外部阻塞时留下 `blocked` 状态及可恢复记录,不宣称可用交付完成。
96
+
97
+ - 第一版:已实际安装并从原生入口验收的目录、核心操作结果、适用的重开持久化证据及限制。反馈直接改这一版,无默认原型评审。
98
+ - 发布准备:最终 ZIP 解压后真实验收通过及门禁报告、真实截图和图标、可粘贴文案、权限数据说明、必要公开链接、具体分发及发布安排。材料做好再处理尚缺授权;不得以“想上线”代填未确认的身份声明或费用选择。
99
+ - 审核期间:实际提交记录、当前状态、下次由谁以何种方式检查。不把上传说成提交或上线。
100
+ - 上线完成:目标用户可安装的商店入口、匹配版本、从商店安装后首用通过的证据、使用说明与反馈入口。插件使用者不需要本技能或开发环境。
101
+
102
+ 规则根据随需求提供的三份调研提炼,包内不依赖原作者电脑目录或 StyleSnip 私有工单。官方事实入口和核查日期见发布参考。
@@ -0,0 +1,103 @@
1
+ # 真实使用与独立验收
2
+
3
+ **未通过真实验收,不得称插件可用、交付完成或关闭实施票。** 这适用于首次可用版、每张实施票、每个实现示例和最终发布候选包;用户明确只要源码或中止工作时,才可按该范围交出标为未验收的源码。
4
+
5
+ 首条功能实现后立即做票内真实检查,版本发布前有独立总验收票。独立指范围、记录与复核分开,不能用实施自述替代。支持代理时让另一代理拿规格、候选包及已验证的真实浏览器能力独立执行;否则主代理另起验收过程,如实记录执行者。
6
+
7
+ ## 使用闭环也是必需场景
8
+
9
+ 按 [产品使用闭环](product-loop.md) 实际执行 `repeat_use`:连续两轮任务,记录可发现的继续路径和退出/恢复。product-designer 复核实际体验,code-review 的 Spec 轴检查 AC 是否漏掉基本路径;复用同批真实操作,不另造重复验收。技术功能通过但使用闭环失败,不得称完整可用。
10
+
11
+ ## 验收范围与证据复用
12
+
13
+ 先按 [高效交付](efficient-delivery.md) 将 AC 映射到操作及结果,并据改动影响确定复验范围。同一候选、同一次真实操作可同时支持实施票和最终验收,记录引用关系;文档未改变运行包时保留原验收。代码变更后,当前候选必需场景仍须真实执行,历史深测只能单列引用,不改写为当前实测。
14
+
15
+ ## 固定候选包
16
+
17
+ 记录版本/提交、构建命令、目录及哈希。发布前将最终 ZIP 解压到新测试目录并加载这一份,按影响复验。测试后包变化需重新关联证据,版本号相同不证明文件相同。
18
+
19
+ **默认必须使用 Playwright MCP 加载当前实际构建产物,完成从安装到结果的端到端验证。** 先读 [Playwright MCP 验收执行说明](playwright-mcp.md),检查当前服务、浏览器、加载方式和原生入口能力。Playwright MCP 的 `--extension` 是连接已有浏览器的桥接方式,不是安装待测插件;不得虚构通用插件安装工具。未经用户选择不使用其日常浏览器。
20
+
21
+ Playwright MCP 缺失、不能加载实际插件或不能操作必需原生入口时,必须向用户说明具体缺口,询问是否安装/启用/修复 Playwright MCP,或选择已核实能够覆盖该缺口的受控替代。推荐的替代可包括具备扩展操作能力的 Chrome DevTools MCP、其他浏览器 MCP 或受控浏览器,但必须取得并保存用户的明确选择;等待期间关卡保持 `blocked`。不能静默换工具、跳过验收,或把人工步骤清单算成完成。已有明确选择和授权则沿用,不为同一环境反复询问。
22
+
23
+ 从 [依赖准备](dependencies.md) 的路由取得 Playwright MCP 能力,或按用户已批准的替代完成准备后,按顺序执行:计算当前目录指纹 → 在独立测试配置中实际加载当前目录 → 核对扩展 ID、路径及版本 → 从工具栏 action、原生侧栏或实际菜单入口打开 → 执行核心动作并读取真实结果 → 关闭后重新从真实入口打开并核对状态 → 保存原始操作与结果证据 → 运行门禁 `check` 并保存 `gate-report.json`。原生入口、核心结果或重开步骤有一项缺失,门禁不得通过。跨浏览器重启等额外场景按产品承诺纳入。
24
+
25
+ | 验证层 | 证明什么 | 不能替代什么 |
26
+ | --- | --- | --- |
27
+ | 语法、类型、构建 | 编译及静态契约成立 | 真实操作 |
28
+ | 模拟 Chrome API 的逻辑测试 | 模拟条件下的业务逻辑 | 实际权限、浏览器事件、存储、剪贴板或原生入口 |
29
+ | 发布目录检查 | 检查器覆盖的结构、引用等 | 完整代码/数据审计、实际功能或商店审批 |
30
+ | 票内真实使用 | 当前功能从真实入口到结果可用 | 跨功能及线上安装 |
31
+ | 独立总验收 | 整合版本完整路径可用 | 商店实际分发状态 |
32
+ | 商店首用 | 目标用户安装线上版本并完成核心任务 | 所有网站/浏览器兼容承诺 |
33
+
34
+ ## 按功能选矩阵
35
+
36
+ | 场景 | 观察结果 |
37
+ | --- | --- |
38
+ | 安装和真实入口 | 来源、ID、版本正确;从工具栏、侧栏或菜单真正打开 |
39
+ | 核心成功路径 | 代表性页面完成任务,核对文本/产出;复制后粘贴,下载后打开 |
40
+ | 关闭、重开、重复 | 保留/取消符合规格,重开浏览器应保存内容仍在,不意外覆盖 |
41
+ | 权限和页面边界 | 拒绝授权、内部页及不支持网页有正确反馈 |
42
+ | 内容和网络异常 | 实际涉及的空/长内容、远程失败、断网可恢复,保留完成成果 |
43
+ | 删除和升级 | 删除正确;隔离测试数据验证旧版迁移及旧功能,不覆盖真实用户数据 |
44
+ | 界面和键盘 | 小窗口、滚动、空态、焦点、键盘;有动效再检查减少动效,有设计基准再对照 |
45
+
46
+ 把 popup 单独当普通页面打开、向普通标签页注入假的 `chrome` 对象、直接调用业务函数或直接写入存储,均不能作为原生核心路径通过证据。必须通过实际入口触发功能,核对真实产出;读取存储可补充诊断,不能代替界面保存操作。
47
+
48
+ 有持久化承诺时,保存后须关掉原生弹窗再打开,核对同一内容;承诺跨浏览器重启保存时,在隔离测试配置中重启后再核对。复制后实际粘贴,标签页恢复后核对新标签页及网址,计时器核对真实后台恢复与到期状态。每项核心承诺均需当前文件的实际结果,不能只依据成功提示、截图或“挺好”。
49
+
50
+ 缺少能力时先完成上述环境选择,按选择补齐受控环境,不能将人工步骤表交给新手后结束开发。只有已说明且无法自动化的原生环节确实必须本人操作时,才给当前一步并保留对应 `blocked` 状态;取得可核对的真实操作结果后由 AI 接回受控端到端验收。人工辅助不是工具选择或真实结果的豁免。沿用已有测试授权,不为同一测试环境内例行加载测试扩展、重载或检查反复请求确认;未经用户选择不切换到其日常浏览器,不为测试清空主浏览器数据。
51
+
52
+ ## 单条证据
53
+
54
+ ```text
55
+ ID: AC-01
56
+ 关联规格/实施票:
57
+ 版本、提交或源码快照:
58
+ 构建包及 SHA-256:
59
+ 环境: 自动化服务、浏览器版本、测试页面/配置、扩展 ID
60
+ 替代环境(适用时): 具体缺口、用户选择及原始选择证据路径
61
+ 真实安装与原生入口证据:
62
+ 前置条件:
63
+ 实际操作:
64
+ 预期结果:
65
+ 实际结果:
66
+ 方式和执行者: 自动 / 人工 / 辅助人工
67
+ 证据: 截图、日志、导出结果等路径
68
+ 结论: 通过 / 失败 / 未验证 / 不适用(原因)
69
+ 失败关联票及复验记录:
70
+ 门禁报告 gate-report 路径:
71
+ ```
72
+
73
+ 截图是辅助,存储/复制/导出要检查真实结果。用代表性非私人数据,避免截图暴露账号信息。
74
+
75
+ ## 机器门禁与真实证据
76
+
77
+ 以下由 AI 使用宿主文件、哈希和浏览器工具完成,并在技能目录之外保存证据;输出报告必须使用新路径,不能覆盖旧证据。递归列出当前候选运行目录中的文件,按稳定的相对路径顺序记录每个文件的 SHA-256、字节数以及候选目录整体摘要。该指纹对象原样放入真实验收 JSON 的 `candidate` 字段,只表示文件身份,不生成通过记录。真实验收 JSON 使用以下契约,操作未发生时不得预填 `passed`:
78
+
79
+ | 字段 | 内容 |
80
+ | --- | --- |
81
+ | `schema_version` | `1` |
82
+ | `candidate` | 当前目录的 `fingerprint` 输出对象,包含全部运行文件及 SHA-256 |
83
+ | `environment` | 实际 `automation_provider`、`browser_name`、`browser_version`、`extension_id`、`installation_type`;默认服务为 `playwright-mcp`,安装方式为 `unpacked`、`store` 或 `enterprise` |
84
+ | `browser_choice` | 使用替代服务时必填;`default_provider: playwright-mcp`、与实际环境一致的 `selected_provider`、具体 `reason`,以及 `user_decision: {status: approved, evidence_path: ...}`;路径必须指向用户明确选择的原始记录,不能以 AI 自述代替 |
85
+ | `required_scenarios` | 至少含 `install`、`native_entry`、`primary_flow`、`reopen`、`repeat_use`,并加入规格中的其他必需场景编号 |
86
+ | `scenarios` | 实际场景列表;每项有唯一 `id`、与必需清单一致的布尔 `required`、`status`、`method`、非空步骤数组 `steps`、可观察的 `expected` 和 `actual`、证据数组 `artifactPaths` |
87
+ | 通过场景 | `status: passed`,`method` 必须为 `real_browser_tool` 或 `witnessed_manual`;后者仍须记录实际自动化服务和可核对的原生操作结果,不能豁免服务选择;模拟、静态检查不能使用这些方法值 |
88
+ | `native_entry.entry_kind` | 对应场景对象的 `entry_kind` 为实际入口:`native_action`、`context_menu`、`keyboard_command`、`native_side_panel` 或 `browser_extension_entry` |
89
+ | `artifactPaths` | 相对于真实验收 JSON 所在目录的真实证据文件路径;文件必须存在、非空且位于该目录内,不能指向验收汇总 JSON 自己 |
90
+
91
+ `repeat_use` 还须包含 `rounds`(至少两项,每项非空 `entry` 和 `outcome`)、`continuation`、`exit_or_recovery`,全部描述真实操作。旧报告缺该场景时不能通过新门禁,但不自动修改旧记录或重测已停止的例子。字段完整不证明体验良好,仍需核对实际 UI 与操作记录。
92
+
93
+ `reopen` 必须实际关闭并重新打开适用的插件入口,核对按规格应保留或清除的状态;有本地保存承诺则必须核对真实保存内容。跨浏览器重启作为额外必需场景记录,不能用简单重开弹窗替代。
94
+
95
+ `automation_provider` 默认只填 `playwright-mcp`。用户明确选择的替代值限于 `chrome-devtools-mcp`、`browser-mcp`、`controlled-browser`,并要求 `browser_choice.selected_provider` 与之相同。`user_decision.evidence_path` 相对于验收 JSON 所在目录,须指向该目录内真实、非空的原始用户选择记录;不得指向验收 JSON 自己,不得预写同意或以等待超时代替选择。可从已有会话复制用户实际选择并记录来源,不得改写为未发生的批准。
96
+
97
+ 工具能力、受控浏览器配置和实际执行方式一并留证。加载或入口失败时记录失败并保持关卡 `blocked`,按已批准环境修复;需要更换服务时走用户选择流程。只有受控环境中无法自动化的原生环节才辅以实际原生操作,随后接回真实验证;不默认切换日常浏览器。门禁不能识别虚构证据,主代理仍须核对实际浏览器操作、产出及原始记录。
98
+
99
+ 失败留记录 → 回实施票或新缺陷票 → **读取并执行 `diagnosing-bugs`**,复现并定位原因 → 修复 → 原失败和受影响路径复验 → 新证据回填。验收票不夹带新功能、不降低预期。
100
+
101
+ 必需场景有当前包真实通过证据,并经上述门禁 `check` 返回 `gate_passed: true` 后才关闭;将生成的 `gate-report.json` 路径回填任务。缺报告、候选文件指纹已变化、门禁拒绝或未执行均不能关闭。门禁只核验证据契约,不能把虚构或模拟记录变成真实通过。
102
+
103
+ 无关场景写不适用并说明与规格的关系;安装、原生入口、核心路径和重开不得以工具不足标不适用。必需场景失败先修复;能力不足必须完成环境选择并继续补齐,等待用户选择或确实依赖本人操作时交付状态保持 `blocked`。用户拒绝安装且未选可用替代时,如实保留未验收状态。可以继续无依赖的材料工作,但不能用材料完成冲抵验收。反馈精确说检查了哪些、还剩哪一步,不报笼统全部通过。
@@ -0,0 +1,46 @@
1
+ # 复杂插件:自动发布工单、拆分和独立实施
2
+
3
+ 先自行评估范围;命中复杂条件时必须执行本文件的真实子技能链。用户只处理目标、重要取舍和结果反馈,不维护工单或决定技术拆分。
4
+
5
+ ## 复杂度由主代理决定
6
+
7
+ 命中任一明显条件就走复杂链,并将具体需求和理由写入 `state.workflow.complexity`:
8
+
9
+ - 三个以上可分别验收、彼此有依赖的用户功能。
10
+ - 登录、账号、云同步、付费服务或后端 API 形成独立模块与跨端状态。
11
+ - 多网站适配、采集/处理/导出流水线,或多个浏览器上下文之间的复杂消息和状态同步。
12
+ - 旧数据迁移、恢复、后台异步任务等,需要独立模块契约及跨功能回归。
13
+ - 现有项目改动跨多个模块,不能在一张小范围实施票里清楚验收。
14
+
15
+ 单一 popup + 本机保存不因为文件多就算复杂。需要升级路线时在原记录上继续,不重复创建规格或工单。开始实施前不得把 `undetermined` 当成默认简单。
16
+
17
+ ## 显式执行技能链
18
+
19
+ 本机已验证这套技能与 `diagnosing-bugs` 同级安装,部分带 `disable-model-invocation` 或关闭自动触发。这不是可以省略它们的理由:按用户本次对主编排的明确授权显式定位、读取并执行,不修改它们全局的触发设置。其上游默认的“用户触发技能不再调用用户触发技能”偏好,在本主技能范围内采用本次授权的自动编排适配。
20
+
21
+ 1. **`setup-matt-pocock-skills`:首次或配置缺失时执行。** 读取已有项目约定;没有 tracker 时选该技能原生 Local Markdown 模板。准备 `docs/agents/issue-tracker.md` 及实际需要的 domain/triage 约定,原位维护既有 AGENTS/CLAUDE 区块。已有正确配置不重建。
22
+ 2. **`to-spec`:形成并发布规格主工单。** 先执行 product-designer,将完整使用闭环和体验 AC 写入输入规格,不能只以技术功能列表拆票。 输入已有需求、决定和代码背景;用户已说清的内容不重复采访。主代理决定可逆的实现与测试方式,将规格发布至已配置 tracker。Local Markdown 的正式路径为 `.scratch/<feature>/spec.md`;真实写入即完成本地发布,不需要 GitHub。保留主票编号/路径及 `ready-for-agent` 状态。
23
+ 3. **`to-tickets`:发布子工单及依赖。** 拆票遵循 [高效交付](efficient-delivery.md):同一机制的多站适配可放在一票,按风险与独立契约划分,不为站点数或文件数重复流程。 输入真实主票。按可演示、可验收的纵向功能切片拆分,每票同时覆盖所需界面、逻辑、数据和检查;不能只拆 UI/API/测试三层。Local Markdown 每票单独保存为 `.scratch/<feature>/issues/<NN>-<slug>.md`,写 `Blocked by`、范围、验收、必要技能、模块和文件所有权。
24
+ 4. **`implement`:按前置依赖逐票独立实施。** 主代理自动选择前置完成的票;每个执行者先读该技能、原票和契约,再实现。执行技能要求的 `tdd` 等条件依赖,先在真实行为边界定义检查。派发子代理时明确模块/文件所有权、输入输出、禁止回滚他人改动。只有无依赖且写入范围不冲突的票并行;公共 manifest、共享协议和整合由主代理协调。
25
+ 5. **`code-review` + Playwright MCP:逐票收口。** 必须执行真实双轴审查及当前版本的端到端检查。同一候选可将就绪票批量审查和验收,逐票关联实际覆盖的 AC、证据与结论;不跳过依赖。故障立即进入 `diagnosing-bugs`,修复后复验。把技能调用记录、变更版本、浏览器证据及 gate 报告回填同一票,才关闭该票并释放依赖。
26
+ 6. **独立总验收与发布工单。** 模块全部整合后保留单独总验收票,实际执行跨模块路径和必要回归;同一最终候选已有的相同整体操作可引用,不按票号重复执行,不能用分模块测试替代缺失的整体路径。随后按交付目标建立/更新发布准备及上线跟踪票,主任务依自己的承诺范围关闭。
27
+
28
+ `to-spec` 产生的就绪新票不必再调用 `triage`。只有外部反馈、旧票或新故障需要分流时执行 `triage`,主代理在已有授权内判断可实施性,必要产品信息缺失才询问。`wayfinder` 默认是规划和 HITL 决策流程,不作为普通复杂插件的默认前置;确有未决重要决策时才按其适用范围用。
29
+
30
+ ## 权威记录与调用证据
31
+
32
+ 复杂项目的真实规格和实现票来自 `to-spec` / `to-tickets`,按 tracker 规定存储。`.extension-launch/state.json` 只索引这些文件或远程 ID;初始化的 `.extension-launch/tasks/` 模板不能与技能原生票竞争权威,也不能填一张占位票就称已执行子技能。将真实产物链接写入 `workflow.authoritative_artifacts`,主代理统一更新状态。
33
+
34
+ 每个必需调用记录:skill 名称、解析到的真实入口、文件哈希/来源修订、输入规格或票、实际输出、检查结果、状态、采用的授权适配。`read_evidence` 与 `execution_evidence` 分开;只有读取入口、没有执行产物时保持未执行。已读且版本未变的内容可复用,不重复读文件充当更多执行次数。
35
+
36
+ ## 工单决策由 AI 处理
37
+
38
+ 用户本次已授权自动管理本地工单和独立模块开发。以下机械决定由主代理完成并记录“按用户授权由编排决定”:tracker 默认值、标签/目录、技术框架、规格发布、拆分粒度、依赖、选票顺序、模块归属、测试 seam 和技术审查处理。将这些输入显式交给子技能,不再次向用户收集相同选择,也不伪造用户逐项说过“同意”。
39
+
40
+ 这份授权不自动包含未知收费、身份声明、新的数据外发承诺、未选定远程仓库或 Playwright 环境不支持时的替代决定。确需用户选择时仅暂停依赖答案的工作;工单技术细节仍由主代理维护。
41
+
42
+ ## 审查不能漏掉未提交文件
43
+
44
+ 调用 `code-review` 前由主代理准备固定基线、真实变更和规格路径,不让新手挑 Git 提交。原技能的 `<base>...HEAD` 只覆盖相应提交;待审实现必须实际进入审查差异,包含新文件。使用临时审查快照或工作区差异适配时明确记录,禁止空 diff 报通过。复杂项目可用本地 Git 保存可恢复版本,不因此要求 GitHub。
45
+
46
+ 双轴结果分别保留 Standards / Spec;某一轴失败就先修复。浏览器验收及缺少 Playwright MCP 的处理严格按 [验收参考](acceptance.md),不能因项目复杂省掉真实入口、整合验收或用户环境选择。
@@ -0,0 +1,62 @@
1
+ # 必需能力、子技能来源和浏览器工具
2
+
3
+ 先读 [Agent 兼容说明](host-compatibility.md)。这是跨宿主依赖编排:优先执行下面的命名技能;缺失时按核实来源用 Skill CLI 或宿主安装器补齐。只有兼容说明明确允许的 portable fallback 或经核对覆盖同一能力的宿主原生技能可以替代,必须记录真实来源与差异,不能冒充命名技能已执行。
4
+
5
+ ## 哪些节点必须用什么
6
+
7
+ | 节点 | 必需依赖 | 适用条件 |
8
+ | --- | --- | --- |
9
+ | 新建/改变用户流程及体验验收 | product-designer | 拆票前定义闭环与体验 AC,验收时复核连续使用和恢复路径 |
10
+ | 扩展设计、开发、修改和商店准备 | chrome-extensions | 对应阶段必须读取并执行相关部分 |
11
+ | 初始化插件 | extension-create | 每个新项目;已有项目记录已有脚手架,不重复初始化 |
12
+ | 可复现故障、运行或验收失败 | diagnosing-bugs | 一旦发生就进入完整诊断循环,不能用短排错段落替代 |
13
+ | 实施票与候选版本审查 | code-review | 提供真实比较基线与规格,执行两个独立审查维度 |
14
+ | 真实端到端验收 | 受控浏览器工具;首选 Playwright MCP | 必须加载实际插件并操作原生入口;不支持时必须询问安装/启用或替代选择 |
15
+ | 复杂项目配置及工单 | setup-matt-pocock-skills、to-spec、to-tickets、implement | 主代理自行判定复杂后强制,完整顺序见 complex-workflow.md |
16
+ | 工程链的条件依赖 | tdd、triage、domain-modeling 等 | 按实际子技能触发条件执行;triage 不加在每张新就绪票前 |
17
+
18
+ product-designer 在上表节点必需执行,具体见 [产品使用闭环](product-loop.md);ui-designer 在界面节点按需调用,有动效再用 motion-designer、有新图像再用 imagegen。它们不替代上述必需技能。现代 Web API 等确实需要 modern-web-guidance 时按相关技能引用补齐,不一次安装无关技能。
19
+
20
+ ## 已维护的来源清单
21
+
22
+ 机器可读的 [required-skills.json](required-skills.json) 保存已核实仓库、精确子目录、固定修订、许可及入口哈希。先复用用户当前版本;本地文件与上游不相同并不意味着应该升级,先读真实内容,保留定制并记录兼容性。
23
+
24
+ - chrome-extensions:GoogleChrome/modern-web-guidance,skills/chrome-extensions,Apache-2.0。
25
+ - extension-create:quangpl/browser-extension-skills,skills/extension-create,MIT。
26
+ - 六个工程主链技能:mattpocock/skills,skills/engineering/<name>,MIT。本地部分技能与所记录上游版本不同,分别保存本地核查哈希与上游哈希,不伪称本地安装于该提交。
27
+ - product-designer:已核实部分宿主安装的实际入口及哈希,来源未核实为公开仓库,不能臆造下载地址。优先复用宿主版本;缺失时按兼容说明执行 `product-loop.md` portable fallback,并明确记录没有运行命名技能。
28
+ - Playwright MCP:microsoft/playwright-mcp / @playwright/mcp,固定参考版本及配置见 [Playwright MCP](playwright-mcp.md)。它是执行工具,不是安装一个同名 SKILL.md 就可用。
29
+
30
+ ## 查找、安装、读取和执行分开
31
+
32
+ 1. 获取宿主公开技能与工具清单,再检查其明确的技能目录及必需技能位置。用户提到与 diagnosing-bugs 同级时检查该目录,包括显式调用型技能、大小写入口和有权限读取的链接;不能因为未出现在自动列表就说没安装。不扫描凭据配置。
33
+ 2. 检查必需技能目录与真实入口,记录 detected/missing;文件存在不证明已激活或已执行。阶段进入前读取 SKILL.md 及该阶段引用文件,按宿主的显式调用机制执行。宿主没有专门调用命令时,显式读取并逐步执行真实技能,而非声称调用了不存在的命令。
34
+ 3. 缺失时读取 skill-installer 并用其公开仓库安装器按清单固定来源补齐;宿主另有安装器时使用相应等效安装接口。参数形状为 `install-skill-from-github.py --repo <repo> --ref <ref> --path <path>`。安装的是完整技能目录及引用资源,不只下载入口。自动完成当前任务已授权的必要安装,不覆盖旧技能或把自己的私人目录当下载源。
35
+ 4. 核对入口、资源和来源;需要宿主重载时保存 pending_reload 及恢复动作,重载后再查可用性。无法安装或来源无法核实时明确具体缺项并保持对应步骤阻塞,不用包内文字替代必需依赖。
36
+ 5. 执行前准备输入,执行后保存真实输出及验证结果。`source_path` / `source_revision` / `read_evidence` / `execution_evidence` / `status` 写入 workflow.required_skill_stages。存在、已读取、已执行三个状态分开;子技能阶段有产物且核对完成才更新状态。
37
+
38
+ 用户已经明确授权这条自动主链。对关闭自动触发的 to-spec/to-tickets/implement 等进行显式编排,不修改其全局触发配置;新手不必手动输入每个技能。技术选型、拆分、依赖和本地发布等机械确认由主代理按授权提供给子技能,具体适配见 [复杂流程](complex-workflow.md)。
39
+
40
+ 必需调用不等于照抄样例。extension-create 的框架问题由 AI 根据目标预先选定并传入;必须真正执行所选脚手架、配置入口和检查构建。已有项目不强行重建。示例的广泛网站权限不自动继承;遇技能样例与真实需求、当前官方 API 或用户明确约束冲突时,保留技能执行,记录有证据的局部适配,不能借此取消真实验收或跳过整项技能。付费推广或相关技能推荐不是强制购买/全量安装要求。
41
+
42
+ ## Playwright MCP 是必须出现的决策节点
43
+
44
+ 默认首先检查 Playwright MCP 的真实工具和当前支持能力:浏览器是否可启动、能否加载当前扩展、是否能观察并操作真实入口。必须在正式开发早期发现环境缺项,不能到交付时才把整张验收表给用户。
45
+
46
+ Playwright MCP 当前没有通用的“安装任意扩展”工具,不得捏造 extension_install。按照 [专用配置说明](playwright-mcp.md) 将实际构建加载到独立的持久 Chromium 上下文,再由 MCP 操作。普通页面能打开、桥接扩展已连接或直接打开 popup.html 都不足以说明端到端通道成立。
47
+
48
+ 出现 MCP 未安装、未启用、浏览器不兼容、加载失败或原生入口无法受控时:先记录已查明原因和可行方案,**询问用户是否安装/启用 Playwright MCP,或选择推荐的其他受控方案**。可推荐 Chrome DevTools MCP 的扩展专用工具;若用户暂不处理则保持 waiting_user_environment_choice / blocked。等待期间继续独立工作,不能静默切换、跳过检查或标为可用。此前对相同环境的明确选择沿用,不重复询问。
49
+
50
+ 推荐提问的内容应类似:“当前环境还不能通过 Playwright MCP 完成插件加载/入口操作。可安装或启用它,或使用已核实能真实加载插件的 Chrome DevTools MCP;请决定采用哪一种。”选项按当时事实提供,不能把尚未核实的替代说成已可用。实际用户选择和原因保存为原始证据。
51
+
52
+ 选定后才配置和启用对应通道。优先项目专用配置和独立 profile,保留用户已配置服务;不得擅自切换日常浏览器。重新加载宿主后再次检查实际调用。只有不可自动化的原生步骤才由用户辅助,随后 AI 必须接回端到端检查。
53
+
54
+ 验收 JSON 的 environment.automation_provider 默认必须为 playwright-mcp。若选择 chrome-devtools-mcp / browser-mcp / controlled-browser,按验收参考保存 browser_choice 和用户批准证据;门禁会拒绝缺失选择、遗漏 provider、模拟方法或过期文件指纹。门禁只检查记录,不负责安装或驱动浏览器。
55
+
56
+ ## 失败和恢复
57
+
58
+ - 技能缺失与 MCP 不可用分别处理,不重复安装方法技能解决浏览器连接。
59
+ - 同一失败查明原因后至多原样重试一次,再按支持路径处理;不关闭工具限制。工具明确允许临时目录时可复制已授权构建并核对哈希,不能假定各 MCP 的目录策略相同。
60
+ - 软件版本按所选脚手架和官方文档核实;安装 extension-create 不代表其 Node/包管理器或项目构建已可运行。在实际执行 shell、工作目录和项目缓存下跑最小正式构建,并早测所需原生入口及特殊能力,按 [高效交付](efficient-delivery.md) 记录可复用环境结果。
61
+ - 固定来源失效先保留已有成果,再核实维护者的新修订。未知来源不能替代清单,已知定制不静默覆盖。
62
+ - 用户取消工作时按范围停止,保留未验收状态;不能因必需节点存在就继续运行用户已停止的例子。
@@ -0,0 +1,42 @@
1
+ # 制作第一版、审查与排错
2
+
3
+ 实现或修复时读取。先读规格、前置票、既有规范和待保护的旧功能;了解代码时遵从项目索引约定。首条路径完成实现后,必须在真实 Chrome 安装并从原生入口验收通过,才能交付为可用扩展。
4
+
5
+ ## 先执行必需技能,再选择起点
6
+
7
+ 每次进入扩展开发先读取并执行 chrome-extensions 的相关规则和引用资源。新项目必须执行 extension-create:主代理把已知名称、用途、功能、框架选择作为明确输入,实际运行所选脚手架、配置入口和最小权限,再构建核实;不能只读一次说明就复制包内模板而称初始化完成。
8
+
9
+ 技术选择由 AI 在用户授权内完成,不再问新手 React/Vue/WXT 等。extension-create 当前支持 WXT/CRXJS;按真实版本和官方文档准备 Node、包管理器及命令,简单功能也可选轻量模板。已有项目保留既有结构和锁文件,不为了满足初始化节点再重建,记录该节点因接手已有项目不适用。
10
+
11
+ 复杂度由主代理自行识别,命中条件必须走 [复杂插件编排](complex-workflow.md),每张实施票显式调用 implement;该技能要求 tdd 时按行为边界执行。原生参考模板和 examples 只作为代码阅读素材,不替代必需调用。用户已停止的例子不因更新编排而继续运行。
12
+
13
+ 实现前按 [高效交付](efficient-delivery.md) 提取当前必需技能的硬规范并尽早检查;涉及共享设置时,先验证并发读写和异常后继续操作。特殊浏览器能力尽早探测,不在最终验收才发现环境不支持。
14
+
15
+ ## Chrome 实现要点
16
+
17
+ - 每项权限对应功能。点击后临时读当前网页可评估 activeTab 与 scripting;持久网站访问才选窄化 host permissions,并处理临时授权生命周期。不要默认所有网站、tabs、debugger 等权限。[activeTab](https://developer.chrome.com/docs/extensions/develop/concepts/activeTab)
18
+ - popup 会关闭,service worker 会休眠;需要保留的内容写入适合存储,不靠后台全局变量永存。读写失败反馈给用户,迁移不能每次启动清空旧内容。[后台生命周期](https://developer.chrome.com/docs/extensions/develop/concepts/service-workers/lifecycle)
19
+ - 网页输入和消息按不可信内容处理,校验消息类型、发送方及参数。展示文本优先 textContent,不把网页文字拼成可执行 HTML。注入和清理不得破坏原网页。
20
+ - 执行逻辑随包提供,避免 CDN 脚本、下载代码后执行、字符串 eval。远程 API、图片、普通数据依行为判断,不一概当违规代码。[MV3 要求](https://developer.chrome.com/docs/webstore/program-policies/mv3-requirements)
21
+ - 扩展文件用户可查看,不能放服务端私钥或开发者长期密钥。付费 AI/服务先明确数据接收方及费用承担方式,再做服务和授权,不套用开发者个人凭证。
22
+ - 不支持的内部页、未获站点权限、断网、空内容、重复点击分别给实际提示。确定原因后才指导刷新或授权,不把所有错误归因于用户环境。
23
+
24
+ ## 界面与逐票循环
25
+
26
+ 按 product-designer 已定义的 [使用闭环](product-loop.md) 实现可发现的再次操作、结果处理、退出与恢复;基本路径遗漏时先补 AC,不以用户未逐项指定为由省略。围绕主要动作组织入口,结果可见,成功后说明保存在哪里。空态说下一步,错误说明恢复方法;处理中避免重复提交,取消保留约定成果。适配实际 popup/侧栏尺寸,长文可滚动;表单有标签、键盘可达、焦点可见。有确认参考图才对照,有动效才检查减少动效。
27
+
28
+ 不把安装脚本、进度字段、开发说明放进插件日常界面。插件使用者只需自己的操作,开发 skills 和任务记录属于制作者。
29
+
30
+ 循环:读取真实实施票 → 执行 chrome-extensions(复杂项目同时执行 implement)→ 实现完整小功能并正式构建 → 默认 Playwright MCP 加载当前产物并核对 ID/版本 → 原生入口端到端核心操作及适用关闭重开 → 故障执行 diagnosing-bugs 并复验 → 执行 code-review 双轴审查 → 保存版本和调用证据 → 验收门禁通过 → 关闭实施票。Playwright MCP 不支持时必须先取得用户安装/启用或替代选择,不能自行换工具。
31
+
32
+ 按真实风险验证存储、权限、异步消息和迁移,不为微小可逆文案写镜像测试。逐票真实使用检查不推迟到发布前;模拟 API、单独打开弹窗页面及静态检查不能替代。新示例遵循同一循环。必需真实检查尚未通过时,实施票保持进行中或因明确外部依赖而 `blocked`。按 `acceptance.md` 先为 `BUILD_DIR` 生成稳定候选指纹,将实际证据写成 JSON,再以宿主文件工具生成新的门禁报告,保存 `gate_passed: true` 的报告及路径。
33
+
34
+ ## 首次试用及排错
35
+
36
+ 由 AI 默认使用 Playwright MCP 完成首次真实端到端试用。按 `dependencies.md` 探测扩展加载和原生入口能力;缺失或不支持时保持 blocked,明确询问安装/启用或推荐受控替代,并等待选择。已获相同环境选择则沿用;不自行换 MCP,不默认交回整份人工验收表,也不使用未被选定的日常 Chrome。
37
+
38
+ 只有受控环境中无法自动化的原生环节确实需本人操作时,才参考 Chrome 当前[本地加载教程](https://developer.chrome.com/docs/extensions/get-started/tutorial/hello-world):扩展管理页 → 开发者模式 → “加载已解压的扩展程序” → 确切运行目录 → 工具栏入口。每次只给当前所需一步和确切测试配置/目录,核实实际结果后由 AI 接回端到端验证;依赖该步的交付保持 `blocked`,不让用户替 AI 做完整验收。
39
+
40
+ 更新本地版先核对扩展 ID、加载路径、版本、扩展是否重载、网页内容脚本是否需要刷新。不为测试清空或重启用户主浏览器配置;通过已授权的浏览器通道管理测试环境。
41
+
42
+ 发生“没反应”、报错、构建失败或验收失败时,必须实际读取并执行 diagnosing-bugs。先建立能判定这次具体故障的失败循环、保存最小复现,再提出可证伪原因并逐项验证;在正确的行为边界保留回归检查,修复后复跑原场景及受影响路径。能自行查到的环境事实不问用户,技术排查由 AI 决策;缺少真正影响复现的场景信息时才问。日志与结果按普通语言说明,不以包内这段摘要替代技能阶段,不改预期来制造通过。新增承诺回规格流程。
@@ -0,0 +1,52 @@
1
+ # 高效实施、复验与收尾
2
+
3
+ 开始规划、准备最终审查或发生返工时读取。保留所有必需技能和真实验收;优化的是重复工作,不以时间预算豁免失败场景。
4
+
5
+ ## 开发前准备
6
+
7
+ - 在实际执行环境中确认工作目录、Node/包管理器、所选脚手架版本及项目缓存可用;先运行最小正式构建。记录可重用命令与目录,后续不凭记忆重写路径。不固定某台机器的版本、端口或绝对路径。
8
+ - 从实际读取的必需技能提取会影响实现的硬约束,例如异步消息响应、权限、存储和代码规范;能用现有 lint/静态检查发现的,在第一次浏览器验收前检查。规范来自当前技能,不能误说成浏览器平台强制规则。
9
+ - 先验证所选 MCP 能真实安装扩展、触发原生入口并读取结果;复制、截图或重启等特殊能力仅在需求涉及时早测。替代默认 Playwright MCP 仍须按依赖规则取得用户选择。版本和环境未变时复用已核实结果。
10
+ - 新建或改变使用流程先实际执行 product-designer,按 [产品使用闭环](product-loop.md) 定义继续使用与恢复,验收包含连续两轮;效率优化不得省略这一体验关卡。
11
+ - 将 AC 写成“前置状态 → 实际动作 → 预期 → 证据”,提前覆盖核心路径、故障恢复及产品承诺的持久化。涉及设置时用非默认值;涉及清空、并发保存或跨浏览器重开时明确列项。不要等最终审查才发明测试范围,也不为简单功能增加无关矩阵。
12
+
13
+ ## 拆票与批次
14
+
15
+ 复杂插件仍执行 setup → to-spec → to-tickets → implement。按用户功能、独立风险和模块契约拆票,不按文件数量或同一种机制支持几个网站拆出重复流水线。
16
+
17
+ 主代理可合并尚未关闭、同一共享实现且需要一起验证的票,保留原 AC 映射与模块所有权,更新依赖,不删需求。每张实际实施票仍需真实验收和 code-review。无依赖且写入范围不冲突的模块可独立开发;有依赖的工作不得因合批绕过前置条件。
18
+
19
+ 同一固定候选的一次双轴审查可以覆盖多个就绪票及最终版本,前提是明确列全基线、差异、规格和 AC,并分别回填结论。最终跨模块验收票仍保留,但可直接引用同一候选、同一实际操作的证据,不为工单编号重复安装和操作。不能用分模块检查代替缺失的整体路径。
20
+
21
+ ## 按影响复验
22
+
23
+ | 改动 | 必需工作 |
24
+ | --- | --- |
25
+ | 仅文档、工单状态、会话归档,运行包字节未变 | 校核记录、链接与原指纹;不重跑产品测试、浏览器或已通过的代码审查 |
26
+ | 局部界面或独立逻辑 | 正常构建与针对性检查;加载新候选,验证实际原生核心路径和受影响操作;涉及保存则重开验证 |
27
+ | 权限、入口、消息、共享状态、存储、过滤规则或依赖变化 | 对新候选验证相关跨模块路径、失败恢复及适用持久化;影响无法界定时扩大回归 |
28
+ | 仅打包,ZIP 内相对路径和字节均与已验收目录相同 | 本地交付核对文件清单与哈希;有商店发布需求时仍执行发布参考要求的 ZIP 解压加载验证 |
29
+
30
+ 每次运行包变化都生成新指纹,最终候选始终必须有实际加载、原生入口、核心流程和适用重开的当前证据。复用未变模块的历史深测时,记录旧候选、覆盖场景、未变的依赖及影响判断,作为历史证据单列;不得修改旧指纹或把未重跑场景标为新候选实测。属于当前最终验收必需场景的,仍须在当前候选实际执行。现有门禁不支持用历史通过记录冒充当前通过。
31
+
32
+ ## 审查前备齐,失败后只修缺口
33
+
34
+ 准备固定基线、全部差异(含新文件)、AC、当前成品、真实证据和门禁报告,以及本次交付要求的 ZIP 与 FINAL_REPORT 草稿。报告写明待审查,不预填通过。用机器检查先发现文件缺失、JSON 无效、必需场景 ID 缺失和哈希不符,再交 code-review;静态检查单列,不能填成必需真实浏览器场景。
35
+
36
+ 双轴审查必需执行。功能/安全/数据问题必须修复复验;明确的项目硬规范也必须满足,但应在前置检查中发现。建议性重构或纯偏好不自动扩大交付范围。整改复审聚焦原 findings、修复差异及受影响 AC,不因状态文档变化重启整个审查周期。
37
+
38
+ 遇到已知工作目录或证据格式错误,diagnosing-bugs 可复用已确认根因,修正调用并验证结果,不重做无关产品实验。连续出现同类返工时,主代理应检查编排、模板和依赖是否有问题,合并重复动作;不得降低预期来结束任务。
39
+
40
+ ## 一次收尾与时间记录
41
+
42
+ 只有目标内 AC、当前验收门禁和双轴审查通过且交付文件齐全,才进入收尾。一次更新权威工单、简短状态索引、最终报告和本地版本记录后交付;不再增加全文日志、形式化清理、新审查或产品测试。发现实质缺陷则返回对应节点。
43
+
44
+ 规格和工单为权威正文,state 仅索引,报告链接证据;不要手工维护多份相同状态。已有状态工具可用时调用它更新索引;没有工具则一次性更新必要字段,不临时开发一套任务平台。结束后不为“再确认一次”循环运行同一套检查。
45
+
46
+ 记录首次开始、各阶段结束及中断/恢复时间。多项目并行时区分整体历时和各项目历时,不能相加冒充用户等待时间。预计明显超出计划或用户催促时,立即报告已完成成品、剩余具体问题,并缩减无关范围与重复步骤;不凭空承诺剩余分钟数。
47
+
48
+ ## 用户要求独立 CLI 或完整会话时
49
+
50
+ 仅在本次有此要求时启用。每个项目保留独立目录与原会话 ID,按用户指定模型和强度运行;说明配置/历史/profile 隔离与操作系统隔离的区别。记录控制消息是否真正进入会话;排队不等于已送达,不把中断重启当作常规消息通道。恢复时只传缺口和下一动作,不重复初始化或读取全部技能。
51
+
52
+ 从原始公开消息生成 conversation.md,明确标注用户原话、主线程委派、恢复指令和 AI 回复;保留原始主/子会话、工具事件及校验清单,不导出认证文件或把内部推理展开成公开对话。无法取得原始内容时标明缺失,不能补写。运行中采用增量或按需快照,结束后做一次完整导出和一致性核对;避免多写入者覆盖同一个 Markdown。该记录不自动代表包含桌面主线程全部聊天。
@@ -0,0 +1,58 @@
1
+ # Agent host compatibility
2
+
3
+ Read this when installing, resuming on a different agent, or resolving a missing tool or child skill. The shared workflow is host-neutral; installation paths, tool names, permission prompts, and browser automation vary by host.
4
+
5
+ ## Verified Skill CLI targets
6
+
7
+ The public repository root contains one valid `SKILL.md`. Skill CLI 1.7.0 discovered it and installed the complete folder for these targets in an isolated project:
8
+
9
+ | Agent target | Skill CLI id | Installed through |
10
+ | --- | --- | --- |
11
+ | Codex | `codex` | shared `.agents/skills` |
12
+ | Claude Code | `claude-code` | `.claude/skills` plus shared skill files |
13
+ | Cursor | `cursor` | shared `.agents/skills` |
14
+ | GitHub Copilot | `github-copilot` | shared `.agents/skills` |
15
+ | OpenCode | `opencode` | shared `.agents/skills` |
16
+
17
+ Install for all five:
18
+
19
+ ```bash
20
+ npx skills add xiehuan123/browser-extension-launch \
21
+ --skill browser-extension-launch \
22
+ --agent codex claude-code cursor github-copilot opencode
23
+ ```
24
+
25
+ Use `-g` for user-level installation. Current Skill CLI 1.7.0 requires Node.js 22.20+. Other supported agents can use `--agent '*'`; do not claim a host is verified until its installation and required runtime capabilities have been exercised.
26
+
27
+ ## Capability contract
28
+
29
+ Before doing project work, identify the host and verify these capabilities separately:
30
+
31
+ 1. Read and write the project and skill resources.
32
+ 2. Run local commands in the project directory.
33
+ 3. Load or control a real browser environment capable of exercising an unpacked extension and its native entry point.
34
+ 4. Preserve project state and evidence across turns or sessions.
35
+ 5. Invoke installed child skills, or execute an explicitly documented portable fallback.
36
+
37
+ Installing this skill does not grant those tools. A host lacking file or shell access can only provide guidance. A host lacking controlled extension-capable browser automation cannot certify a working delivery; keep acceptance blocked or deliver source only when the user explicitly chooses that scope.
38
+
39
+ ## Child skill adapters
40
+
41
+ Prefer the named child skills because their reviewed workflows are the reference implementation. Discover installed skills first. When missing and the host supports Skill CLI, install from the pinned public sources in `required-skills.json`, targeting the current agent.
42
+
43
+ - `chrome-extensions`, `extension-create`, `diagnosing-bugs`, `code-review`, and the complex-project chain have public sources recorded in the dependency manifest.
44
+ - `product-designer` has no verified portable public source in the current manifest. On hosts where it is absent, `product-loop.md` is the approved portable fallback. Record that fallback instead of claiming the named skill ran.
45
+ - A host-native skill may replace a named child only when its actual instructions cover the same outcome and constraints. Record its source, what was read, produced artifacts, and any gaps.
46
+
47
+ Never install by guessing a similarly named repository. Do not overwrite a customized skill. If installation requires the host to restart, save progress and verify discovery after restart.
48
+
49
+ ## Browser tool adapters
50
+
51
+ The acceptance contract is provider-neutral even though `playwright-mcp.md` is the reference setup:
52
+
53
+ - Prefer Playwright MCP when it can load the current extension and operate the native entry point.
54
+ - Chrome DevTools MCP, another browser MCP, or a controlled browser harness is acceptable only after capability probing shows it covers the required actions.
55
+ - Record the selected provider, browser version, package fingerprint, native entry evidence, core flow, reopen behavior, and repeat use.
56
+ - Webpage screenshots, a directly opened popup HTML file, mocked Chrome APIs, and static package checks do not replace native extension acceptance.
57
+
58
+ Use the acceptance gate's provider and user-choice fields. If no provider can exercise the needed native browser surface, explain the concrete gap and keep the affected delivery state blocked.