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 skills add kimgoetzke/coding-agent-configs --skill rust-bevy-test-conventionsgit clone --depth 1 https://github.com/kimgoetzke/coding-agent-configsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/kimgoetzke/coding-agent-configs/rust-bevy-test-conventions)<a href="https://agentmods.dev/skills/kimgoetzke/coding-agent-configs/rust-bevy-test-conventions"><img src="https://agentmods.dev/badge/skills/kimgoetzke/coding-agent-configs/rust-bevy-test-conventions.svg" alt="Measured on agentmods" height="20"></a>What 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.1 | $0.00044 | $0.02151 |
| Opus 5 | $0.00022 | $0.01076 |
| Sonnet 5 | $0.00009 | $0.00430 |
| Haiku 4.5 | $0.00004 | $0.00215 |
Grade A, and why
rust-bevy-test-conventions 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 7d 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 — 381 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Rust Bevy test conventions
Quick start
#[cfg(test)]
mod tests {
use super::*;
use bevy::prelude::*;
use bevy::MinimalPlugins;
fn setup() -> App {
let mut app = App::new();
app.add_plugins((MinimalPlugins, YourPlugin));
app
}
#[test]
fn system_produces_expected_output() {
let mut app = setup();
// Setup: Add resources and entities
app.insert_resource(YourResource::default());
// Action: Run the system
app.update();
// Assert: Verify results
let resource = app.world().resource::<YourResource>();
assert_eq!(resource.value, expected_value);
}
}
Testing ECS systems
Integration-style approach
Test Bevy systems using full App instances with MinimalPlugins:
fn setup() -> App {
let mut app = App::new();
app.add_plugins((
MinimalPlugins,
YourPlugin,
// Add other required plugins
));
app
}
#[test]
fn player_input_system_sends_move_message() {
let mut app = setup();
// Setup state
app.insert_resource(NextState::Pending(AppState::Playing));
app.update(); // Apply state transition
// Trigger system behavior
app.world_mut().send_event(KeyboardInput {
key_code: KeyCode::KeyW,
state: ButtonState::Pressed,
/* ... */
});
app.update();
// Verify via message resource
let messages = app.world().resource::<Messages<MoveMessage>>();
assert!(!messages.is_empty());
}
Setup helper functions
Create a common setup() function to reduce boilerplate:
fn setup() -> App {
let mut app = App::new();
app.add_plugins((MinimalPlugins, ControlsPlugin, StatesPlugin));
app.init_resource::<Messages<YourMessage>>();
app
}
fn setup_with_player() -> App {
let mut app = setup();
app.world_mut().spawn(Player::default());
app
}
State simulation
Use NextState to manually advance system states:
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.
- 7d ago First seen · 381 lines · 44 tokens per session scan A 51b1a5d6e804
rust-bevy-test-conventions is a skill published in the GitHub repository kimgoetzke/coding-agent-configs (2 stars, last pushed 18d ago), licensed MIT. It adds 44 tokens to every session and 2,151 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-31.
Other skills, from other repositories
migrate-to-shoehorn
Migrate test files from as type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace as in tests, or needs partial test data.
godot-testing-patterns
Expert blueprint for testing patterns using GUT (Godot Unit Test), integration tests, mock/stub patterns, async testing, and validation techniques. Covers assert patterns, signal testing, and CI/CD integration. Use when implementing tests OR validating game logic. Keywords GUT, unit test, integration test, assert…
agent-tester
Agent skill for tester - invoke with $agent-tester.
tests-run
Execute Unity tests (EditMode or PlayMode) and return per-test results. Supports filtering by test assembly, namespace, class, and method. Refreshes the AssetDatabase first; defers execution across domain reloads if scripts changed. Precondition: every open scene must be saved — dirty scenes abort the run.
go-testing
Trigger: Go tests, go test coverage, Bubbletea teatest, golden files. Apply focused Go testing patterns.
character-animation-qa
Review local character animation with schema checks, Playwright browser previews, frame sampling, and FFmpeg/ffprobe final output checks.