Agent skill

Rust Helper

by shepherdjerred in shepherdjerred/monorepo

Current Rust and Cargo development guidance for workspaces, editions, MSRV, testing, Clippy, rustfmt, unsafe code, debugging, and toolchains.

GPL-3.0Auto-check passedDevelopment

Install Rust Helper

skills CLI
$ npx skills add shepherdjerred/monorepo --skill rust-helper -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install shepherdjerred/monorepo rust-helper --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/shepherdjerred/monorepo.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/dotfiles/dot_agents/skills/rust-helper .claude/skills/rust-helper && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
rust-helper
GitHub stars
112
Token cost
~2k tokens
SKILL.md length
889 words
Files
5 (incl. references)
Skills in repo
63
Repo updated
First seen
Licence
GPL-3.0

At a glance

Current Rust and Cargo development guidance for workspaces, editions, MSRV, testing, Clippy, rustfmt, unsafe code, debugging, and toolchains.

  • Cargo manifests
  • SKILL.md covers Current baseline, Built-in and optional tools, Focused verification and Toolchain and MSRV, plus 7 more sections
  • Calls cargo and rustc
  • Edition migrations

What it does

Rust Helper is an agent skill from shepherdjerred/monorepo. Current Rust and Cargo development guidance for workspaces, editions, MSRV, testing, Clippy, rustfmt, unsafe code, debugging, and toolchains. Use when writing or reviewing Rust, Cargo manifests, Rust CI, edition migrations, or unsafe boundaries.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `references/cargo-and-toolchains.md`, `references/releases.md` and `references/safety-and-patterns.md`).

It sits in Development, covering Debugging. It works with Rust. The repository describes itself as: Monorepo for all of my projects. The licence is GPL-3.0.

When your agent uses it

  • Cargo manifests
  • Edition migrations
  • Unsafe boundaries

Example prompts

  • “/rust-helper”

What it can do on your machine

Read from SKILL.md and the folder at commit da14ae9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • cargo
    • rustc

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Rust Helper loads about 2k tokens when it runs, and up to ~6.1k if it reads all its reference files. Until then it costs about 64 tokens; SKILL.md has 889 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~64
When it runs · the whole SKILL.md, loaded when a task matches
~2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from shepherdjerred/monorepo at commit da14ae9, republished under its GPL-3.0 licence (© shepherdjerred). 889 words, ~2,020 tokens.

Download SKILL.mdSave it as .claude/skills/rust-helper/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
rust-helper
description
Current Rust and Cargo development guidance for workspaces, editions, MSRV, testing, Clippy, rustfmt, unsafe code, debugging, and toolchains. Use when writing or reviewing Rust, Cargo manifests, Rust CI, edition migrations, or unsafe boundaries.

Rust Helper

Use Rust's type system to express invariants, keep unsafe boundaries small and documented, and run the repository's real Cargo workflow. Separate the stable toolchain from optional ecosystem tools.

Current baseline

Verified against Rust 1.97.1 on 2026-08-03:

bash
rustc --version
cargo --version
rustup show active-toolchain

Rust 1.97.1 is a patch release with a compiler miscompilation fix. Since Rust 1.93, relevant additions include Cargo TOML 1.1 and config inclusion, array_windows, cfg_select!, match if-let guards, assert_matches!, Cargo registry security fixes, symbol mangling v0 by default, and cache-friendly Cargo warning controls.

Rust 2024 stabilized in Rust 1.85. A package's rust-version is its minimum supported Rust version, not the current stable release; do not mechanically update MSRV to 1.97.1.

Read references/releases.md for the 36-page research ledger and release constraints. Read references/cargo-and-toolchains.md for workspaces, dependencies, toolchains, Clippy, rustfmt, and optional tools. Read references/testing-and-debugging.md for tests, doctests, Nextest, Miri, profiling, and debugging. Read references/safety-and-patterns.md for unsafe-code obligations and corrected implementation patterns.

Built-in and optional tools

Built into or distributed as Rust toolchain components:

  • cargo, rustc, and rustdoc
  • rustfmt, Clippy, and rust-analyzer when the component is available for the selected toolchain
  • Miri, generally through a compatible nightly toolchain

Optional external tools include cargo-nextest, Bacon, cargo-outdated, cargo-expand, and sccache. Check installation explicitly when the repository requires one; do not silently skip it or present it as a built-in Cargo command.

Focused verification

Adapt features and targets to the project, but keep each result meaningful: Add --locked to dependency-resolving checks when the project commits Cargo.lock; omit it for libraries that intentionally do not commit a lockfile. The commands below work for both; retain --locked in a committed-lockfile project's CI.

bash
cargo check --workspace --all-targets --all-features
cargo fmt --all -- --check
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo test --workspace --all-features
cargo test --workspace --doc

cargo fmt -- --emit diff is not supported by current stable rustfmt. cargo fmt --all -- --check prints differences and exits non-zero.

Pin the toolchain before making all warnings fatal in reproducible CI. On Rust 1.97+, CARGO_BUILD_WARNINGS=deny cargo check denies build warnings without invalidating the build cache.

Toolchain and MSRV

Commit rust-toolchain.toml when the project requires a reproducible compiler and components:

toml
[toolchain]
channel = "1.97.1"
components = ["clippy", "rustfmt"]
profile = "minimal"

Use cargo +nightly for a one-off nightly command. Avoid a hidden directory-local rustup override for a project requirement.

Declare the real MSRV in each package:

toml
[package]
edition = "2024"
rust-version = "1.85"

With rust-version, cargo add selects the newest dependency compatible with that MSRV. It does not blindly choose the latest published version.

Workspaces

Rust 2024 uses resolver 3. A virtual workspace has no package edition from which to infer it, so specify it explicitly:

toml
[workspace]
resolver = "3"
members = ["crates/core", "crates/cli", "crates/server"]

[workspace.package]
edition = "2024"
rust-version = "1.85"

Workspace members share one lockfile and target directory. Profiles and [patch] belong at the workspace root.

Edition migration

cargo fix edits source based on machine-applicable diagnostics and only sees enabled features and selected targets. Commit or otherwise preserve the current state first, then run the migration through every meaningful feature and target combination.

bash
cargo fix --edition --workspace --all-features
cargo check --workspace --all-targets --all-features

After changing each package's edition, rerun formatting, Clippy, tests, and doctests. Rust 2024 warns by default when unsafe operations inside an unsafe fn are not enclosed in an explicit unsafe block.

Errors and assertions

Propagate errors when a test or helper can return Result. Assert the actual value or invariant; assert!(result.is_ok()) discards useful failure context.

rust
#[tokio::test]
async fn fetches_expected_body() -> Result<(), reqwest::Error> {
    let server = wiremock::MockServer::start().await;
    wiremock::Mock::given(wiremock::matchers::method("GET"))
        .respond_with(wiremock::ResponseTemplate::new(200).set_body_string("ok"))
        .mount(&server)
        .await;

    let body = fetch_data(&server.uri()).await?;
    assert_eq!(body, "ok");
    Ok(())
}

Use a local mock server (wiremock) or injected transport, not a live third-party endpoint — a real request makes the suite depend on DNS, outbound-network availability, and an external response.

Check cleanup and writer errors when they can change the outcome. Do not ignore Read, Write, database close, trace write, or process exit errors.

Show full SKILL.md (338 more words)Show less

Ownership and borrowing

Prefer borrowing when a function need not own a value. The beginner rule “one mutable borrow at a time” is incomplete: Rust permits simultaneous mutable borrows when the compiler or an API proves they are disjoint. Do not contort code around a simplified slogan; model the actual aliasing invariant.

For text, remember that string indexes are byte offsets. Never slice an arbitrary byte range that may split UTF-8 or exceed the string length:

rust
fn preview(summary: &str) -> String {
    let prefix: String = summary.chars().take(20).collect();
    format!("{prefix}...")
}

Unsafe code

Unsafe permits a small set of operations; it does not disable Rust's other checks. Every unsafe boundary transfers a proof obligation to the author:

  • minimize the unsafe region,
  • use an explicit unsafe {} block even inside unsafe fn,
  • document caller obligations in a # Safety section,
  • add a // SAFETY: explanation at each block,
  • test the invariant with focused tests and, where useful, Miri, property tests, or fuzzing.

A clean Miri run checks only the executions observed and does not prove soundness. Miri's aliasing models are experimental, and its isolation is not a security sandbox. Disabling isolation exposes real host APIs.

Lints and formatting

Use the repository's selected lint groups. Do not enable all of clippy::pedantic as a universal default. When a lint is deliberately inapplicable, keep any allowance narrow and explain the invariant. Clippy configuration is explicitly unstable, so verify options against the selected toolchain.

Rustdoc runs Rust code blocks as tests by default. Keep cargo test --doc even when cargo-nextest is used, because Nextest does not run doctests.

Review checklist

  • Verify the rustc, Cargo, rustup, and component versions in use.
  • Keep MSRV separate from current stable.
  • Use resolver 3 explicitly for virtual Rust 2024 workspaces.
  • Run formatting, Clippy, tests, and doctests through the actual workspace.
  • Treat cargo fix and dependency updates as mutations requiring review.
  • Distinguish built-in commands from optional tools.
  • Propagate meaningful errors and use strong assertions.
  • Keep unsafe small, explicit, documented, and tested.
  • Treat Miri findings as evidence of a bug and clean runs as bounded evidence only.
  • Measure cache, linker, retry, and performance claims on the actual workload.

© shepherdjerred, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (references) in packages/dotfiles/dot_agents/skills/rust-helper of shepherdjerred/monorepo.

  • SKILL.md
  • references/cargo-and-toolchains.md
  • references/releases.md
  • references/safety-and-patterns.md
  • references/testing-and-debugging.md

Open the folder on GitHubat commit da14ae9

Compare with similar skills

Rust Helper next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Rust Helper compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Rust Helper this skillshepherdjerred/monorepo112—~2kAutomated safety check: PassGPL-3.0
OpenLogi macOS Permissions TriageAprilNEA/OpenLogi23k—~2.5kAutomated safety check: NotesApache-2.0
Debug Tuitrasta298/keifu811—~1.3kAutomated safety check: PassMIT
Cppcrazyguitar/cppcheatsheet290—~1.8kAutomated safety check: PassMIT
Codex TUI Testingopeninterpreter/openinterpreter69k2 repos~133Automated safety check: PassApache-2.0
Dbgtheodo-group/debug-that158—~2.2kAutomated safety check: PassMIT

Similar skills

  • Decides whether an OpenLogi device problem on macOS is a privacy-permission (TCC) problem, using agent log lines, and says which identity needs which grant.

    23k GitHub stars~2.5k tokensUpdated 4 days ago
    DevelopmentAuto-check: notes
  • Debug Tui

    trasta298/keifu

    Drive and debug the real keifu TUI autonomously via its remote-control debug server (--debug-listen) — launch headlessly, inject keys/mouse, dump the rendered screen as text, and inspect app state.

    811 GitHub stars~1.3k tokensUpdated 2 mo ago
    DevelopmentAuto-check passed
  • Cpp

    crazyguitar/cppcheatsheet

    Comprehensive C/C++ programming reference covering everything from C11-C23 and C++11-C++23, system programming, CUDA GPU computing, debugging tools, Rust interop, and advanced topics.

    290 GitHub stars~1.8k tokensUpdated today
    DevelopmentAuto-check passed
  • Codex TUI Testing

    openinterpreter/openinterpreter

    Guide for testing Codex TUI interactively

    69k GitHub starsUsed in 2 repos~133 tokens
    DevelopmentAuto-check passed
  • Dbg

    theodo-group/debug-that

    Debug applications using the dbg CLI debugger. An agent skill from theodo-group/debug-that.

    158 GitHub stars~2.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Issue Tracking

    static-web-server/static-web-server

    Triage, debug, fix, and document issues for the Static Web Server (SWS) project — bug reports, root cause analysis, fix implementation, and regression prevention

    2.4k GitHub stars~1.5k tokensUpdated today
    DevelopmentAuto-check passed

More from shepherdjerred/monorepo

All 63 skills in this repo
  • Bun Runtime Best Practices

    shepherdjerred/monorepo

    Bun runtime APIs and current operational patterns for files, processes, modules, networking, databases, tests, and deployment.

    112 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Bun Test Patterns

    shepherdjerred/monorepo

    Current Bun test runner guidance for discovery, isolation, parallelism, sharding, changed tests, mocks, timers, snapshots, coverage, DOM Testing Library, and integration teardown.

    112 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Bun Workspaces

    shepherdjerred/monorepo

    Current Bun workspace guidance for isolated and hoisted linkers, catalogs, filters, scripts, dependency classes, lockfiles, lifecycle trust, caches, publishing, TypeScript package exports, and…

    112 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Deep Research

    shepherdjerred/monorepo

    This skill should be used when the user asks to "deep research", "research this topic", "investigate thoroughly", "do a deep dive on", "comprehensive research on", "find everything about", "survey…

    112 GitHub stars~4.7k tokensUpdated today
    Auto-check: notes
  • Figma Use

    shepherdjerred/monorepo

    This skill should be used when the user asks to "create a Figma design", "design in Figma", "make a Figma mockup", "create an app icon", "design UI", "render JSX to Figma", "export from Figma"…

    112 GitHub stars~946 tokensUpdated today
    Auto-check passed
  • Fish Helper

    shepherdjerred/monorepo

    Current Fish shell scripting, functions, abbreviations, completions, variables, events, configuration, plugins, testing, and safety guidance.

    112 GitHub stars~2k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Rust Helper

What does Rust Helper do?

Current Rust and Cargo development guidance for workspaces, editions, MSRV, testing, Clippy, rustfmt, unsafe code, debugging, and toolchains. Rust Helper is an agent skill from shepherdjerred/monorepo. Current Rust and Cargo development guidance for workspaces, editions, MSRV, testing, Clippy, rustfmt, unsafe code, debugging, and toolchains.

When should I use Rust Helper?

Rust Helper fits situations like: cargo manifests; edition migrations; unsafe boundaries.

How do I install Rust Helper in Claude Code?

Run `npx skills add shepherdjerred/monorepo --skill rust-helper -a claude-code`. Or copy the skill folder (packages/dotfiles/dot_agents/skills/rust-helper in shepherdjerred/monorepo) into .claude/skills/rust-helper in your project. Claude Code loads it when a task matches its description.

How do I install Rust Helper in Codex?

Run `npx skills add shepherdjerred/monorepo --skill rust-helper -a codex`. Or copy the skill folder (packages/dotfiles/dot_agents/skills/rust-helper in shepherdjerred/monorepo) into .agents/skills/rust-helper in your project. Codex loads it when a task matches its description.

Can I use Rust Helper in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add shepherdjerred/monorepo --skill rust-helper -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/rust-helper, .gemini/skills/rust-helper, .github/skills/rust-helper and .opencode/skills/rust-helper in your project.

What does Rust Helper need to run?

Going by SKILL.md and its folder, Rust Helper needs the command-line tools its instructions call (cargo and rustc).

Does Rust Helper access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Rust Helper safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Rust Helper use?

Rust Helper is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Rust Helper use?

About 2k tokens (SKILL.md is roughly 8.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.1k tokens, read only when the agent opens those files.

What are the alternatives to Rust Helper?

Skills that share tags, products or a category with Rust Helper: OpenLogi macOS Permissions Triage (AprilNEA/OpenLogi, 23k stars), Debug Tui (trasta298/keifu, 811 stars), Cpp (crazyguitar/cppcheatsheet, 290 stars) and Codex TUI Testing (openinterpreter/openinterpreter, 69k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Rust Helper?

shepherdjerred (a GitHub user) maintains it in shepherdjerred/monorepo, which has 112 GitHub stars. The repository holds 63 skills in this directory. The repository was last updated on October 8, 2026.

Source: shepherdjerred/monorepo on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.