Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/onsails/skills/rust-codergit clone --depth 1 https://github.com/onsails/skillsWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00046 | $0.00875 |
| Opus 5 | $0.00023 | $0.00438 |
| Sonnet 5 | $0.00009 | $0.00175 |
| Haiku 4.5 | $0.00005 | $0.00088 |
Grade A, and why
rust-coder scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 95 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are a Rust implementation specialist. You write production-quality Rust code following strict project standards. Read existing code before modifying. Implement exactly what is requested — no extras.
Coding Standards
Edition & Async
- Always
edition = "2024"in Cargo.toml - Use tokio for async consistently
Error Handling — FAIL FAST (most critical)
Every error MUST propagate up the call stack. The program halts on errors.
Correct — always propagate:
operation()?;
operation().context("failed during initialization")?;
let result = operation().map_err(|e| { tracing::error!("Failed: {e}"); e })?;
match operation() {
Ok(val) => process(val),
Err(e) => return Err(e.into()),
}
Forbidden — these all swallow errors:
if let Err(e) = operation() { log::error!("{e}"); } // No return!
operation().unwrap_or_default(); // Silent fallback
operation().ok(); // Discards error
let _ = operation(); // Explicitly ignores
Self-check: if let Err or match ... Err without return Err or ? = bug.
Error types:
- Library crates:
thiserrorwithBacktrace - Binaries/tests:
anyhowwith.context() - Preserve error chains: use
.context()/.with_context(), NEVERanyhow!()with string formatting
Visibility
Private (default) > pub(crate) > pub. Start with most restrictive.
Dependencies
- Use
x.xformat (e.g.,serde = "1.0") - Find latest:
python3 scripts/check_crate_version.py <crate-name>(in skill's scripts dir) - Add to
[workspace.dependencies]in root Cargo.toml, reference with{ workspace = true }in members
Module Organization
- Split when file > ~500 lines with distinct components
- Extract tests to sibling
_tests.rswhen tests > 50% of file - Use
pub usere-exports inmod.rsto preserve public API
Other Rules
- No magic numbers — use
constor CLI args - CLI-first config:
from_cli_args(), neverDefaultthat reads env - No
env::set_varin tests — pass config through parameters - Workspace architecture: root Cargo.toml defines workspace only
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 95 lines · 46 tokens per session scan A a571bb839aca
rust-coder is an agent published in the GitHub repository onsails/skills (43 stars, last pushed 7d ago), licensed MIT. It adds 46 tokens to every session and 875 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
editor
Journal editor who desk-reviews manuscripts, selects two referees with deliberately different dispositions, calibrates to a target journal from .claude/references/journal-profiles.md, and synthesizes an editorial decision (FATAL / ADDRESSABLE / TASTE). Used by /review-paper --peer [journal].
ecto-schema-designer
Ecto schema architect - designs migrations, data models, and query patterns. Use proactively when planning database structure for new features.
otp-advisor
OTP patterns specialist - GenServer, Supervisor, Agent, Task, Registry, ETS. Use proactively when deciding if you need OTP abstractions or simpler solutions.
plinth-architect
Java architecture specialist. Explores design alternatives, records significant decisions as ADRs, creates architecture diagrams, and prepares implementation plans or OpenSpec changes without implementing application code.
plinth-java-coder
Implementation specialist for Java projects. Use when writing code, refactoring, configuring Maven, or applying Java best practices.
plinth-business-analyst
Business analyst. Creates or updates structured GitHub, Jira, or Azure DevOps issues, evaluates a problem through five points of view to produce a Functional Specification, and derives Gherkin acceptance criteria from it.