From rust-skills
Design, inspect, and align Rust CI workflows with local Cargo validation, including cargo fmt, cargo clippy, cargo test, cargo build, cargo doc, cargo package, workspace package selection, feature matrices, MSRV checks, rustup toolchain setup, Clippy warnings-as-errors policy, caches, artifacts, and GitHub Actions-style automation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/rust-skills:ci-workflowThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Align Rust CI with the validation that actually protects the project.
Align Rust CI with the validation that actually protects the project.
The practical goal is to make CI prove the same behavior maintainers care about locally: formatting, linting, build, tests, docs, package readiness, MSRV, and feature or workspace matrices where those are real compatibility surfaces.
Use repo-local files, checked-out dependency sources, Dash MCP or Dash HTTP for installed docsets, and then official project documentation when Dash/local coverage is missing or stale:
cargo testcargo packageTranslate CI advice into the exact workflow jobs, commands, package selection, feature selection, and failure policy that match the repository.
Inspect:
.github/workflows/Cargo.tomlCargo.tomlCargo.lockrust-toolchain.toml or rust-toolchainrustfmt.toml or .rustfmt.tomlclippy.tomlPick jobs by the behavior they protect:
cargo fmt --checkcargo clippy --all-targets --all-features -- -D warningscargo test --all-targets --all-featurescargo build when compile coverage is needed separatelycargo doc --no-deps when public docs mattercargo package --dry-run for publishable cratesDo not add every job by default. Choose the smallest CI matrix that protects the repo's real support promise.
Prefer the repo's existing setup. If adding setup from scratch, install the channel and components the commands require:
rustup toolchain install stable --profile minimal --component rustfmt --component clippy
Use rust-toolchain.toml when local and CI contributors should share the same channel/components. Do not pin nightly unless the project truly depends on nightly behavior.
Use package selection intentionally:
cargo test -p package-name
cargo test --workspace
Use feature matrices only when features are part of the public compatibility surface:
cargo test -p package-name --no-default-features
cargo test -p package-name --all-features
If the project has many feature combinations, use a documented helper such as cargo hack only when the repo already uses it or the added dependency is justified.
Clippy's CI guidance recommends -Dwarnings, but apply that deliberately.
Good default for maintained crates:
cargo clippy --all-targets --all-features -- -D warnings
Avoid turning all compiler warnings into hard failures unless the repo wants that stricter contract. If CI is newly adopting warnings-as-errors, call out the maintenance cost.
Use caches to speed CI, not to define correctness. CI should still pass from a cold cache.
Only upload artifacts when users or maintainers need them, such as release binaries, generated docs, coverage, or package tarballs.
Return:
CI intent: what the workflow is meant to protect.Local parity: local commands and matching CI commands.Toolchain: channel, components, rustup or rust-toolchain behavior, and MSRV checks.Matrix: workspace packages, features, targets, OSes, and whether each is necessary.Changes: workflow files or scripts changed.Validation: commands run locally and any CI checks that still need remote confirmation.npx claudepluginhub gaelic-ghost/socket --plugin rust-skillsCreates, edits, and verifies skills using a test-driven development approach with pressure scenarios and subagents.