com um clique
code-review
// Perform a project-wide code review covering security, correctness, code quality, documentation, UI/UX, and style.
// Perform a project-wide code review covering security, correctness, code quality, documentation, UI/UX, and style.
Cut a versioned release for this Rust project. Analyzes conventional commits since the last tag, determines the correct semantic version bump, updates Cargo.toml and CHANGELOG.md, creates a release commit and tag, publishes a GitHub release, and pushes everything. Use this skill whenever the user asks to "cut a release", "release a new version", "publish a release", "tag a release", or similar.
Project-wide document engineering, keep documents valid, in-sync, up-to-date.
Read and import AGENTS.md into the current session context. Use this skill when the user says "start agents", "load agents", "import AGENTS.md", "read AGENTS.md", or wants to apply agent instructions from an AGENTS.md file.
Commit and push changes to Git, grouped by topic. Use this skill whenever the user asks to "commit and push", "push my changes", "save and push", "git commit and push", or wants to stage/commit/push any set of changes — especially when there are multiple unrelated changes that should be organized into separate topical commits before pushing.
| name | code-review |
| description | Perform a project-wide code review covering security, correctness, code quality, documentation, UI/UX, and style. |
Perform a thorough project-wide code review. The goal is to surface real issues — bugs, security holes, API misuse, and poor patterns — not to bikeshed style. Report findings grouped by severity, with file and line references.
Run these in parallel to understand the current state:
git diff main...HEAD --stat
git log main...HEAD --oneline
cargo metadata --no-deps --format-version 1 | jq '.packages[].dependencies[].name'
Also read src/main.rs to understand the top-level structure and command surface.
If there are no changes since main, review the full src/ tree instead.
Read every file touched in the diff. For each file:
Do not skip files because they look small — bugs hide in helpers.
cargo fmt --check 2>&1
cargo build 2>&1
cargo test 2>&1
cargo clippy -- -D warnings 2>&1
cargo audit 2>&1
Record failures from fmt, build, test, and clippy as P0 blockers — report them immediately.
cargo audit findings are severity-dependent: critical/high advisories are P0, medium are P1, low/informational are P2. If cargo-audit is not installed, note it and move on.
Go through each changed file and apply the checklist below. Write down every finding as you go.
Result/Option — .unwrap() or .expect() in non-test code that can panic on valid inputtokio::spawn without synchronizationasync — blocking calls inside async context (std::fs, std::thread::sleep).collect() vs streaming, unintended .clone() in a loopstd::process::Command that interpolates user input without escapingserde_json::from_str on untrusted input without schema validation where it matterslet _ = or logged and ignored when they should propagateanyhow::bail! / ? used appropriately vs. match arms that handle specific error variants.context("what we were doing"))tokio tasks spawned without being awaited or aborted — potential task leakString or Vec that could be borrowed)String where &str suffices (prefer borrowing)pub#[ignore] tests without a comment explaining whyassert!(result.is_ok())) instead of the actual valuepub fn and pub struct should have at least one test that exercises it from the outsideCoverage check — if cargo-tarpaulin is installed, run:
cargo tarpaulin --out Stdout --skip-clean 2>&1 | tail -20
Flag any module below 50% line coverage as a P1. Flag any module with 0% coverage as P0 if it contains non-trivial logic. If tarpaulin is not installed, note uncovered modules based on reading the test files manually.
TODO / FIXME comments without a tracking issue or ownerGroup findings into three tiers:
Build failures, panics on valid input, security vulnerabilities, data loss.
Logic bugs that affect correctness, missing error handling on failure paths, test gaps for critical code.
Style, minor inefficiencies, missing context on errors, non-critical TODOs.
Write a structured report:
## Code Review — <branch or "full project">
### P0 Blockers
- **[src/foo.rs:42]** `unwrap()` on user-supplied JSON parse — panics if input is malformed.
Fix: propagate with `?` or match on the error.
### P1 Important
- **[src/bar.rs:88]** Spawned task is never awaited — leaks if the parent future is dropped.
### P2 Suggestions
- **[src/baz.rs:15]** `clone()` inside loop; consider passing a reference instead.
### Automated checks
- `cargo fmt --check`: clean
- `cargo test`: 41 passed, 0 failed
- `cargo clippy`: clean
- `cargo audit`: no known vulnerabilities
### No issues found in
- src/config.rs, src/main.rs, src/pull.rs
If there are no findings in a tier, omit that section. Always include the automated check results.
Do:
cargo clippy is evidence, not a guaranteeDo not:
? propagation, impl Trait returns)