Agent skill
rust-coder
Implement, refactor, and migrate production Rust with repository-grounded ownership, type-driven invariants, explicit errors, safe concurrency, minimal unsafe code, and verified Cargo workflows.
From sno-ai/sno-station-skills · 50 skill entries · 861 · pushed 2026-10-30
What it does when it runs
Implement, refactor, and migrate production Rust with repository-grounded ownership, type-driven invariants, explicit errors, safe concurrency, minimal unsafe code, and verified Cargo workflows. Use for Rust features, crates, CLIs, services, libraries, async code, FFI, performance work, migrations, or substantial .rs and Cargo.toml changes, including requests such as 'rust-coder', 'write Rust', or 'implement this Rust feature with Codex'.
Automated analysis of the skill and the 3 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.
- Keys and connectors you must supply
- None found.
- Hosts it reaches
- doc.rust-lang.org
- rust-lang.github.io
- Tool permissions it declares
- No
allowed-toolsin the frontmatter. It does act, so it runs under whatever permissions your session already grants. - Actions present in the files
- shell
Ask about rust-coder
Opens your assistant with this page's recorded context. Check the linked sources before relying on it.
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/sno-ai/sno-station-skills.git /tmp/sno-station-skills git -C /tmp/sno-station-skills sparse-checkout set "plugins/sno-station-standalone/skills/rust-coder" mkdir -p ~/.claude/skills/rust-coder cp -R "/tmp/sno-station-skills/plugins/sno-station-standalone/skills/rust-coder/." ~/.claude/skills/rust-coder/
Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗
Or take the whole library
This repo ships a .claude-plugin manifest, so Claude Code can install all 50 skills at once. Plugin skills are invoked as /<plugin>:<skill>, so they never collide with your own.
/plugin marketplace add sno-ai/sno-station-skills /plugin
The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.
The skill
Source on GitHub ↗Reproduced in full from sno-ai/sno-station-skills/blob/1c92b0ff8931aea0f29fc3cdca50a0f3e772c0dc/plugins/sno-station-standalone/skills/rust-coder/SKILL.md, which is licensed APACHE-2.0 (repository). 436 words, 5 headings.
Rust Coder
Implement directly in the current Codex session. Do not launch another Codex process.
Read references/standards.md completely before editing. Repository instructions and the declared toolchain override generic preferences.
Inspect
Read the smallest complete set of evidence:
- Nearest
AGENTS.md,CLAUDE.md, and repository instructions. - Root and target
Cargo.toml,Cargo.lock,rust-toolchain*, Cargo configuration, lint and format configuration, features, targets, and continuous-integration commands. - Every target file in full, its parent exports, immediate callers, traits, types, errors, feature gates, platform boundaries, focused tests, and one or two tested sibling modules.
- The exact format, check, test, Clippy, feature, and target commands used by the crate.
Determine the edit mode, crate kind, toolchain and minimum Rust version, public contract, ownership, resource lifecycle, error model, concurrency and cancellation, safety boundary, and invariants. Default to a hard cut; preserve compatibility only when an explicitly confirmed published contract requires it.
Ask only when an unresolved fact could change public behavior, durable state, safety, or migration semantics. Otherwise make repository-grounded assumptions and continue.
Design and implement
Resolve the change in this order:
- Domain invariants and invalid states.
- Ownership, borrowing boundaries, and resource lifetimes.
- Types, state transitions, public API, and errors.
- Concurrency, cancellation, and platform boundaries when relevant.
- Implementation mechanics and measured optimization.
Work directly with the available read and edit tools. Make the smallest coherent change and preserve unrelated work. Reuse existing crates, types, traits, errors, runtime, and helpers. Do not add dependencies, features, configuration, compatibility paths, unsafe, smart pointers, clones, lint suppressions, or abstractions merely to satisfy the compiler.
Treat borrow-checker and trait errors as design feedback. Keep checking and revising until the observable success criteria pass.
Verify
- Review the diff; every changed line must trace to the request.
- Run the repository's exact commands. Without stronger local commands, use focused equivalents of
cargo fmt --all --check,cargo check,cargo test, andcargo clippy --all-targets --all-features -- -D warnings. - Exercise every changed public feature combination and target that local tooling can validate.
- Search changed production Rust for unexplained
clone,Arc,Rc,Box, interior mutability,unwrap,expect, panics, placeholders,unsafe, and lint suppressions. - Add documentation, compile-fail, property, concurrency, Miri, package, or consumer checks only when the changed contract makes them relevant.
If a check fails, fix the exact observed failure and rerun it. Stop after three failed correction rounds and report the blocker instead of widening scope, cloning around ownership, adding unsafe code, or weakening validation.
Report
Lead with the outcome. Name changed files, consequential assumptions, ownership/type/error decisions, compatibility decisions, and every command actually run with its result.
Files bundled with it
These load only when the skill asks for them, so they cost nothing until it runs.
Need help setting it up?
This page tells you what rust-coder does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.
Book a call →The directory stays free. There is nothing gated behind this.