A collection of Agent Skills for Rust and frontend development. Compatible with Claude Code, OpenAI Codex, Cursor, and other agent platforms.
| Skill | Purpose |
|---|---|
| code-review-rust | Review Rust for idioms, security, complexity, duplication, test quality, and NATS patterns. One finding per file in .backlog/tasks/. Also usable as an implementation guardrail. |
| code-review-web | Review React/TypeScript (Vite) frontends for hooks, types, async, a11y, security, and tests. Same finding and guardrail pattern as the Rust skill. |
| code-review-triage | Group triaged backlog findings into semantic review waves (code-review-plan-waveN parents). |
| code-review-run-wave | Run one planned wave in an isolated git worktree: apply fixes, QA, merge, close. |
| code-review-run-waves | Run every open wave concurrently (one worktree each); land merges one at a time via a shared lock. |
| commit-script | Analyze git state and generate a script that stages grouped files into conventional commits — optionally on a topic branch that ends in a gh pull request. |
| rust-make-clippy-pedantic | Lint a clean Rust checkout at pedantic strength via flags only, file one pedantic-labelled backlog task per warning — test-only style findings, generated files and out-of-tree warnings dropped, high-volume lints aggregated per crate — estimate the cleanup, and show (or with --apply, write) the matching Cargo.toml / clippy.toml lint policy. |
| rust-meta | Process external Rust content and integrate new knowledge into code-review-rust. |
The repository is a plugin marketplace with a single dev-skills plugin containing every skill — they reference each other's files (review waves lean on the worktree protocol, rust-meta on the review rule set), so they ship together.
claude plugin marketplace add rsvalerio/ai
claude plugin install dev-skills@rsvalerioInside a session, /plugin marketplace add rsvalerio/ai and /plugin install dev-skills@rsvalerio work the same way. Skills are invoked through the plugin namespace — /dev-skills:code-review-rust — and track the latest commit on main; update with claude plugin update dev-skills@rsvalerio.
git clone https://github.com/rsvalerio/ai.git
cd ai
# Claude Code
cp -r skills/* .claude/skills/
# OpenAI Codex
cp -r skills/* .codex/skills/For a live symlink into ~/.claude/skills/ while developing this repo, use make link (see AGENTS.md).
Using agent-skills-cli:
agent-skills install https://github.com/rsvalerio/ai/tree/main/skills/code-review-rustRestart your AI tool after installing so it picks up the new skills.
- AI agent: Claude Code, OpenAI Codex, Cursor, or another Agent Skills-compatible platform
- Developing this repo: Git, plus
rumdlandskill-validatorat the versions pinned in.tool-versions—mise installgets both, ormake install-toolsvia Homebrew — andclaude-codeon PATH formake validate-marketplace(the asdf route is in CONTRIBUTING.md). Full workflow in AGENTS.md
Skills load from context or explicit invocation.
- "Run a code-review-rust on this crate."
- "Review this code for anti-patterns, ownership issues, and unsafe usage."
- "Check this module for security vulnerabilities and OWASP violations."
- "Analyze complexity and readability of this file."
- "Find duplicated logic between these two modules."
- "Review my tests for effectiveness, gaps, and flakiness."
- "Audit NATS consumer patterns against best practices."
Parallel instances are fine — each finding is its own file under .backlog/tasks/.
- "Run a code-review-web on this frontend."
- "Review these React components for hooks and accessibility issues."
- "Check this Vite app for XSS and Web Crypto misuse."
code-review-rust (and code-review-web) can load rules before edits so violations do not ship. Description-matching alone is best-effort; for deterministic activation, add a Cursor rule, CLAUDE.md directive, or AGENTS.md directive.
Full snippets, vendoring when the skill is missing, and verification: docs/implementation-guardrail.md.
claude --model opus -p "/code-review-rust @crates"
opencode run "/code-review-rust @crates"code-review-triage groups findings into waves; code-review-run-wave / code-review-run-waves execute them. Each wave gets its own git worktree; merges serialize through a lock. A failed merge parks the worktree/branch so work stays resumable.
claude -p "/code-review-triage" # finish triage first (single-writer)
claude -p "/code-review-run-waves" # all open waves
claude -p "/code-review-run-wave" # one waveDetails: Worktree Protocol.
- "Run rust-make-clippy-pedantic on this workspace."
- "How much work is it to get this crate clippy-pedantic clean?"
- "Configure this workspace for pedantic clippy — show me the config first."
Requires a clean git status; the run aborts rather than stashing or pulling. Lint levels
are configured with -W flags after -- rather than by editing the crate. What keeps the
run off your files is the rest of it: --locked so Cargo cannot write Cargo.lock, a
scratch CARGO_TARGET_DIR so target/ is untouched, and no --fix. Findings are written
to .backlog/, which is the point.
The run finishes by printing the Cargo.toml lint tables and clippy.toml that would make
the strictness permanent: [workspace.lints.*] plus a [lints] workspace = true opt-in per
member for a workspace, or direct [lints.rust] / [lints.clippy] tables for a single
crate. Pass --apply to have it write them — the only mode that edits checked-in lint
configuration, though every run writes its findings to .backlog/. Neither commits.
- "Process this external Rust doc and integrate new knowledge into the rules."
- "Evaluate this blog post against our evaluation criteria."
- Agent Skills Specification
- Agent Skills Integration Guide
- Agent Skills Marketplace
- openai/skills Repository
- skill-validator
Setup, gates, commit format, and pull request rules: CONTRIBUTING.md. Skill authoring conventions and publishing: AGENTS.md.
main is protected: pull requests merge by squash only, need signed commits, and
must pass the Lint, Validate and Install checks. make ci runs the same
gates locally.
Apache-2.0. See LICENSE.
Rust rules draw on the Rust API Guidelines, The Rust Book and Rust By Example. Frontend rules draw on the React documentation, the TypeScript handbook and the OWASP Top 10, alongside community best practices.