Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计提醒

rust-reviewRust 审查

Agent Skill

用于辅助数据库表结构、查询语句、迁移脚本和数据维护任务。它适合让 Agent 分析 schema、编写 SQL、排查查询问题、整理索引或生成迁移建议。使用时需要明确数据库类型、连接环境和目标表,区分只读分析与写入变更;涉及删除、更新、迁移和批量导入时,应优先 dry-run、备份或事务保护,避免误操作。

总安装

220

周安装

9

GitHub Stars

6,075

下载量

71
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/redisearch/redisearch --skill rust-review

简介

用于 Rust 语言编写的 Redisearch 代码审查。

  • 适合安全检查、性能建议和最佳实践提醒。rust-review 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 通过 npx 命令从 GitHub 仓库安装使用。
  • 需确认权限范围和维护状态,注意可能触发命令执行。
  • 建议结合原始 README 核验具体用法和功能边界。

SKILL.md

Rust Review

Review Rust code changes for unsafe correctness, documentation quality, and (when applicable) C-to-Rust porting fidelity.

Arguments

The input specifies what to review. Exactly one of the following forms:

Changesets:

  • <revset>: A jj revset (when .jj/ is present) — uses jj diff -r <revset>. Examples: slrzwyul, slrzwyul::vlrzmzvm, @-.
  • <commit> or <commit1>..<commit2>: Git commit(s) (when .jj/ is absent) — uses git diff / git show.
  • pr:<number>: GitHub pull request — fetches the PR branch and reviews locally.

Source files or directories:

  • <path>: Path to a Rust file or directory.
  • <path1> <path2>: Multiple files or directories.

If a path doesn't include src/, assume it to be in the src/redisearch_rs directory. E.g. trie_rs becomes src/redisearch_rs/trie_rs. If a path points to a directory, review all .rs files in that directory (recursively).

No argument: default to reviewing the uncommitted working-tree changes (jj diff if .jj/ is present, git diff otherwise).

Instructions

1. Collect the code to review

When reviewing a changeset (revset, commits, or PR), obtain the full diff of the Rust files (.rs):

# Jujutsu changes (when .jj/ is present)
jj diff -r <revset> --git -- glob:'**/*.rs'

# Git commits (when .jj/ is absent)
git diff <commit1>..<commit2> -- '*.rs'
# or for a single commit
git show <commit> -- '*.rs'

For a GitHub PR (pr:<number>), fetch the PR head ref and diff against master:

# When .jj/ is absent:
git fetch origin refs/pull/<number>/head
git diff origin/master...FETCH_HEAD -- '*.rs'

# When .jj/ is present:
git fetch origin refs/pull/<number>/head
jj git import
# Use the fetched SHA directly in the revset
jj diff -r 'master@origin..<sha>' --git -- glob:'**/*.rs'

Read the full source of every Rust file that was added or modified so that you have complete context (not just the diff hunks).

When reviewing source files or directories, there is no diff — read the full source of every .rs file at the given path(s) and review them in their entirety.

2. Determine if this is a C-to-Rust port

Scan the diff and commit messages for signals that the change re-implements existing C code:

  • New files under c_entrypoint/*_ffi/
  • Removal or reduction of C files with corresponding new Rust files
  • Commit messages mentioning "port", "migrate", "rewrite", "reimplement", or "replace"

If detected, set porting mode = true and identify the original C module(s) by reading them with /read-unmodified-c-module.

3. Review checklist

Run every check below on the changed Rust code. For each violation found, record:

  • File and line (or line range)
  • Rule that is violated
  • Explanation of the issue
  • Suggested fix

3a. Unsafe — method pre-conditions

Every unsafe fn must have a # Safety section in its doc comment that documents all pre-conditions the caller must uphold.

Violations:

  • unsafe fn with no doc comment at all.
  • unsafe fn with a doc comment but no # Safety section.
  • # Safety section that omits a pre-condition required for soundness (e.g. pointer validity, alignment, aliasing, lifetime, initialized memory).

3b. Unsafe — call-site safety comments

Every unsafe block (or unsafe call inside an unsafe fn) must have a // SAFETY: comment immediately preceding the unsafe block or call that explains why every pre-condition of the called function / accessed operation is satisfied at that call site.

Violations:

  • Missing // SAFETY: comment.
  • Comment that does not address every pre-condition listed in the callee's # Safety section (or the standard library's documented safety requirements).
  • Generic or vacuous comments (e.g. // SAFETY: safe to call) that do not reference the specific pre-conditions.

3c. Rustdoc — intra-doc links

When a rustdoc comment mentions a Rust symbol (type, function, constant, trait, module, etc.), it must use an intra-doc link ([Symbol] or [Symbol::method]).

Violations:

  • A symbol name appears in backticks (` Foo `) inside a doc comment but is not an intra-doc link.
  • A symbol name appears as plain text inside a doc comment without backticks or link.

Exceptions: symbols that are not Rust items (e.g. C function names, Redis command names, field names used in prose) do not need intra-doc links.

4. Porting-mode checks (only when porting mode = true)

4a. Semantic equivalence

Compare the new Rust implementation against the original C code and verify:

  • All branches / code paths in the C code have a corresponding path in Rust.
  • Edge cases (NULL checks, overflow, empty inputs, error returns) are preserved or replaced with idiomatic Rust equivalents (e.g. Option, Result).
  • Numeric types and casts preserve the original semantics (watch for sign / width changes).
  • Side effects (global state mutations, logging, metric updates) are preserved.

Violations: any semantic divergence that could change observable behavior.

4b. Test coverage

Identify all C/C++ tests that exercise the ported module (look under tests/ for files that reference the module's functions or types).

For each C/C++ test, verify that an equivalent Rust test exists that covers the same scenario. Use /check-rust-coverage to confirm line-level coverage of the new Rust code.

Violations:

  • A C/C++ test scenario that has no corresponding Rust test.
  • Rust code paths that are uncovered by any test.

5. Emit the report

Present findings grouped by check (3a, 3b, 3c, 4a, 4b). For each group, list the violations or state "No issues found."

At the end, provide a summary:

  • Total number of violations by severity (blocking vs. suggestion).
  • Whether the change is ready to merge or needs revision.

Blocking violations: any issue in 3a, 3b, 4a, or 4b. Suggestions: issues in 3c (intra-doc links).

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

32.39%
按下载量换算23

Claude

30.79%
按下载量换算22

Cursor

19.68%
按下载量换算14

Gemini CLI

8.6%
按下载量换算6

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills