skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
bobmatnyc/claude-mpm-skills167 installs

rust-quality-gate

PM-invocable protocol for running and interpreting Rust quality gates in the trusty-tools monorepo: fmt, clippy, and test in strict sequence before any merge

How do I install this agent skill?

npx skills add https://github.com/bobmatnyc/claude-mpm-skills --skill rust-quality-gate
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    The skill defines a standard protocol for Rust code quality checks (formatting, linting, and testing) using standard cargo commands. It does not exhibit any malicious patterns, obfuscation, or risky behaviors beyond its intended purpose of verifying workspace code.

  • Socketpass

    No alerts

  • Snykpass

    Risk: LOW · No issues

What does this agent skill do?

Rust Quality Gate Protocol

When to Invoke

Invoke this protocol when:

  • Any implementation task completes and code changes are ready to commit
  • User asks "check quality", "run tests", "run clippy", "is this ready", or "verify"
  • Before creating a pull request or merging to main
  • After modifying a shared library crate (trusty-common, trusty-mcp-core, trusty-embedder, trusty-symgraph)
  • After the rust-qa agent delivers a work product

The Three-Gate Sequence

Run gates in this exact order. Stop on first failure — do not proceed to the next gate.

Gate 1: Format Check (fastest — always run first)

cargo fmt --check

Pass: No output, exit code 0.

Fail: Lists files with formatting differences. Fix with:

cargo fmt

Then re-run cargo fmt --check to confirm clean.

Why first: Format failures are trivially fixable. Running it first avoids wasting clippy and test time on unformatted code.

Gate 2: Clippy Lint Gate

cargo clippy --workspace --all-targets -- -D warnings

Pass: No warnings emitted, exit code 0.

Fail: One or more error[clippy::] lines. Fix each warning the compiler reports. Common patterns:

# Check a single crate faster during iteration
cargo clippy -p trusty-search -- -D warnings

# Check with a specific feature enabled
cargo clippy -p trusty-common --features axum-server -- -D warnings

open-mpm exception: open-mpm has 142 pre-existing clippy errors at HEAD (tracked separately). These errors do not block other work. When running workspace-wide clippy and open-mpm fails, confirm whether the failures are confined to open-mpm only:

# Run clippy on everything except open-mpm to confirm other crates are clean
cargo clippy --workspace --all-targets -- -D warnings 2>&1 | grep -v "open-mpm"

If all errors are in open-mpm, treat the gate as passing for the purpose of non-open-mpm work.

Gate 3: Test Gate

Single-crate (fast — use during iteration):

cargo test -p <crate>

Workspace-wide (required before commit):

cargo test --workspace

With ignored integration tests (full validation):

cargo test -p <crate> -- --include-ignored
# or workspace-wide:
cargo test --workspace -- --include-ignored

Crate Name vs Directory Name

Cargo -p flags use the name field in Cargo.toml, not the directory name. Exceptions:

DirectoryCargo flag
crates/trusty-git-analytics/-p tga
crates/open-mpm/-p open-mpm

All other crates: directory name = crate name (e.g. crates/trusty-search/ → -p trusty-search).

Reading Test Output

Cargo test output ends with a summary line:

test result: ok. 42 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out
FieldMeaning
passedTests that ran and succeeded
failedTests that ran and failed — must be zero
ignoredTests tagged #[ignore] — skipped by default (ONNX/integration)
measuredBenchmark results (bench mode only)

#[ignore] tests: These are slow ONNX-backed or environment-dependent integration tests. They are intentionally skipped in the default gate. Run them with --include-ignored for full local validation before releases.

Evidence format required: Report the literal summary line, not "tests pass". Example of acceptable evidence:

test result: ok. 87 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 3.42s

Pre-existing vs New Failure Triage

If a gate fails, determine whether the failure existed before the current patch:

# Stash current changes
git stash

# Run the failing gate at clean HEAD
cargo test -p <crate>

# If it also fails at HEAD: pre-existing failure — do not block the patch
# If it passes at HEAD: the patch introduced the regression — must fix

# Restore patch
git stash pop

Report: "Failure is pre-existing at HEAD — not introduced by this change" or "Failure is new — introduced by this patch."

Single-Crate vs Workspace Scope

ScopeCommandWhen
Single cratecargo test -p <crate>Fast iteration during implementation
Single crate (check only)cargo check -p <crate>Fastest — confirms compilation, no test run
Single crate + featurescargo test -p trusty-common --features axum-serverWhen feature flag needed
Workspacecargo test --workspaceRequired before committing any change
Workspace + ignoredcargo test --workspace -- --include-ignoredBefore tagging a release

After Modifying a Shared Library Crate

When trusty-common, trusty-mcp-core, trusty-embedder, or trusty-symgraph changes:

  1. Run cargo check (workspace-wide) first — catches compilation errors in all dependents immediately.
  2. Run cargo test -p <lib> for the modified library.
  3. Run cargo test -p <consumer> for each crate that imports the modified library.
  4. Only commit after all dependent tests pass.

Gate Summary

cargo fmt --check          → Gate 1 (format)  — fix: cargo fmt
cargo clippy --workspace   → Gate 2 (lint)    — fix: address each warning
cargo test -p <crate>      → Gate 3 (tests)   — fix: repair failing tests

All three must be green before a PR is mergeable. Evidence must include the literal output from each gate.

Anti-Patterns

  • Running tests before format and clippy — wastes time if format fails.
  • Reporting "tests pass" without showing the result summary line.
  • Treating ignored count as failures — they are intentionally skipped.
  • Blocking work on open-mpm clippy errors that are pre-existing at HEAD.
  • Using cargo build as a substitute for cargo test — build success does not validate behavior.
  • Running cargo test workspace-wide without confirming crate name aliases (e.g., use -p tga not -p trusty-git-analytics).

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/bobmatnyc/claude-mpm-skills/rust-quality-gate">View rust-quality-gate on skillZs</a>