Agent skill

fastcdc-rs PR Review

by nlfiedler in nlfiedler/fastcdc-rs

Reviews a pull request or the current diff against the fastcdc-rs maintainers' standards, runs the cargo checks and ends with a merge recommendation.

MITAuto-check passedDevelopment

Install fastcdc-rs PR Review

skills CLI
$ npx skills add nlfiedler/fastcdc-rs --skill pr-review -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install nlfiedler/fastcdc-rs pr-review --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/nlfiedler/fastcdc-rs.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/pr-review .claude/skills/pr-review && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
pr-review
GitHub stars
218
Token cost
~1.9k tokens
SKILL.md length
989 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

Reviews a pull request or the current diff against the fastcdc-rs maintainers' standards, runs the cargo checks and ends with a merge recommendation.

  • Works in 7 steps: No silent data loss or silent failures → Per-iteration / per-chunk waste → Public API surface and semver → …
  • Reviewing a pull request to fastcdc-rs before merging to master
  • SKILL.md covers How to run the review, Review criteria and Output format
  • Calls cargo, gh and git

What it does

This is a project-specific review checklist for the fastcdc Rust crate, a published library with downstream users, so the test is whether a careful dependent would be comfortable merging, not just whether it compiles. The agent gathers the diff with `gh pr view` and `gh pr diff`, or with a three-dot `git diff` from master to HEAD, reads changed files in full and checks each criterion, citing file and line along with why it matters to users.

Criteria include no silent data loss, where any break, return or swallowed error that could skip input bytes is blocking and chunks must cover the input without gaps, and avoiding work that could be hoisted out of per-chunk loops. The agent runs `cargo test` with and without the tokio and futures features, `cargo clippy` and `cargo doc`, and reports what it ran. Findings are grouped as Blocking, Should-fix and Consider, followed by an explicit merge recommendation.

When your agent uses it

  • Reviewing a pull request to fastcdc-rs before merging to master
  • Vetting your own branch against issues that reviewers have flagged before
  • Checking chunking changes for dropped bytes or per-iteration overhead

Example prompts

  • “Review PR 44 against our project standards.”
  • “Check my current branch against master before I open a pull request.”
  • “Does this change to the chunker ever drop trailing bytes? Review the diff.”

Requirements

  • A Rust toolchain with cargo
  • The GitHub CLI (gh) for reviewing a PR by number

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. No silent data loss or silent failures
  2. Per-iteration / per-chunk waste
  3. Public API surface and semver
  4. Determinism is a contract
  5. Test rigor — tests must actually catch regressions
  6. Performance claims need reproducible evidence
  7. Human accountability and provenance

What it can do on your machine

Read from SKILL.md and the folder at commit b025a70. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • cargo
    • gh
    • git

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh and git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

fastcdc-rs PR Review loads about 1.9k tokens when it runs. Until then it costs about 72 tokens; SKILL.md has 989 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~72
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from nlfiedler/fastcdc-rs at commit b025a70, republished under its MIT licence (© nlfiedler). 989 words, ~1,872 tokens.

Download SKILL.mdSave it as .claude/skills/pr-review/SKILL.md (or your agent's skills folder).
name
pr-review
description
Review a pull request (or the current diff) against fastcdc-rs project standards. Use when asked to review a PR, vet changes before merging to master, or check a branch for the kinds of issues that have slipped through before. Distills reviewer feedback (notably ciehanski on PR

fastcdc-rs PR review

This skill reviews a pull request against the standards this project's maintainers and active downstream users expect. The criteria below were derived from real reviewer feedback (ciehanski on PR #44 and #45) plus the determinism guarantees in CLAUDE.md.

fastcdc is a published crate (currently 4.0.1) with real downstream consumers, so the bar is "would a careful human depending on this crate be comfortable merging it into master?" — not "does it compile and pass the existing tests?"

How to run the review

  1. Determine the scope of changes:
    • A specific PR: gh pr view <N> --json title,body,files,additions,deletions and gh pr diff <N>.
    • The current branch: git diff master...HEAD (or git diff for uncommitted work).
  2. Read the changed files in full, not just the diff hunks — context outside the hunk often determines whether a change is correct (e.g. constructor invariants that make an edge case reachable or not).
  3. Walk every criterion below against the change. For each finding, cite file:line and say why it matters to a downstream user, not just what it is.
  4. Verify, don't assume: run cargo test, cargo test --features tokio, cargo test --features futures, cargo clippy, and cargo doc --features futures. Report what you actually ran and its result. If a claim in the PR body is testable (e.g. "every byte is emitted", "no perf regression"), test it or say you couldn't.
  5. Summarize findings grouped as Blocking, Should-fix, and Consider, then give an explicit merge recommendation.

Review criteria

1. No silent data loss or silent failures

The chunking code's whole job is to account for every input byte. A break, return, early-exit, or swallowed error that can drop or skip data is a blocking issue.

  • Trace every loop exit and error path: can any input byte fail to be emitted?
  • An edge case that is "currently unreachable through the public API" is still a latent bug. It must debug_assert! (or otherwise fail loudly) and degrade safely (emit the leftover) rather than silently dropping data. (This is exactly the silent-break tail-drop ciehanski flagged on #44.)
  • Confirm the chunker produces contiguous, gapless, exact coverage of the input.
2. Per-iteration / per-chunk waste

Hot-path work that could be hoisted out of the loop is a real defect in a perf-critical crate, not a nitpick.

  • Look for conversions, allocations, try_into, copies, or table rebuilds happening per chunk or per byte that could be done once (the per-chunk try_into on the GEAR tables ciehanski flagged on #44).
  • The core chunking loop is latency-bound on the gear-hash recurrence; be skeptical of changes that add work to it, and ask for A/B benchmark evidence (see criterion 6).
3. Public API surface and semver

This is a published crate; API changes ripple to every downstream user.

  • For any new pub item (struct, fn, field, trait, enum variant): is it intended to be public, or should it be pub(crate) / private? Default to the smallest surface that works. (ciehanski: "A new public Chunker struct is introduced — should this struct be public to the consuming user?")
  • Does the change alter, remove, or rename any existing public API, or change behavior of existing public API? If so it's a breaking change requiring a major version bump per semver. Flag the required version change explicitly against the current Cargo.toml version.
  • Adding a public item is at least a minor bump; document the expected version change.
  • New public items need rustdoc and ideally a doctest/example.
Show full SKILL.md (420 more words)Show less
4. Determinism is a contract

Identical cut points across versions are a core guarantee (see CLAUDE.md).

  • Any change that alters cut points / hashes / chunk boundaries must be intentional, called out loudly in the PR, and is itself a breaking change.
  • The hardcoded fixture hashes/lengths in tests are the guardrail — they should only change deliberately. A PR that edits expected fixture values needs strong justification.
  • Cross-check v2016 and v2020 produce the same cut points where the docs claim they do.
5. Test rigor — tests must actually catch regressions
  • New behavior needs tests that assert the invariant that matters (e.g. every byte emitted, in order, no gaps), not just that the happy path returns something.
  • A test is only credible if it fails when the code is broken. Prefer changes where the author demonstrably verified this (deliberately break it, watch it fail). When reviewing, if a test's failure mode is unclear, mentally (or actually) inject the bug and check the test would catch it.
  • Be honest about coverage gaps: if a branch can't be reached through the public API and therefore isn't covered by a test, say so plainly rather than implying full coverage.
  • Cover edge cases: empty input, sub-minimum-size input, all-identical bytes (worst case for finding a cut), and the real fixture.
  • Run the feature-gated test matrix: default, tokio, futures (the two async features are mutually exclusive — check the cfg guards still hold).
6. Performance claims need reproducible evidence
  • Any "faster" / "no regression" claim should be backed by an interleaved old-vs-new A/B measurement that asserts identical output before timing, ideally on more than one architecture (e.g. ARM + x86_64). Don't accept single-run wall-clock numbers.
  • New perf-sensitive changes are a good prompt to ask whether CI should gain a cross-platform test / perf-regression workflow (ciehanski's suggestion), so future PRs have data before merge.
7. Human accountability and provenance

This was ciehanski's central concern: PRs and comments written end-to-end by an AI agent with no evident human review, landing in a depended-on crate.

  • The review's job is to be the human-quality gate. Surface issues directly and concretely so a human can make the merge decision — never imply "looks good, merge it" as a substitute for maintainer judgment.
  • Flag anything that looks auto-generated and unreviewed: plausible-but-wrong assertions, comments/PR text that overstate what was verified, tests that look like coverage but don't exercise the claimed invariant.
  • Encourage a clear paper trail: PR description states what changed, why, what was tested, and the semver impact. Do not vouch for code paths you did not actually exercise.

Output format

## Review of <PR # / branch>

### Blocking
- file:line — issue — why it matters downstream — suggested fix

### Should-fix
- ...

### Consider
- ...

### Verification run
- cargo test: <result>
- cargo test --features tokio / futures: <result>
- cargo clippy / cargo doc: <result>
- (any perf or invariant checks performed)

### Semver impact
- <none / patch / minor / major> — reason

### Recommendation
- <merge / merge after fixes / needs work> — one-line rationale for the human maintainer

© nlfiedler, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/pr-review of nlfiedler/fastcdc-rs.

Open the folder on GitHubat commit b025a70

Compare with similar skills

fastcdc-rs PR Review next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

fastcdc-rs PR Review compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
fastcdc-rs PR Review this skillnlfiedler/fastcdc-rs218—~1.9kAutomated safety check: PassMIT
SeekDB Code Reviewoceanbase/seekdb3.1k—~2.1kAutomated safety check: PassApache-2.0
PR Reviewjaemk/self_update961—~1.5kAutomated safety check: NotesMIT
PR Reviewjaemk/cached2.1k—~2.5kAutomated safety check: NotesMIT
Resolve PR Reviewshencangsheng/easydb_app590—~2.4kAutomated safety check: PassMIT
Coding Agentmastra-ai/mastra29k—~2.3kAutomated safety check: PassCustom licence

Similar skills

  • SeekDB Code Review

    oceanbase/seekdb

    Reviews seekdb pull requests and diffs for real defects in correctness, resources, concurrency, security and tests, reporting only Blocker or Major findings.

    3.1k GitHub stars~2.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • PR Review

    jaemk/self_update

    Targeted, read-only review of a PR or checked-out branch. An agent skill from jaemk/self_update.

    961 GitHub stars~1.5k tokensUpdated 1 mo ago
    DevelopmentAuto-check: notes
  • PR Review

    jaemk/cached

    Targeted, read-only review of a PR or checked-out branch. An agent skill from jaemk/cached.

    2.1k GitHub stars~2.5k tokensUpdated 9 days ago
    DevelopmentAuto-check: notes
  • Resolve PR Review

    shencangsheng/easydb_app

    Resolve pull request code review comments end-to-end. An agent skill from shencangsheng/easydb_app.

    590 GitHub stars~2.4k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Coding Agent

    mastra-ai/mastra

    Authoring playbook for building agents that write, edit, review, or refactor code.

    29k GitHub stars~2.3k tokensUpdated today
    DevelopmentAuto-check passed
  • Code Review

    modiqo/skillspec

    Multi-agent code review with deep analysis. An agent skill from modiqo/skillspec.

    706 GitHub stars~3k tokensUpdated 2 mo ago
    DevelopmentAuto-check passed

More from nlfiedler/fastcdc-rs

  • Regenerate GEAR Hash Tables

    nlfiedler/fastcdc-rs

    Regenerates the GEAR and GEAR_LS hash tables in the fastcdc-rs crate from its example programs instead of editing the arrays by hand, then runs the tests.

    218 GitHub stars~476 tokensUpdated 1 mo ago
    Auto-check passed

Works with

Categories

Questions about fastcdc-rs PR Review

What does fastcdc-rs PR Review do?

Reviews a pull request or the current diff against the fastcdc-rs maintainers' standards, runs the cargo checks and ends with a merge recommendation. This is a project-specific review checklist for the fastcdc Rust crate, a published library with downstream users, so the test is whether a careful dependent would be comfortable merging, not just whether it compiles. The agent gathers the diff with `gh pr view` and `gh pr diff`, or with a three-dot `git diff` from master to HEAD, reads changed files in full and checks each criterion, citing file and line along with why it matters to users.

When should I use fastcdc-rs PR Review?

fastcdc-rs PR Review fits situations like: reviewing a pull request to fastcdc-rs before merging to master; vetting your own branch against issues that reviewers have flagged before; checking chunking changes for dropped bytes or per-iteration overhead.

How do I install fastcdc-rs PR Review in Claude Code?

Run `npx skills add nlfiedler/fastcdc-rs --skill pr-review -a claude-code`. Or copy the skill folder (.claude/skills/pr-review in nlfiedler/fastcdc-rs) into .claude/skills/pr-review in your project. Claude Code loads it when a task matches its description.

How do I install fastcdc-rs PR Review in Codex?

Run `npx skills add nlfiedler/fastcdc-rs --skill pr-review -a codex`. Or copy the skill folder (.claude/skills/pr-review in nlfiedler/fastcdc-rs) into .agents/skills/pr-review in your project. Codex loads it when a task matches its description.

Can I use fastcdc-rs PR Review in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nlfiedler/fastcdc-rs --skill pr-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pr-review, .gemini/skills/pr-review, .github/skills/pr-review and .opencode/skills/pr-review in your project.

What does fastcdc-rs PR Review need to run?

Going by SKILL.md and its folder, fastcdc-rs PR Review needs the command-line tools its instructions call (cargo, gh and git). Our summary lists: A Rust toolchain with cargo; The GitHub CLI (gh) for reviewing a PR by number.

Does fastcdc-rs PR Review access the network?

SKILL.md contains no URLs. Its commands use gh and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is fastcdc-rs PR Review safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does fastcdc-rs PR Review use?

fastcdc-rs PR Review is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does fastcdc-rs PR Review use?

About 1.9k tokens (SKILL.md is roughly 7.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to fastcdc-rs PR Review?

Skills that share tags, products or a category with fastcdc-rs PR Review: SeekDB Code Review (oceanbase/seekdb, 3.1k stars), PR Review (jaemk/self_update, 961 stars), PR Review (jaemk/cached, 2.1k stars) and Resolve PR Review (shencangsheng/easydb_app, 590 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains fastcdc-rs PR Review?

nlfiedler (a GitHub user) maintains it in nlfiedler/fastcdc-rs, which has 218 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on August 30, 2026.

Source: nlfiedler/fastcdc-rs on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.