[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7APWK7X2YV2CTFEVFVZ7CFZ":3,"skill-same:01M7APWK7X2YV2CTFEVFVZ7CFZ":52},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":30,"commitSha":31,"skillDirectory":32,"forksCount":14,"repositoryHtmlUrl":33,"repositoryHomepageUrl":6,"ownerHtmlUrl":34,"ownerBlogUrl":35,"ownerDescription":36,"updatedAt":37,"install":38,"resources":51},"01M7APWK7X2YV2CTFEVFVZ7CFZ","request-review",null,"Route a change to a non-author local peer when local review is the selected independent validation source. Use when: risk routing chooses a stateful local reviewer for implementation, governance, or semantic context. Not for: cloud as the selected source, vision-guardian acceptance, self-check, or review feedback handling. Output: risk-matched review packet in the current thread\u002FPR; mailbox archive only when the change needs the full packet.","peps1666\u002FBuildCrew-AI","peps1666","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F128503359?v=4","01M7APD9BQ6NTJ79J9FTB6YZGT","junhao zhou","01M7APD9CD06Q6CCJ22FYVG2AK",0,"MIT","https:\u002F\u002Fgithub.com\u002Fpeps1666\u002FBuildCrew-AI\u002Fblob\u002Fmain\u002Fcat-cafe-skills\u002Frequest-review\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\nname: request-review\ntips_exempt: harness-internal review routing convention; no distinct end-user capability surface\ndescription: >\n  Route a change to a non-author local peer when local review is the selected independent validation source.\n  Use when: risk routing chooses a stateful local reviewer for implementation, governance, or semantic context.\n  Not for: cloud as the selected source, vision-guardian acceptance, self-check, or review feedback handling.\n  Output: risk-matched review packet in the current thread\u002FPR; mailbox archive only when the change needs the full packet.\ntriggers:\n  - \"请 review\"\n  - \"帮我看看\"\n  - \"request review\"\n---\n\n> **SOP definition**: `sop-definitions\u002Fdevelopment.yaml` stage `review`。\n\n# Request Review\n\n把当前 diff、最高风险面和真实验证证据送到一只非作者猫眼前。默认只选一个合适的独立验证源；local peer、cloud、愿景守护各按自己的风险触发，不能因为“进入 review”就自动叠加。\n\n## 先选验证源\n\n| 风险需要 | 独立验证源 |\n|---|---|\n| 家里语境、skill\u002FSOP\u002F治理文字、实现语义 | local peer（本 skill） |\n| 安全 \u002F 鉴权 \u002F 生产数据 \u002F 外部契约，或需要 context-blind 代码扫描 | cloud；不再同时把同一问题默认发 local |\n| 用户可见 feature 的终态是否符合愿景 | 愿景守护；在 feature close 触发，不是每个 PR 的 reviewer |\n\n安全、数据或契约高风险需要不同视角时可以叠加；叠加理由必须指向不同风险面。相同目的的重复 reviewer 不增加门禁强度，只增加等待。\n\n**选择边界**：只有新增了需要第二只猫判断的实质内容，或风险面明确要求独立验证时才进入本 skill；“有 diff”“SHA 变了”“开了 PR”都不是独立触发器。机械登记、已审内容转录、低风险 direct-main docs 与可证明 continuity 可以 `skip\u002Freuse`。一旦选择 review，同一个体不能 review 自己，证据须覆盖最终实质内容（exact SHA 或 continuityProof）。\n\n## 发请求前\n\n| 证据 | 何时必需 | 缺失动作 |\n|---|---|---|\n| 当前 diff \u002F branch \u002F HEAD | 始终 | BLOCKED — reviewer 不审漂移目标 |\n| 五轴风险判断（行为、数据、安全、契约、不可逆） | 始终 | BLOCKED — 无法判断 review 深度 |\n| 与风险匹配的验证输出 | 始终 | BLOCKED — 先跑 targeted 或 full gate |\n| 原始需求摘录 | 涉及用户意图 \u002F 愿景 | BLOCKED — reviewer 无法判断做没做对 |\n| Architecture cell \u002F Map delta \u002F Why | 结构或 ownership 变化 | BLOCKED — 回设计面补齐 |\n| author 浏览器 preview 记录 | 前端行为 \u002F 视觉变化 | BLOCKED — author 先实际打开页面验证 |\n| 根目录工件闸门 | 有媒体 \u002F 设计证据 | BLOCKED — 先归档或移出仓库根 |\n\n### 前端证据边界\n\n前端验证劳动属于 author：自己启动\u002F复用正确的 preview，走一遍关键交互，并记录 URL、操作和结果。截图、录屏、DOM assertion、Playwright 输出都可以作为证据载体；**缺截图本身不是 operator 补劳动的许可证**。\n\n- 禁止把“请operator打开页面 \u002F 截图给我”当 review 前置条件。\n- 视觉差异需要看画面时，author 自己采截图；浏览器能力暂不可用就如实 BLOCKED 或换可用验证面，不能把劳动转嫁给 operator。\n- 未合入改动验证当前 worktree，不能拿 runtime `3003\u002F3004` 冒充。\n\n## Review packet 深度\n\n### 结构化轻审\n\n低风险、单一语义面的 diff 直接在当前 thread 或 PR 发，不新增 mailbox 文档：\n\n```text\nReview target: \u003Cbranch@HEAD>\nScope: \u003Cchanged files \u002F one-line intent>\nRisk: \u003C最高风险面，或 none + 理由>\nEvidence: \u003C真实命令 \u002F preview 结果>\nAsk: checked=\u003C请 reviewer 指认最高风险面> verdict=approve|block\n```\n\n### 完整 packet\n\n跨组件、状态对象、架构或高风险 change 使用 [`refs\u002Freview-request-template.md`](..\u002Frefs\u002Freview-request-template.md)。只有需要跨 session 持久交接时才存 `review-notes\u002FYYYY-MM-DD-{topic}-review-request.md`；PR\u002Fthread 已足够追溯时不另造归档。\n\n完整 packet 额外包含：\n\n- `Original Requirements`：≤5 行原话 + 真相源路径；\n- `Architecture Ownership`：cell \u002F map delta \u002F why；\n- 技术 OQ 与价值 OQ 分开；价值 OQ 才附 Decision Packet；\n- 验证命令、输出与 frontend preview 证据；\n- `Review-Target-ID`（需要 review sandbox 时用于 `\u002Ftmp\u002Fcat-cafe-review\u002F{id}\u002F{reviewer}`）。\n\n## 工具落点与工件检查\n\n```bash\ngit status --short\ngit diff --name-only origin\u002Fmain...HEAD\ngit status --short | rg '^.. [^\u002F]+\\.(png|jpe?g|webp|gif|webm|mp4|mov|wav|pdf|pen)$'\ngit diff --name-only origin\u002Fmain...HEAD | rg '^[^\u002F]+\\.(png|jpe?g|webp|gif|webm|mp4|mov|wav|pdf|pen)$'\n```\n\n两条工件命令应无输出。用 `apply_patch` 时尤其要确认改动只落在目标 worktree，主 worktree 仍干净。\n\n## Review sandbox（按需）\n\n只有 reviewer 需要启动未合入应用时才创建 detached \u002F read-only sandbox：\n\n```text\n\u002Ftmp\u002Fcat-cafe-review\u002F{review-target-id}\u002F{reviewer-handle}\n```\n\n统一入口 `pnpm review:start`，请求中记录实际 web\u002Fapi 端口。只审 diff 或治理文字时不启动 sandbox；要改代码则 TAKEOVER，另开正式 worktree。\n\n## Verdict return route\n\n### Review Entry Mode Classifier（先于 task \u002F PR tracking）\n\nexact-HEAD external PR review 在写 task 或 PR tracking instructions 时就必须定型，不能等 verdict 出来再补出口：\n\n- `reviewMode=formal`（默认）：任务必须授权写回同一 GitHub subject。formal task\u002Ftracker 出现 `no-comment`、\n  “不要评论 GitHub”或“不落 GitHub”即互相矛盾，fail closed；退回改写，不能私下做完。\n- `reviewMode=advisory_read_only`（必须显式）：允许只读私下审计，但输出只能是 advisory findings；不得产出\n  `APPROVE` \u002F `REQUEST_CHANGES` 完成态，也不得进入 `review-complete`。\n- `local_cat` handoff：继续走 author cat route，不因 review target 是 PR 而强制 GitHub comment。\n\n先按 **author\u002Fcustody\u002Fhandoff source** 判 external \u002F local_cat \u002F unknown，再判 mode。不要把缺少 GitHub 写入授权\n静默解释为 advisory；没有显式 `advisory_read_only` 就按 formal 冲突处理。PR tracking 路径同样适用，旧\ninstructions 中的 no-comment 禁令必须在新 HEAD 复审前清除。\n\n正式结论前按 **author\u002Fcustody\u002Fhandoff source** 分类，repo 名和 GitHub login 不参与分类：\n\n- 外部作者或 external PR \u002F Issue custody：verdict 必须写回同一 GitHub subject，并绑定精确 PR HEAD \u002F Issue body digest；没有 review\u002Fcomment URL 就还没完成。\n- 本地猫通过 `@` \u002F handoff 交来的 review：默认走 author cat route。**direct review carrier** 是直接承载本轮 review 请求、并被 lease 记录为 `predecessorThreadId` 的 thread；它压过任务祖先 thread、旧 `sourceThreadId` 与继承 coordination。开始真实 review 链时，同 thread 用 `post_message(coordination.phase=active)`，跨 thread 用 `cross_post_message(coordination.phase=active)`；final verdict 用同一 carrier 的 `coordination.phase=terminal` 回 direct review carrier。结构化 action 失败后的普通消息降级必须留在该 carrier，并显式带 `coordination={phase:\"active\", subjectRef:\"\u003Csame subjectRef>\"}`；不得裸继承旧链。包内带 final HEAD \u002F content digest 与独立验证证据，不强制 GitHub comment。\n\n两条完成证据不能互相代偿。本地 review 只有在 **merge-gate、repository rule 或 operator** 明确要求时才额外写 GitHub；额外 artifact 不取代回作者猫的 custody。\n\nterminal verdict 是这条 direct review coordination 的最后一次必达投递。作者确认 exact target、`no open items` 后直接进入 merge-gate 或 clean-stop；不再为了“出口必须有 @”回传 courtesy ACK。即使作者补发礼貌 ACK，terminal fence 也只持久化、不再唤醒 reviewer。\n\n已完成 review lease 只有出现需要判断力的新信息才可重开。新 exact HEAD 复审必须携带 `reviewReentry`：`behavioral_delta`、`stale_or_blocking` 或 `explicit_matrix_route` 三选一，并附 durable evidenceRef；初审省略该字段。cloud finding 不是把本地旧 reviewer 拉回来的理由，纯 ACK \u002F 状态复述 \u002F 无新信息也不是。\n\n需要额外 GitHub artifact 时，家里共享 GitHub login 不能用 `gh pr review --approve` 自我账号审批，应使用 `gh pr comment {N} --body-file \u003Cverdict.md>` 留逻辑 verdict，并包含：\n\n- APPROVE \u002F REQUEST_CHANGES \u002F COMMENT；\n- 覆盖的 final HEAD SHA；\n- 独立验证证据；\n- reviewer 自己的身份签名。\n\n共享 login 不改变“author catId ≠ reviewer catId”的铁律，也不能把平台 self-review 当成跨个体 review。\n\n## Feedback 循环\n\n- P1\u002FP2 修复后，只让**提出该 finding 的活跃 review source**覆盖新 HEAD。\n- cloud finding 修复回 cloud；local finding 修复回 local。不要把二者叠成常驻双门。\n- R2+ 同型 finding 再出现时，author 给出 Failure-Mode Sweep（pattern \u002F scanned \u002F fixed \u002F N\u002FA），避免 reviewer 逐点补锅。\n\n## 正反灰例\n\n- 正例：skill\u002FSOP 语义改动 → 一只跨族 local peer，targeted checks，跳 cloud。\n- 正例：auth callback 变更 → cloud + full gate；若还需要家里状态语义，再有理由叠 local。\n- 反例：local 已审纯文案，又因“流程到了”触发 cloud。\n- 反例：author 没 preview，要求 operator 截图后才肯发 review。\n- 灰例：前端 copy-only 改动仍应由 author preview；截图可选，DOM\u002F页面证据足够时不阻塞。\n\n## Common Mistakes\n\n| 错误 | 后果 | 修正 |\n|---|---|---|\n| 把 local、cloud、guardian 当固定三连 | 同一风险重复付费 | 每个源写清独立触发理由 |\n| 所有请求都建 mailbox | 为追溯再造追溯 | light 用 thread\u002FPR packet |\n| “没有截图”就把球扔给 operator | 用户替 author 做 QA | author 自跑 preview，截图只是载体 |\n| 只因 reviewer SHA ≠ 新 HEAD 就重开 review | 机械 rebase\u002F合并重复烧判断力 | 先做 continuityProof；只有新增实质内容才回 active source |\n| 本地 finding 修完又找 cloud 续签 | review source 串线 | 回对应 active source |\n| terminal verdict 后 author 再 `@reviewer` ACK | 双方无 open items 仍制造乒乓 | clean-stop；新复审必须提供 `reviewReentry` |\n\n## 和其他 skill 的区别\n\n- `quality-gate`：author 自证；本 skill 是选中 local peer 后的独立验证。\n- `receive-review`：处理已经收到的 finding。\n- `merge-gate`：消费选定 review source 与验证证据，决定合入。\n\n## 下一步\n\n收到 local verdict 后进入 `receive-review`；放行且证据覆盖 final HEAD 后进入风险匹配的 `merge-gate`。\n","> **SOP definition**: `sop-definitions\u002Fdevelopment.yaml` stage `review`。\n\n# Request Review\n\n把当前 diff、最高风险面和真实验证证据送到一只非作者猫眼前。默认只选一个合适的独立验证源；local peer、cloud、愿景守护各按自己的风险触发，不能因为“进入 review”就自动叠加。\n\n## 先选验证源\n\n| 风险需要 | 独立验证源 |\n|---|---|\n| 家里语境、skill\u002FSOP\u002F治理文字、实现语义 | local peer（本 skill） |\n| 安全 \u002F 鉴权 \u002F 生产数据 \u002F 外部契约，或需要 context-blind 代码扫描 | cloud；不再同时把同一问题默认发 local |\n| 用户可见 feature 的终态是否符合愿景 | 愿景守护；在 feature close 触发，不是每个 PR 的 reviewer |\n\n安全、数据或契约高风险需要不同视角时可以叠加；叠加理由必须指向不同风险面。相同目的的重复 reviewer 不增加门禁强度，只增加等待。\n\n**选择边界**：只有新增了需要第二只猫判断的实质内容，或风险面明确要求独立验证时才进入本 skill；“有 diff”“SHA 变了”“开了 PR”都不是独立触发器。机械登记、已审内容转录、低风险 direct-main docs 与可证明 continuity 可以 `skip\u002Freuse`。一旦选择 review，同一个体不能 review 自己，证据须覆盖最终实质内容（exact SHA 或 continuityProof）。\n\n## 发请求前\n\n| 证据 | 何时必需 | 缺失动作 |\n|---|---|---|\n| 当前 diff \u002F branch \u002F HEAD | 始终 | BLOCKED — reviewer 不审漂移目标 |\n| 五轴风险判断（行为、数据、安全、契约、不可逆） | 始终 | BLOCKED — 无法判断 review 深度 |\n| 与风险匹配的验证输出 | 始终 | BLOCKED — 先跑 targeted 或 full gate |\n| 原始需求摘录 | 涉及用户意图 \u002F 愿景 | BLOCKED — reviewer 无法判断做没做对 |\n| Architecture cell \u002F Map delta \u002F Why | 结构或 ownership 变化 | BLOCKED — 回设计面补齐 |\n| author 浏览器 preview 记录 | 前端行为 \u002F 视觉变化 | BLOCKED — author 先实际打开页面验证 |\n| 根目录工件闸门 | 有媒体 \u002F 设计证据 | BLOCKED — 先归档或移出仓库根 |\n\n### 前端证据边界\n\n前端验证劳动属于 author：自己启动\u002F复用正确的 preview，走一遍关键交互，并记录 URL、操作和结果。截图、录屏、DOM assertion、Playwright 输出都可以作为证据载体；**缺截图本身不是 operator 补劳动的许可证**。\n\n- 禁止把“请operator打开页面 \u002F 截图给我”当 review 前置条件。\n- 视觉差异需要看画面时，author 自己采截图；浏览器能力暂不可用就如实 BLOCKED 或换可用验证面，不能把劳动转嫁给 operator。\n- 未合入改动验证当前 worktree，不能拿 runtime `3003\u002F3004` 冒充。\n\n## Review packet 深度\n\n### 结构化轻审\n\n低风险、单一语义面的 diff 直接在当前 thread 或 PR 发，不新增 mailbox 文档：\n\n```text\nReview target: \u003Cbranch@HEAD>\nScope: \u003Cchanged files \u002F one-line intent>\nRisk: \u003C最高风险面，或 none + 理由>\nEvidence: \u003C真实命令 \u002F preview 结果>\nAsk: checked=\u003C请 reviewer 指认最高风险面> verdict=approve|block\n```\n\n### 完整 packet\n\n跨组件、状态对象、架构或高风险 change 使用 [`refs\u002Freview-request-template.md`](..\u002Frefs\u002Freview-request-template.md)。只有需要跨 session 持久交接时才存 `review-notes\u002FYYYY-MM-DD-{topic}-review-request.md`；PR\u002Fthread 已足够追溯时不另造归档。\n\n完整 packet 额外包含：\n\n- `Original Requirements`：≤5 行原话 + 真相源路径；\n- `Architecture Ownership`：cell \u002F map delta \u002F why；\n- 技术 OQ 与价值 OQ 分开；价值 OQ 才附 Decision Packet；\n- 验证命令、输出与 frontend preview 证据；\n- `Review-Target-ID`（需要 review sandbox 时用于 `\u002Ftmp\u002Fcat-cafe-review\u002F{id}\u002F{reviewer}`）。\n\n## 工具落点与工件检查\n\n```bash\ngit status --short\ngit diff --name-only origin\u002Fmain...HEAD\ngit status --short | rg '^.. [^\u002F]+\\.(png|jpe?g|webp|gif|webm|mp4|mov|wav|pdf|pen)$'\ngit diff --name-only origin\u002Fmain...HEAD | rg '^[^\u002F]+\\.(png|jpe?g|webp|gif|webm|mp4|mov|wav|pdf|pen)$'\n```\n\n两条工件命令应无输出。用 `apply_patch` 时尤其要确认改动只落在目标 worktree，主 worktree 仍干净。\n\n## Review sandbox（按需）\n\n只有 reviewer 需要启动未合入应用时才创建 detached \u002F read-only sandbox：\n\n```text\n\u002Ftmp\u002Fcat-cafe-review\u002F{review-target-id}\u002F{reviewer-handle}\n```\n\n统一入口 `pnpm review:start`，请求中记录实际 web\u002Fapi 端口。只审 diff 或治理文字时不启动 sandbox；要改代码则 TAKEOVER，另开正式 worktree。\n\n## Verdict return route\n\n### Review Entry Mode Classifier（先于 task \u002F PR tracking）\n\nexact-HEAD external PR review 在写 task 或 PR tracking instructions 时就必须定型，不能等 verdict 出来再补出口：\n\n- `reviewMode=formal`（默认）：任务必须授权写回同一 GitHub subject。formal task\u002Ftracker 出现 `no-comment`、\n  “不要评论 GitHub”或“不落 GitHub”即互相矛盾，fail closed；退回改写，不能私下做完。\n- `reviewMode=advisory_read_only`（必须显式）：允许只读私下审计，但输出只能是 advisory findings；不得产出\n  `APPROVE` \u002F `REQUEST_CHANGES` 完成态，也不得进入 `review-complete`。\n- `local_cat` handoff：继续走 author cat route，不因 review target 是 PR 而强制 GitHub comment。\n\n先按 **author\u002Fcustody\u002Fhandoff source** 判 external \u002F local_cat \u002F unknown，再判 mode。不要把缺少 GitHub 写入授权\n静默解释为 advisory；没有显式 `advisory_read_only` 就按 formal 冲突处理。PR tracking 路径同样适用，旧\ninstructions 中的 no-comment 禁令必须在新 HEAD 复审前清除。\n\n正式结论前按 **author\u002Fcustody\u002Fhandoff source** 分类，repo 名和 GitHub login 不参与分类：\n\n- 外部作者或 external PR \u002F Issue custody：verdict 必须写回同一 GitHub subject，并绑定精确 PR HEAD \u002F Issue body digest；没有 review\u002Fcomment URL 就还没完成。\n- 本地猫通过 `@` \u002F handoff 交来的 review：默认走 author cat route。**direct review carrier** 是直接承载本轮 review 请求、并被 lease 记录为 `predecessorThreadId` 的 thread；它压过任务祖先 thread、旧 `sourceThreadId` 与继承 coordination。开始真实 review 链时，同 thread 用 `post_message(coordination.phase=active)`，跨 thread 用 `cross_post_message(coordination.phase=active)`；final verdict 用同一 carrier 的 `coordination.phase=terminal` 回 direct review carrier。结构化 action 失败后的普通消息降级必须留在该 carrier，并显式带 `coordination={phase:\"active\", subjectRef:\"\u003Csame subjectRef>\"}`；不得裸继承旧链。包内带 final HEAD \u002F content digest 与独立验证证据，不强制 GitHub comment。\n\n两条完成证据不能互相代偿。本地 review 只有在 **merge-gate、repository rule 或 operator** 明确要求时才额外写 GitHub；额外 artifact 不取代回作者猫的 custody。\n\nterminal verdict 是这条 direct review coordination 的最后一次必达投递。作者确认 exact target、`no open items` 后直接进入 merge-gate 或 clean-stop；不再为了“出口必须有 @”回传 courtesy ACK。即使作者补发礼貌 ACK，terminal fence 也只持久化、不再唤醒 reviewer。\n\n已完成 review lease 只有出现需要判断力的新信息才可重开。新 exact HEAD 复审必须携带 `reviewReentry`：`behavioral_delta`、`stale_or_blocking` 或 `explicit_matrix_route` 三选一，并附 durable evidenceRef；初审省略该字段。cloud finding 不是把本地旧 reviewer 拉回来的理由，纯 ACK \u002F 状态复述 \u002F 无新信息也不是。\n\n需要额外 GitHub artifact 时，家里共享 GitHub login 不能用 `gh pr review --approve` 自我账号审批，应使用 `gh pr comment {N} --body-file \u003Cverdict.md>` 留逻辑 verdict，并包含：\n\n- APPROVE \u002F REQUEST_CHANGES \u002F COMMENT；\n- 覆盖的 final HEAD SHA；\n- 独立验证证据；\n- reviewer 自己的身份签名。\n\n共享 login 不改变“author catId ≠ reviewer catId”的铁律，也不能把平台 self-review 当成跨个体 review。\n\n## Feedback 循环\n\n- P1\u002FP2 修复后，只让**提出该 finding 的活跃 review source**覆盖新 HEAD。\n- cloud finding 修复回 cloud；local finding 修复回 local。不要把二者叠成常驻双门。\n- R2+ 同型 finding 再出现时，author 给出 Failure-Mode Sweep（pattern \u002F scanned \u002F fixed \u002F N\u002FA），避免 reviewer 逐点补锅。\n\n## 正反灰例\n\n- 正例：skill\u002FSOP 语义改动 → 一只跨族 local peer，targeted checks，跳 cloud。\n- 正例：auth callback 变更 → cloud + full gate；若还需要家里状态语义，再有理由叠 local。\n- 反例：local 已审纯文案，又因“流程到了”触发 cloud。\n- 反例：author 没 preview，要求 operator 截图后才肯发 review。\n- 灰例：前端 copy-only 改动仍应由 author preview；截图可选，DOM\u002F页面证据足够时不阻塞。\n\n## Common Mistakes\n\n| 错误 | 后果 | 修正 |\n|---|---|---|\n| 把 local、cloud、guardian 当固定三连 | 同一风险重复付费 | 每个源写清独立触发理由 |\n| 所有请求都建 mailbox | 为追溯再造追溯 | light 用 thread\u002FPR packet |\n| “没有截图”就把球扔给 operator | 用户替 author 做 QA | author 自跑 preview，截图只是载体 |\n| 只因 reviewer SHA ≠ 新 HEAD 就重开 review | 机械 rebase\u002F合并重复烧判断力 | 先做 continuityProof；只有新增实质内容才回 active source |\n| 本地 finding 修完又找 cloud 续签 | review source 串线 | 回对应 active source |\n| terminal verdict 后 author 再 `@reviewer` ACK | 双方无 open items 仍制造乒乓 | clean-stop；新复审必须提供 `reviewReentry` |\n\n## 和其他 skill 的区别\n\n- `quality-gate`：author 自证；本 skill 是选中 local peer 后的独立验证。\n- `receive-review`：处理已经收到的 finding。\n- `merge-gate`：消费选定 review source 与验证证据，决定合入。\n\n## 下一步\n\n收到 local verdict 后进入 `receive-review`；放行且证据覆盖 final HEAD 后进入风险匹配的 `merge-gate`。\n",{"name":5,"triggers":24,"description":28,"tips_exempt":29},[25,26,27],"请 review","帮我看看","request review","Route a change to a non-author local peer when local review is the selected independent validation source. Use when: risk routing chooses a stateful local reviewer for implementation, governance, or semantic context. Not for: cloud as the selected source, vision-guardian acceptance, self-check, or review feedback handling. Output: risk-matched review packet in the current thread\u002FPR; mailbox archive only when the change needs the full packet.\n","harness-internal review routing convention; no distinct end-user capability surface","main","e43f83d5ceb309323cae7e0f31e5e48fd816a57d","cat-cafe-skills\u002Frequest-review","https:\u002F\u002Fgithub.com\u002Fpeps1666\u002FBuildCrew-AI","https:\u002F\u002Fgithub.com\u002Fpeps1666","https:\u002F\u002Fwww.cug.edu.cn\u002F","My name is Zhou Junhao, and I am from China University of Geosciences (Wuhan). My major is Resources and Environment, and my research direction is Remote Sensin","2026-08-16 00:25:38",{"source":8,"skillName":5,"commands":39,"prompt":49,"zipAvailable":50},[40,43,46],{"tool":41,"command":42},"npx","npx skills add peps1666\u002FBuildCrew-AI --skill request-review",{"tool":44,"command":45},"bunx","bunx skills add peps1666\u002FBuildCrew-AI --skill request-review",{"tool":47,"command":48},"pnpm","pnpm dlx skills add peps1666\u002FBuildCrew-AI --skill request-review","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fpeps1666\u002FBuildCrew-AI\u002Fblob\u002Fmain\u002Fcat-cafe-skills\u002Frequest-review\u002FSKILL.md",true,[],[53,59,66,73,80,87],{"skillNo":54,"name":55,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":56,"categories":57,"keywords":58,"publishedAt":19},"01M7APYYSHV2SSSRV5Q15JWWPF","plugin-reconcile-skill","https:\u002F\u002Fgithub.com\u002Fpeps1666\u002FBuildCrew-AI\u002Fblob\u002Fmain\u002Fplugins\u002Ftest-reconcile-plugin-regr\u002Fskills\u002Fplugin-reconcile-skill\u002FSKILL.md",[],[],{"skillNo":60,"name":61,"nameZh":6,"description":62,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":63,"categories":64,"keywords":65,"publishedAt":19},"01M7APYWAJ119TPF079F2AXWAS","weixin-mp","通过 Limb 体系操作微信公众号：发布文章、上传图片、管理草稿。 Use when: 需要发布内容到微信公众号、查看草稿、检查公众号连接状态。 Not for: 其他平台的发布、纯文本聊天、非公众号相关操作。 Output: 微信公众号操作结果（发布ID、草稿列表、图片URL等）。","https:\u002F\u002Fgithub.com\u002Fpeps1666\u002FBuildCrew-AI\u002Fblob\u002Fmain\u002Fpackages\u002Fapi\u002Fsrc\u002Fplugins\u002Fweixin-mp\u002Fskills\u002Fweixin-mp\u002FSKILL.md",[],[],{"skillNo":67,"name":68,"nameZh":6,"description":69,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":70,"categories":71,"keywords":72,"publishedAt":19},"01M7APYNNEMBP2T62WT0JT7GNE","writing-skills","创建或修改 Clowder AI skill \u002F MCP tool description 的元技能（含质量标准、范本、发布）。 Use when: 写新 skill、修改现有 skill、写\u002F改 MCP tool description、验证 skill 质量； 或者功能实现中产出了 SKILL.md \u002F cat-cafe-skills\u002F 新目录 \u002F manifest.yaml skill 条目。 Not for: 使用 skill（直接触发对应 skill）。 Output: 新\u002F更新的 SKILL.md + manifest 条目 + symlinks。 GOTCHA: 软硬同重——skill\u002FMCP 质量 = 代码质量；不要写模型已知的通用教程，先过价值门禁。","https:\u002F\u002Fgithub.com\u002Fpeps1666\u002FBuildCrew-AI\u002Fblob\u002Fmain\u002Fcat-cafe-skills\u002Fwriting-skills\u002FSKILL.md",[],[],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":79,"publishedAt":19},"01M7APYHJDXRH9EDP5D3JZHSVN","writing-plans","将 spec\u002F需求拆分为可执行的分步实施计划。 Use when: 有 spec 或需求，准备动手前需要拆分步骤。 Not for: trivial 改动（≤5 行）、已有详细计划。 Output: 分步实施计划（含 TDD 步骤和检查点）。","https:\u002F\u002Fgithub.com\u002Fpeps1666\u002FBuildCrew-AI\u002Fblob\u002Fmain\u002Fcat-cafe-skills\u002Fwriting-plans\u002FSKILL.md",[],[],{"skillNo":81,"name":82,"nameZh":6,"description":83,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":84,"categories":85,"keywords":86,"publishedAt":19},"01M7APYD2SSZ6Y6CF5SD3YZ5C0","worktree","为代码、脚本、API 与第一方执行面创建隔离 Git worktree，并配置 Redis 6398；classifier 放行的 co-creation docs direct push 不进入本流程。","https:\u002F\u002Fgithub.com\u002Fpeps1666\u002FBuildCrew-AI\u002Fblob\u002Fmain\u002Fcat-cafe-skills\u002Fworktree\u002FSKILL.md",[],[],{"skillNo":88,"name":89,"nameZh":6,"description":90,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":91,"categories":92,"keywords":93,"publishedAt":19},"01M7APY8R4E7RR2WZVPH9V8WWP","workspace-navigator","猫猫把“打开文档、代码或日志”等模糊意图解析成本地绝对路径或 worktree 相对路径，并返回 applied、queued、blocked 或 unconfirmed 的真实 Workspace 投递状态。","https:\u002F\u002Fgithub.com\u002Fpeps1666\u002FBuildCrew-AI\u002Fblob\u002Fmain\u002Fcat-cafe-skills\u002Fworkspace-navigator\u002FSKILL.md",[],[]]