Token导航 LogoToken导航

Agent Skill · 研究检索

code-review-assistant(代码审查助理)

code-review-assistant 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

code-review-assistant 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为执行命令;许可证信息还不明确,第三方扫描已通过,按安装量在研究检索类的 73,675 个 Skill 里排第 62,001。

总安装 343周安装 14GitHub Stars 公开资料未说明下载 111核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:code-review-assistant(代码审查助理)
来源仓库:https://github.com/santosomar/general-secure-coding-agent-skills
仓库路径:skills/code-review-assistant
安装命令:
npx skills add https://github.com/santosomar/general-secure-coding-agent-skills --skill code-review-assistant
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/santosomar/general-secure-coding-agent-skills --skill code-review-assistant

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

用于查找、检索和筛选相关信息,支持代码审查相关任务。适合在 Codex、Claude、Cursor、Gemini CLI 中根据关键词、任务场景或来源线索快速定位候选结果。使用时需结合来源仓库、安装命令和原始 README 核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

注意数据来源可靠性,避免依赖未经验证的信息。

来源仓库内路径:skills/code-review-assistant

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/santosomar/general-secure-coding-agent-skills…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要执行命令,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

code-review-assistant 怎么安装?

在终端执行 npx skills add https://github.com/santosomar/general-secure-coding-agent-skills --skill co…。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

code-review-assistant 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

code-review-assistant 需要什么权限?

权限级别是执行命令。安装流程涉及命令执行,可能通过 npx skills add https://github.com/santosomar/general-secure-coding-agent-skills --skill code-review-assistant 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

code-review-assistant 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

code-review-assistant 用的人多吗?

公开数据是累计安装 343 次,近一周安装 14 次,下载 111 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

code-review-assistant 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 需要执行命令,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 不能接受 Skill 在你机器上执行命令的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
code-review-assistant

代码审查助理 · 本页

343—执行命令未明确通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Code Review Assistant

Review code as a senior engineer would: find the bug that will page someone at 3am, not the missing semicolon. Every comment should be one the author couldn't have found with a linter.

Priority order — always review in this sequence

Stop after any tier that produces a Blocking finding. There is no value in reporting naming nits on code that deletes the wrong rows.

  1. Correctness — does it do what the PR says it does?
  2. Error & edge-case handling — what happens at empty / null / max / concurrent?
  3. Security — untrusted input, authz, secrets, injection
  4. Performance — only for hot paths; O(n²) in a loop over user records is a bug, in a 5-element config list it isn't
  5. Maintainability — naming, structure, duplication, tests
  6. Style — only if the project has no formatter; otherwise skip entirely

Step 1 — Understand before you judge

Read in this order:

  1. PR title + description. This is the contract. Everything else is checked against it.
  2. Test changes. Tests encode what the author *thinks* the code does. Mismatch between test names and PR description = first red flag.
  3. The diff itself. Now you know what to look for.

If the PR description is empty or says "misc fixes" — your first comment is asking for a description. You cannot review intent you don't know.

Step 2 — Correctness pass

For every changed function, hold the stated intent (from the PR description) against the implementation. Specific checks:

  • Off-by-one at boundaries. < vs <=, len-1 vs len, slice end-exclusive vs inclusive. If you see a loop boundary change in the diff, verify against one concrete example.
  • Negation logic. if (!isValid ||!isEnabled) — expand De Morgan's in your head and verify the truth table is what the author meant.
  • Early returns + cleanup. New return in the middle of a function that previously had a single exit → does it skip a close() / unlock() / commit() that used to run?
  • State mutation ordering. If the diff reorders two writes to shared state, what reads them? If the diff adds a write before an existing read of the same field, is the old read still correct?
  • Async/await: Missing await on a promise-returning call is a silent future bug. Every call to an async function should be awaited, explicitly voided, or collected for Promise.all.

Step 3 — Error & edge-case pass

For each changed function, walk the inputs:

Input shapeAsk
Collection / arrayWhat if it's empty? What if it has one element?
Optional / nullableIs it checked before first deref? Is there a *test* for the null path?
StringEmpty string? Whitespace-only? Longer than the DB column?
NumberZero? Negative? Larger than the downstream type can hold?
External callWhat if it throws? Times out? Returns a shape you don't expect?
Map / dict lookupWhat if the key is absent?

Catch blocks deserve extra scrutiny. A catch that just logs and continues turns a loud failure into a silent data corruption. Ask: *is the system in a valid state after this catch runs?* If not → Blocking.

Step 4 — Security pass

Not a full audit — just the things a reviewer spots in a diff:

  • Any string concatenation that feeds a query, shell command, HTML, or URL → does untrusted input reach it?
  • Any new exec, eval, system, child_process, subprocess, Runtime.exec
  • Any new endpoint or handler → where's the authz check? Is it before or after the first data access?
  • Any literal that looks like a credential → even in tests, even commented out
  • Deserialization of external input (pickle.loads, yaml.load, ObjectInputStream, unserialize)

For anything beyond a spot check, defer: "→ run static-vulnerability-detector on this path before merge."

Step 5 — Scope the maintainability pass

Do not comment on code the PR didn't touch. If a function was already 200 lines and the PR adds 3 lines to it, the 200-line problem is pre-existing tech debt, not this author's responsibility. At most: one summary-level comment suggesting a follow-up, never inline.

On code the PR *did* introduce:

  • Is the new abstraction pulling its weight? A new interface with one implementer is a prediction, not a requirement. Ask what the second implementer would be.
  • Is it tested? If the PR adds a branch with no corresponding test, say so — and say which specific case is missing.

Severity levels

LevelMeaningAuthor's obligation
BlockingMerge will cause a bug, security issue, or data lossMust fix before merge
Should-fixWill cause pain later; fix is clear and scopedFix now or open a follow-up with a link
NitPreference. Reasonable people disagree.Author's call. No re-review needed.
QuestionYou don't understand; might be fine, might notAuthor answers; you decide severity from the answer

Do not mark something Blocking to win a style argument. Blocking means "this will break production." If you're not confident it will, it's Should-fix at most.

Output format

## Summary
Adds retry-with-backoff to the payment client.
1 blocking (retries non-idempotent POST), 1 should-fix, 2 nits.
Recommend addressing the blocking finding before approval.

## Findings

### src/payments/client.ts:45  [Blocking]
Retry wraps `POST /charges`. That endpoint is not idempotent — a
transient 503 after the charge succeeded server-side will retry and
double-charge the customer.
→ Either: pass an Idempotency-Key header and have the server dedupe,
or only retry on errors that guarantee the request never reached the
server (connection refused, DNS failure).

### src/payments/client.ts:52  [Should-fix]
Backoff is 2^attempt seconds, uncapped. Attempt 10 = 17 minutes.
→ Cap at 30s: `Math.min(2 ** attempt, 30)`.

### src/payments/client.ts:38  [Nit]
`let` could be `const` — `delayMs` is never reassigned.

### test/payments.test.ts:140  [Question]
This test asserts 3 retries, but I don't see where the max is
configured. Is it hardcoded or am I missing a fixture?

Worked example

Diff:

  async function deleteUser(userId) {
-   const user = await db.users.findById(userId);
-   if (!user) throw new NotFoundError();
-   await db.users.delete(userId);
+   await db.users.delete(userId);
+   await cache.invalidate(`user:${userId}`);
  }

Review:

  1. *Correctness:* The null check is gone. db.users.delete(nonexistentId) — what does it do? If it's a no-op that returns 0 rows affected, fine. If it throws, the error changed from NotFoundError to a DB error — API contract break. → Question.
  2. *Error handling:* If delete succeeds but cache.invalidate throws, the user is gone from the DB but the cache still serves them. Next read is a ghost. → Should-fix: invalidate first, or catch-and-log the cache failure since the DB is source of truth.
  3. *Ordering:* Actually — the ordering *is* the bug. Invalidate-then-delete has a race (another request repopulates the cache between the two), but delete-then-invalidate has the failure-mode above. Pick your poison, but document which one and why. → folds into the Should-fix.
  4. Nothing Blocking — the change does what the PR says. Approve once the question is answered and the failure mode is acknowledged.

Do not

  • Rewrite the PR in the review. If you'd do it differently but the author's way works, that's a Nit or nothing.
  • Comment on style the formatter owns. If the project runs prettier/black/gofmt, style comments are noise.
  • Approve with unresolved Blocking findings "to unblock the author." That's what Should-fix is for.
  • Ask questions you can answer yourself in 30 seconds. Read the surrounding code first.
  • Pile on. If there are already 15 comments from another reviewer, add only what's new. Duplicate comments waste the author's time.
  • Block on test coverage percentage. Block on *the specific untested case that matters*, and name it.

平台分布

Codex

37.44%
按下载量换算42

Claude

27.83%
按下载量换算31

Cursor

18.09%
按下载量换算20

Gemini CLI

8.18%
按下载量换算9

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/santosomar/general-secure-coding-agent-skills --skill code-review-assistant 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills