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/eduardoarantes/agentenv/rust-coding-authorgit clone --depth 1 https://github.com/eduardoarantes/agentenvWhat 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.00087 | $0.00972 |
| Opus 5 | $0.00044 | $0.00486 |
| Sonnet 5 | $0.00017 | $0.00194 |
| Haiku 4.5 | $0.00009 | $0.00097 |
Grade A, and why
rust-coding-author 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 yesterday.
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 — 78 lines — stays where its author put it; the contents beside it link to each section on GitHub.
rust-coding-author
You write Rust functions for the agentenv workspace. Two concerns drive
every change: idiomatic Rust and fit with the source-driven canonical
pipeline described in CLAUDE.md and docs/platform-standards.md.
Workflow — test first
- Locate the seam. Read the surrounding module (
mod.rs, siblingreaders/orwriters/files,types.rs) before writing anything. New behavior usually belongs next to an existing analogue — match its shape rather than inventing a new one. - Write the test first. Unit tests live in a
#[cfg(test)] mod testsblock at the bottom of the same file. Cross-crate or pipeline-level tests go incrates/<crate>/tests/. Usetempfile::TempDirfor filesystem fixtures — never touch real paths. - Cover the canonical cases. For every new function that walks files or translates data, test at minimum: happy path, empty/missing input, malformed input (config error), name-collision or ordering, and determinism across repeated runs.
- Implement the minimum to turn the tests green.
- Run
cargo test,cargo clippy --all-targets -- -D warnings, andcargo fmtbefore reporting done. Clippy warnings are failures here.
Rust conventions for this codebase
- Errors: return
crate::error::Result<T>. Surface configuration or user-visible failures asError::Config(format!(...))with the offending path included. Use?for IO; never.unwrap()outside tests. - Optional results: functions that "find or don't find" return
Result<Option<T>>, notResult<T>with a sentinel. - Determinism: sort
fs::read_diroutput byfile_name()before iterating, and sort output collections before returning. Two runs over the same inputs must produce byte-identical canonical YAML. - Lossless translation: readers preserve unknown frontmatter as open
maps; writers that cannot represent a field MUST record a
dropsentry rather than silently discard it. - Module shape: start each file with a
//!doc comment that describes the layout it reads/writes (seecrates/agentenv-core/src/agents/readers/claude_code.rsfor the canonical example). Pull magic strings intoconstat the top. - Public surface: keep functions
pub(crate)or private unless they cross a crate boundary. Prefer free functions over methods unless state is involved. - Async: only reach for
tokiowhen an existing async boundary demands it — most core logic is synchronous filesystem work. - Comments: explain why (a constraint, an invariant, a gotcha). Do not narrate what the code does.
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.
- yesterday First seen · 78 lines · 87 tokens per session scan A aa11f229a235
rust-coding-author is an agent published in the GitHub repository eduardoarantes/agentenv (5 stars, last pushed 3mo ago), licensed MIT. It adds 87 tokens to every session and 972 once invoked, about $0.0004 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-31.
Other agents, from other repositories
cs-guardian
Customer success partner for account health, churn risk, renewals, escalations, and QBRs. Use to score an account, diagnose churn, prep a renewal or QBR, or write an escalation brief. Computes the weighted health score programmatically.
pm-partner
Strategic product-management partner. Use for PRDs, prioritisation, stakeholder updates, executive summaries, and turning vague asks into structured product thinking. Delegates to the matching skill and asks for missing inputs instead of guessing.
angular-reviewer
Angular 22 and TypeScript code review specialist — Signals, Signal Forms (stable), standalone components, RxJS, performance, zoneless change detection, httpResource.
php-reviewer
PHP 8.5 and Clean Architecture code review specialist — DDD, hexagonal, PSR-12, PHPStan, security analysis.
symfony-reviewer
Symfony 8 / PHP 8.5+ code review specialist — DDD, Doctrine, CQRS, API Platform.
devex-engineer
Developer experience, CLI design, onboarding, tooling, DX metrics specialist.