Rust Code Quality
| This documentation was generated with the assistance of AI. Please report any inaccuracies. |
Run Clippy, rustfmt and, when a deny.toml exists, cargo-deny on a Rust crate or Cargo workspace and report every issue grouped by tool and by rule id. It is a read-only reporting skill: it never fixes issues, applies formatting, initializes a cargo-deny config, or edits lint configuration unless asked to as a follow-up.
Purpose
iru-rust-code-quality reads the project’s lint policy ([lints] or [workspace.lints], clippy.toml, rustfmt.toml, deny.toml) and its CI invocation, then mirrors that invocation. Clippy is counted without -D warnings, so one failing crate does not hide the lints of the crates that depend on it, and the report says how many issues would fail a CI that denies warnings. Each tool is verified as installed before a "zero issues" result is trusted; a missing tool is reported as skipped. One embedded stdlib Python parser turns every report into per-tool totals and per-rule-id counts, deduplicating the copies Cargo prints once per target. When a calling skill supplies a baseline, only new issues are reported.
Plugin
Shipped by the iru-rust plugin of the ai-catalog marketplace (install with /plugin install iru-rust@ai-catalog; see Plugins).
Inputs
| Argument | Required | Description | Default |
|---|---|---|---|
|
No |
Comma-separated files or directories ( |
None — the whole workspace. |
|
No |
A |
None — plain counts are reported. |
Tools and how they count as wired:
| Tool | Wired when |
|---|---|
Clippy |
|
rustfmt |
|
cargo-deny |
A |
Outputs
-
A plain-text summary in the conversation: an overall total first, then per tool whether it ran or was skipped (and why), the version and config in force, its total, and one line per rule-id bucket with its count.
-
A
file:line — messagelist when the scope is smaller than the workspace or on request; per-rule lists are capped at 20 entries with "(+N more)". -
Rule-id buckets:
clippy::<lint>, rustc lint names,E…andcompile-errorfor Clippy;rustfmt,rustfmt-configandrustfmt-error;cargo-deny:<check>:<code>. Doc lints are called out foriru-rust-rustdoc, andunsafe_codefindings and compile errors are listed first. -
A statement of whether a CI that runs Clippy with
-D warnings,cargo fmt --checkandcargo deny checkwould pass. -
With a baseline, only issues new since it, matched on tool, rule id and file rather than line numbers.
-
Tool failures (Clippy exit 101 from a build error, cargo-deny
tool-error, a staleCargo.lock) get their own line, never "0 issues". Temporary reports undertarget/iru-rust-cq/are deleted. No source or configuration is modified, and nocargo clippy --fix, write-modecargo fmt,cargo deny initorcargo updateis run.
Execution flow
Dependencies
Invokes
None — iru-rust-code-quality is a leaf skill. It refers to Rust Test for the stale-lockfile behavior and hands doc lints off to Rust Rustdoc in its report, but does not call either.
Invoked by
-
Rust Code One Task Group — baseline capture before the work and a diffed re-run after it, via the
iru-gate-runneragent. -
Code — names it as the code-quality gate for the
rustplan key.
Related agents
-
iru-gate-runner— calling skills normally run it inside this sub-agent. It spawns no agents itself.
Source
SKILL.md on GitHub — the file this page was generated from.