{"id":"6c310e78-248b-41f9-9b96-f4ee5a1f5f4c","entityType":"agent","slug":"clawhub-zhaobod1-huo15-openclaw-code-review","name":"Huo15 Openclaw Code Review","canonicalUrl":"https://www.xpersona.co/agent/clawhub-zhaobod1-huo15-openclaw-code-review","canonicalPath":"/agent/clawhub-zhaobod1-huo15-openclaw-code-review","generatedAt":"2026-10-14T15:21:27.325Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-12T01:51:19.173Z","emptyReason":null},"description":"对 GitHub / cnb.cool PR 做综合代码评审（设计 / 实现 / 测试 / 安全 / 可维护五维），借 gh CLI 拉 diff，产出可粘贴到 PR 的评论 markdown。触发词：评审 PR、code review、审一下这个 PR、帮我 review、看看这个合并请求。 Skill: Huo15 Openclaw Code Review Owner: zhaobod1 Summary: 对 GitHub / cnb.cool PR 做综合代码评审（设计 / 实现 / 测试 / 安全 / 可维护五维），借 gh CLI 拉 diff，产出可粘贴到 PR 的评论 markdown。触发词：评审 PR、code review、审一下这个 PR、帮我 review、看看这个合并请求。 Tags: latest:1.0.0 Version history: v1.0.0 | 2026-04-24T14:34:50.573Z | user 首发 — PR 五维综合评审（设计/实现/测试/安全/可维护）+ 可粘贴 markdown 评论 Archive index: Archive v1.0.0: 3 files, 4209 bytes Files: skill-card.md (2219b), SKILL.","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 959 downloads reported by the source. Last updated 10/12/2026.","installCommand":"clawhub skill install s17f6q72skfgyjycm2frgdc8dn83v5mk:huo15-openclaw-code-review","sourceUrl":"https://clawhub.ai/zhaobod1/huo15-openclaw-code-review","homepage":"https://clawhub.ai/zhaobod1/skills/huo15-openclaw-code-review","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/zhaobod1/huo15-openclaw-code-review","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/zhaobod1/skills/huo15-openclaw-code-review","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":60,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"对 GitHub / cnb.cool PR 做综合代码评审（设计 / 实现 / 测试 / 安全 / 可维护五维），借 gh CLI 拉 diff，产出可粘贴到 PR 的评论 markdown。触发词：评审 PR、code review、审一下这个 PR、帮我 review、看看这个合并请求。 Skill: Huo15"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-12T01:51:19.173Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-12T01:51:19.173Z","emptyReason":null},"stars":null,"forks":null,"downloads":959,"likes":null,"task":null,"library":null,"packageName":null,"latestVersion":"1.0.0","tractionLabel":"959 downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-12T01:51:19.029Z","emptyReason":null},"lastUpdatedAt":"2026-10-12T01:51:19.173Z","lastCrawledAt":"2026-10-12T01:51:19.029Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-13T01:51:19.029Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.0","createdAt":"2026-04-24T14:34:50.573Z","changelog":"首发 — PR 五维综合评审（设计/实现/测试/安全/可维护）+ 可粘贴 markdown 评论","fileCount":3,"zipByteSize":4209}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17f6q72skfgyjycm2frgdc8dn83v5mk:huo15-openclaw-code-review","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-openclaw-code-review/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-openclaw-code-review/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-openclaw-code-review/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-openclaw-code-review/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-openclaw-code-review/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-openclaw-code-review/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-14T15:21:27.324Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-openclaw-code-review/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-openclaw-code-review/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-openclaw-code-review/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-zhaobod1-huo15-openclaw-code-review/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-12T01:51:19.173Z","emptyReason":null},"readme":"Skill: Huo15 Openclaw Code Review\n\nOwner: zhaobod1\n\nSummary: 对 GitHub / cnb.cool PR 做综合代码评审（设计 / 实现 / 测试 / 安全 / 可维护五维），借 gh CLI 拉 diff，产出可粘贴到 PR 的评论 markdown。触发词：评审 PR、code review、审一下这个 PR、帮我 review、看看这个合并请求。\n\nTags: latest:1.0.0\n\nVersion history:\n\nv1.0.0 | 2026-04-24T14:34:50.573Z | user\n\n首发 — PR 五维综合评审（设计/实现/测试/安全/可维护）+ 可粘贴 markdown 评论\n\nArchive index:\n\nArchive v1.0.0: 3 files, 4209 bytes\n\nFiles: skill-card.md (2219b), SKILL.md (4658b), _meta.json (145b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: huo15-openclaw-code-review\ndisplayName: 火一五代码评审技能\ndescription: 对 GitHub / cnb.cool PR 做综合代码评审（设计 / 实现 / 测试 / 安全 / 可维护五维），借 gh CLI 拉 diff，产出可粘贴到 PR 的评论 markdown。触发词：评审 PR、code review、审一下这个 PR、帮我 review、看看这个合并请求。\nversion: 1.0.0\naliases:\n  - 火一五代码评审\n  - 代码评审\n  - code review\n  - PR 评审\n  - 审 PR\n  - review PR\nlicense: MIT\n---\n\n# 火一五代码评审技能 v1.0\n\n> 五维 PR 评审 + 可粘贴评论 — 青岛火一五信息科技有限公司\n\n---\n\n## 一、触发场景\n\n- \"帮我 review PR #123\"\n- \"审一下这个合并请求\"\n- \"code review 一下我的 PR\"\n- 用户贴 PR URL：`https://github.com/xxx/yyy/pull/123` 或 `https://cnb.cool/.../merge_requests/45`\n\n**产出**：五维清单 + 行内评论建议 + 总评（批准/请改/阻断）+ 一段可直接粘贴到 PR 的 markdown。\n\n---\n\n## 二、评审五维\n\n| 维度 | 关注点 | 不关注 |\n|------|-------|-------|\n| **1. 设计（Design）** | 方案是否对问题对症 / 抽象是否合适 / 与现有架构一致 | 风格偏好 |\n| **2. 实现（Implementation）** | 逻辑正确 / 边界处理 / 错误处理 / 资源回收 | 次要优化 |\n| **3. 测试（Tests）** | 关键路径有单测 / 边界 case / 回归 | 100% 覆盖率 |\n| **4. 安全（Security）** | 代理 `huo15-openclaw-security-review` 做六类扫描 | — |\n| **5. 可维护（Maintainability）** | 命名 / 文档 / 可读性 / 变更局部性 | 代码风格（交给 linter）|\n\n---\n\n## 三、工作流（严格按序）\n\n### Step 1：拉取 PR 元信息\n\n```bash\n# GitHub\ngh pr view <number> --json title,body,author,baseRefName,headRefName,files,commits,additions,deletions\n\n# cnb.cool（如有 API / CLI）\ncurl .../merge_requests/<id>\n```\n\n**不 exec** — 返回命令让用户粘贴结果，或若上下文里已有就用。\n\n### Step 2：拉取 diff\n\n```bash\ngh pr diff <number>\n# 或\ngit diff <base>...<head>\n```\n\n### Step 3：分段阅读 + Grep 关键字\n\n- 每个文件至少过一遍\n- Grep 高危模式（密钥 / SQL 拼接 / `dangerouslySetInnerHTML`）转交 security-review 思路\n- 对新增函数：检查命名、参数、返回值、错误处理\n\n### Step 4：五维评分\n\n对 5 维每个给：\n- ✅ Pass\n- ⚠️ Minor（可合但建议改）\n- ❌ Blocker（必须改）\n\n### Step 5：生成行内评论\n\n每条评论格式：\n```\n`path/to/file.ts:line` — <简短标题>\n\n<问题描述>\n<建议>\n```\n\n### Step 6：总评\n\n- **Approve** — 全 ✅ 或只有 🟢 minor\n- **Request changes** — 有任何 ⚠️ 影响核心\n- **Block** — 有 ❌ 安全 / 数据丢失 / 不兼容风险\n\n---\n\n## 四、报告模板\n\n```markdown\n## 📋 Code Review — PR #123 \"<title>\"\n\n**作者**：@xxx · **变更**：12 文件 +340 -120 · **评审耗时**：5 min\n\n### 五维评分\n- Design：✅\n- Implementation：⚠️ 2 处\n- Tests：⚠️ 缺边界测试\n- Security：✅（无新增攻击面）\n- Maintainability：✅\n\n### 总评：🟡 Request Changes\n\n必改后合并：1 处 Implementation blocker + 1 处测试缺失。\n\n---\n\n### 行内评论\n\n**`src/api/user.ts:45`** — 边界未处理\n当 `userId` 为 `undefined` 时 `db.user.findById(userId)` 会返回所有用户。\n建议：函数入口加 `if (!userId) throw new Error(...)`。\n\n**`src/api/user.ts:88`** — 错误吞掉\n`catch(e) { return null }` 掩盖了数据库连接错误。\n建议：区分「找不到」和「出错」，至少记日志。\n\n**`tests/user.test.ts`** — 缺边界用例\n新增的 `mergeProfile` 没测 `null` / `undefined` / `{}` 空对象三种输入。\n建议：补 3 条测试用例。\n\n### 其他观察（不阻塞合并）\n- 命名 `data` → `userProfile` 可读性更好（src/utils.ts:12）\n- 可用 `Pick<User, 'id'|'name'>` 替代手写接口（types.ts:33）\n\n---\n\n🤖 Reviewed by huo15-openclaw-code-review\n```\n\n---\n\n## 五、硬红线（绝不触碰）\n\n1. **不 `gh pr review --approve` / `--request-changes`** — 评审意见由人提交（避免 AI 自己批自己的 PR）\n2. **不 `gh pr merge`** — 合并决策权归人\n3. **不自动 `gh pr comment`** — 除非用户明确说\"直接发到 PR 上\"\n4. **不跑测试 / build** — 除非用户要求\n5. **禁 child_process** — `gh` 命令走 return-cliCmd\n\n---\n\n## 六、与相邻技能的边界\n\n| 场景 | 用哪个 |\n|------|--------|\n| PR 综合评审 | **本技能** |\n| 只看安全 | `huo15-openclaw-security-review` |\n| 只看代码质量 | `huo15-openclaw-simplify` |\n| 只看设计稿 / UI | `huo15-openclaw-design-critique` |\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7byevkn40d6z4p7ghdb097z983tj33\",\n  \"slug\": \"huo15-openclaw-code-review\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1777041290573\n}\n\nFile v1.0.0:skill-card.md\n\n## Description:\n\nReviews GitHub and cnb.cool pull requests across design, implementation, testing, security, and maintainability, then produces Markdown comments that a reviewer can paste into the PR.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[zhaobod1](https://clawhub.ai/user/zhaobod1)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and engineering reviewers use this skill to review GitHub or cnb.cool pull requests, assess design, implementation, tests, security, and maintainability, and draft Markdown feedback for human submission.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill may process PR metadata and diffs from GitHub or cnb.cool, including private repository content if the user provides it.\n\nMitigation: Use it only with repository content the reviewer is authorized to share with the agent, and avoid including secrets or unrelated sensitive context.\n\nRisk: Generated review comments can be incorrect, incomplete, or misleading if the PR context is missing or the analysis is wrong.\n\nMitigation: Have a human reviewer inspect and edit the generated Markdown before posting it to a PR.\n\nRisk: The report template includes a branded attribution line that may not be appropriate for every repository or organization.\n\nMitigation: Review the final Markdown and remove or revise attribution before posting when repository policy requires it.\n\n## Reference(s):\n\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, guidance]\n\n**Output Format:** [Markdown review report with optional inline shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Includes PR summary, five-dimension ratings, inline comment suggestions, and an overall review recommendation; generated comments require human review before posting.]\n\n## Skill Version(s):\n\n1.0.0 (source: server release evidence and SKILL.md frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.","readmeExcerpt":"Skill: Huo15 Openclaw Code Review Owner: zhaobod1 Summary: 对 GitHub / cnb.cool PR 做综合代码评审（设计 / 实现 / 测试 / 安全 / 可维护五维），借 gh CLI 拉 diff，产出可粘贴到 PR 的评论 markdown。触发词：评审 PR、code review、审一下这个 PR、帮我 review、看看这个合并请求。 Tags: latest:1.0.0 Version history: v1.0.0 | 2026-04-24T14:34:50.573Z | user 首发 — PR 五维综合评审（设计/实现/测试/安全/可维护）+ 可粘贴 markdown 评论 Archive index: Archive v1.0.0: 3 files, 4209 bytes Files: skill-card.md (2219b), SKILL.","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"curl .../merge_requests/<id>"},{"language":"bash","snippet":"# GitHub\ngh pr view <number> --json title,body,author,baseRefName,headRefName,files,commits,additions,deletions\n\n# cnb.cool（如有 API / CLI）\ncurl .../merge_requests/<id>"},{"language":"bash","snippet":"gh pr diff <number>\n# 或\ngit diff <base>...<head>"},{"language":"text","snippet":"`path/to/file.ts:line` — <简短标题>\n\n<问题描述>\n<建议>"},{"language":"markdown","snippet":"## 📋 Code Review — PR #123 \"<title>\"\n\n**作者**：@xxx · **变更**：12 文件 +340 -120 · **评审耗时**：5 min\n\n### 五维评分\n- Design：✅\n- Implementation：⚠️ 2 处\n- Tests：⚠️ 缺边界测试\n- Security：✅（无新增攻击面）\n- Maintainability：✅\n\n### 总评：🟡 Request Changes\n\n必改后合并：1 处 Implementation blocker + 1 处测试缺失。\n\n---\n\n### 行内评论\n\n**`src/api/user.ts:45`** — 边界未处理\n当 `userId` 为 `undefined` 时 `db.user.findById(userId)` 会返回所有用户。\n建议：函数入口加 `if (!userId) throw new Error(...)`。\n\n**`src/api/user.ts:88`** — 错误吞掉\n`catch(e) { return null }` 掩盖了数据库连接错误。\n建议：区分「找不到」和「出错」，至少记日志。\n\n**`tests/user.test.ts`** — 缺边界用例\n新增的 `mergeProfile` 没测 `null` / `undefined` / `{}` 空对象三种输入。\n建议：补 3 条测试用例。\n\n### 其他观察（不阻塞合并）\n- 命名 `data` → `userProfile` 可读性更好（src/utils.ts:12）\n- 可用 `Pick<User, 'id'|'name'>` 替代手写接口（types.ts:33）\n\n---\n\n🤖 Reviewed by huo15-openclaw-code-review"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: huo15-openclaw-code-review\ndisplayName: 火一五代码评审技能\ndescription: 对 GitHub / cnb.cool PR 做综合代码评审（设计 / 实现 / 测试 / 安全 / 可维护五维），借 gh CLI 拉 diff，产出可粘贴到 PR 的评论 markdown。触发词：评审 PR、code review、审一下这个 PR、帮我 review、看看这个合并请求。\nversion: 1.0.0\naliases:\n  - 火一五代码评审\n  - 代码评审\n  - code review\n  - PR 评审\n  - 审 PR\n  - review PR\nlicense: MIT\n---\n\n# 火一五代码评审技能 v1.0\n\n> 五维 PR 评审 + 可粘贴评论 — 青岛火一五信息科技有限公司\n\n---\n\n## 一、触发场景\n\n- \"帮我 review PR #123\"\n- \"审一下这个合并请求\"\n- \"code review 一下我的 PR\"\n- 用户贴 PR URL：`https://github.com/xxx/yyy/pull/123` 或 `https://cnb.cool/.../merge_requests/45`\n\n**产出**：五维清单 + 行内评论建议 + 总评（批准/请改/阻断）+ 一段可直接粘贴到 PR 的 markdown。\n\n---\n\n## 二、评审五维\n\n| 维度 | 关注点 | 不关注 |\n|------|-------|-------|\n| **1. 设计（Design）** | 方案是否对问题对症 / 抽象是否合适 / 与现有架构一致 | 风格偏好 |\n| **2. 实现（Implementation）** | 逻辑正确 / 边界处理 / 错误处理 / 资源回收 | 次要优化 |\n| **3. 测试（Tests）** | 关键路径有单测 / 边界 case / 回归 | 100% 覆盖率 |\n| **4. 安全（Security）** | 代理 `huo15-openclaw-security-review` 做六类扫描 | — |\n| **5. 可维护（Maintainability）** | 命名 / 文档 / 可读性 / 变更局部性 | 代码风格（交给 linter）|\n\n---\n\n## 三、工作流（严格按序）\n\n### Step 1：拉取 PR 元信息\n\n```bash\n# GitHub\ngh pr view <number> --json title,body,author,baseRefName,headRefName,files,commits,additions,deletions\n\n# cnb.cool（如有 API / CLI）\ncurl .../merge_requests/<id>\n```\n\n**不 exec** — 返回命令让用户粘贴结果，或若上下文里已有就用。\n\n### Step 2：拉取 diff\n\n```bash\ngh pr diff <number>\n# 或\ngit diff <base>...<head>\n```\n\n### Step 3：分段阅读 + Grep 关键字\n\n- 每个文件至少过一遍\n- Grep 高危模式（密钥 / SQL 拼接 / `dangerouslySetInnerHTML`）转交 security-review 思路\n- 对新增函数：检查命名、参数、返回值、错误处理\n\n### Step 4：五维评分\n\n对 5 维每个给：\n- ✅ Pass\n- ⚠️ Minor（可合但建议改）\n- ❌ Blocker（必须改）\n\n### Step 5：生成行内评论\n\n每条评论格式：\n```\n`path/to/file.ts:line` — <简短标题>\n\n<问题描述>\n<建议>\n```\n\n### Step 6：总评\n\n- **Approve** — 全 ✅ 或只有 🟢 minor\n- **Request changes** — 有任何 ⚠️ 影响核心\n- **Block** — 有 ❌ 安全 / 数据丢失 / 不兼容风险\n\n---\n\n## 四、报告模板\n\n```markdown\n## 📋 Code Review — PR #123 \"<title>\"\n\n**作者**：@xxx · **变更**：12 文件 +340 -120 · **评审耗时**：5 min\n\n### 五维评分\n- Design：✅\n- Implementation：⚠️ 2 处\n- Tests：⚠️ 缺边界测试\n- Security：✅（无新增攻击面）\n- Maintainability：✅\n\n### 总评：🟡 Request Changes\n\n必改后合并：1 处 Implementation blocker + 1 处测试缺失。\n\n---\n\n### 行内评论\n\n**`src/api/user.ts:45`** — 边界未处理\n当 `userId` 为 `undefined` 时 `db.user.findById(userId)` 会返回所有用户。\n建议：函数入口加 `if (!userId) throw new Error(...)`。\n\n**`src/api/user.ts:88`** — 错误吞掉\n`catch(e) { return null }` 掩盖了数据库连接错误。\n建议：区分「找不到」和「出错」，至少记日志。\n\n**`tests/user.test.ts`** — 缺边界用例\n新增的 `mergeProfile` 没测 `null` / `undefined` / `{}` 空对象三种输入。\n建议：补 3 条测试用例。\n\n### 其他观察（不阻塞合并）\n- 命名 `data` → `userProfile` 可读性更好（src/utils.ts:12）\n- 可用 `Pick<User, 'id'|'name'>` 替代手写接口（types.ts:33）\n\n---\n\n🤖 Reviewed by huo15-openclaw-code-review\n```\n\n---\n\n## 五、硬红线（绝不触碰）\n\n1. **不 `gh pr review --approve` / `--request-changes`** — 评审意见由人提交（避免 AI 自己批自己的 PR）\n2. **不 `gh pr merge`** — 合并决策权归人\n3. **不自动 `gh pr comment`** — 除非用户明确说\"直接发到 PR 上\"\n4. **不跑测试 / build** — 除非用户要求\n5. **禁 child_process** — `gh` 命令走 return-cliCmd\n\n---\n\n## 六、与相邻技能的边界\n\n| 场景 | 用哪个 |\n|------|--------|\n| PR 综合评审 | **本技能** |\n| 只看安全 | `huo15-openclaw-security-review` |\n| 只看代码质量 | `huo15-opencla"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7byevkn40d6z4p7ghdb097z983tj33\",\n  \"slug\": \"huo15-openclaw-code-review\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1777041290573\n}"},{"path":"skill-card.md","content":"## Description:\n\nReviews GitHub and cnb.cool pull requests across design, implementation, testing, security, and maintainability, then produces Markdown comments that a reviewer can paste into the PR.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[zhaobod1](https://clawhub.ai/user/zhaobod1)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and engineering reviewers use this skill to review GitHub or cnb.cool pull requests, assess design, implementation, tests, security, and maintainability, and draft Markdown feedback for human submission.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill may process PR metadata and diffs from GitHub or cnb.cool, including private repository content if the user provides it.\n\nMitigation: Use it only with repository content the reviewer is authorized to share with the agent, and avoid including secrets or unrelated sensitive context.\n\nRisk: Generated review comments can be incorrect, incomplete, or misleading if the PR context is missing or the analysis is wrong.\n\nMitigation: Have a human reviewer inspect and edit the generated Markdown before posting it to a PR.\n\nRisk: The report template includes a branded attribution line that may not be appropriate for every repository or organization.\n\nMitigation: Review the final Markdown and remove or revise attribution before posting when repository policy requires it.\n\n## Reference(s):\n\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, guidance]\n\n**Output Format:** [Markdown review report with optional inline shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Includes PR summary, five-dimension ratings, inline comment suggestions, and an overall review recommendation; generated comments require human review before posting.]\n\n## Skill Version(s):\n\n1.0.0 (source: server release evidence and SKILL.md frontmatter)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"对 GitHub / cnb.cool PR 做综合代码评审（设计 / 实现 / 测试 / 安全 / 可维护五维），借 gh CLI 拉 diff，产出可粘贴到 PR 的评论 markdown。触发词：评审 PR、code review、审一下这个 PR、帮我 review、看看这个合并请求。 Skill: Huo15 Openclaw Code Review Owner: zhaobod1 Summary: 对 GitHub / cnb.cool PR 做综合代码评审（设计 / 实现 / 测试 / 安全 / 可维护五维），借 gh CLI 拉 diff，产出可粘贴到 PR 的评论 markdown。触发词：评审 PR、code review、审一下这个 PR、帮我 review、看看这个合并请求。 Tags: latest:1.0.0 Version history: v1.0.0 | 2026-04-24T14:34:50.573Z | user 首发 — PR 五维综合评审（设计/实现/测试/安全/可维护）+ 可粘贴 markdown 评论 Archive index: Archive v1.0.0: 3 files, 4209 bytes Files: skill-card.md (2219b), SKILL.","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":813,"uniquenessScore":53,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-12T01:51:19.173Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-12T01:51:19.173Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-14T15:21:27.325Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}