rust-best-practices is a skill in morganlinton/BeautifulRust, last changed 28 Oct 2026. It can run shell commands, name web addresses and bundle scripts.

From the author
Write idiomatic, robust, maintainable Rust. Use this skill whenever you write, review, refactor, debug, or explain Rust code: new crates, modules, functions, structs, traits, error types, async code, unsafe or FFI code, Cargo.toml, tests, or rustdoc. Trigger on any mention of Rust, cargo, crates, .rs files, the borrow checker, lifetimes, traits, clippy, or rustfmt, even when the user does not ask for "best practices" or "idiomatic" code. Synthesized from the Google Rust Style Guide, the Rust API Guidelines, Effective Rust, Rust Design Patterns, and Microsoft's Pragmatic Rust Guidelines.

At a glance

What it can touch

How much a skill can do, not whether it is risky.

Pattern check

Nothing flagged

That isn't proof the skill is harmless.

Commit f929612 · 29 Oct 2026

How the check works

Pattern check: nothing flagged

That isn't proof the skill is harmless.

Install

Each tab says whether it installs commit f929612, the one we checked, or the latest version.

Read SKILL.md first
MIT
Licence
1.4k
Repo stars
Publisher

What it can touch

From the files and frontmatter at commit f929612. This is how much a skill can do, not whether it is risky.

Pattern check

Pattern check: nothing flagged · commit f929612 · 29 Oct 2026

We checked every text file in this skill, at commit f929612 on 29 Oct 2026, against 45 published patterns such as download-and-run commands, hidden text and credential access. We don't run the skill, we don't read the web pages it points to, and we can't judge everything its instructions might lead an agent to do. In published tests, pattern checks like this one missed most malicious skills. Read the skill before you install it — especially anything it asks you to download or run.

How the check worksReport an incorrect finding

  • https://github.com/morganlinton/BeautifulRust
  • https://rust-lang.github.io/api-guidelines/
  • https://www.lurklurk.org/effective-rust/
  • https://rust-unofficial.github.io/patterns/
  • https://microsoft.github.io/rust-guidelines/
  • https://google.github.io/styleguide/rustguide.html
  • https://docs.rs/bevy/0.20.0
  • https://github.com/rust-lang/crates.io-index
  • https://docs.rs/bevy_ecs/0.20.0
  • https://bevy.org/learn/migration-guides/

Format check

Each agent reads SKILL.md a little differently. We check the file against each one's published rules; we don't run the skill in any agent.

  • Agent Skills specPasses with warnings

    The open format from agentskills.io, held to what the strictest agents enforce, so one folder loads everywhere.

    • Warning

      The body is about 7,244 tokens (approx.); the spec suggests under 5,000. B2

      Fix: Move detail into reference files that the agent reads only when needed.

    • Note

      Anthropic's packaging script leaves these out: evals/. F8

      Fix: Delete them, or list them in .gitignore.

    • Note

      There is no license field, so readers can't tell whether they may reuse the skill. O2

      Fix: Add license: with an SPDX name such as MIT or Apache-2.0, or the name of a bundled licence file.

    • Note

      Reference files that SKILL.md doesn't link: evals/bevy-arena-regen/graders/01-builds-and-tests-pass.md, evals/bevy-arena-regen/graders/02-regen-tested-headless.md, evals/bevy-arena-regen/graders/03-system-params-by-value.md, evals/bevy-arena-regen/graders/04-keeps-bevy-prelude.md, evals/bevy-arena-regen/graders/05-plain-data-components.md and 39 more. Anthropic suggests linking every reference file directly from SKILL.md. B4

      Fix: Link each one from SKILL.md and say when to read it.

    • Note

      Reference files over 100 lines with no table of contents at the top: references/bevy.md (143 lines), references/effective-rust.md (197 lines), references/google-rust-style-guide.md (209 lines), references/microsoft-rust-guidelines.md (270 lines), references/rust-api-guidelines.md (215 lines) and 1 more. B5

      Fix: Add a short list of the sections at the top of each.

  • Claude CodePasses

    Claude Code reads its own extra fields, ignores unknown ones, and still loads a skill whose frontmatter is broken, without its fields.

    • Note

      Anthropic's packaging script leaves these out: evals/. F8

      Fix: Delete them, or list them in .gitignore.

    • Note

      The body is about 7,244 tokens (approx.); the spec suggests under 5,000. After compaction Claude Code keeps only the first 5,000 tokens of a skill. B2

      Fix: Move detail into reference files that the agent reads only when needed.

    • Note

      Reference files that SKILL.md doesn't link: evals/bevy-arena-regen/graders/01-builds-and-tests-pass.md, evals/bevy-arena-regen/graders/02-regen-tested-headless.md, evals/bevy-arena-regen/graders/03-system-params-by-value.md, evals/bevy-arena-regen/graders/04-keeps-bevy-prelude.md, evals/bevy-arena-regen/graders/05-plain-data-components.md and 39 more. Anthropic suggests linking every reference file directly from SKILL.md. B4

      Fix: Link each one from SKILL.md and say when to read it.

    • Note

      Reference files over 100 lines with no table of contents at the top: references/bevy.md (143 lines), references/effective-rust.md (197 lines), references/google-rust-style-guide.md (209 lines), references/microsoft-rust-guidelines.md (270 lines), references/rust-api-guidelines.md (215 lines) and 1 more. B5

      Fix: Add a short list of the sections at the top of each.

  • Claude apps & API uploadPasses

    Uploading to claude.ai or the Claude API, or packaging with Anthropic's script, accepts only the six spec fields and stops on anything else.

    • Note

      Anthropic's packaging script leaves these out: evals/. F8

      Fix: Delete them, or list them in .gitignore.

    • Note

      The description is 593 characters. The claude.ai Help Center says 200 at most, though Anthropic's API docs and validator allow 1,024. D4

      Fix: If the claude.ai upload refuses it, trim the description to 200 characters.

    • Note

      The body is about 7,244 tokens (approx.); the spec suggests under 5,000. Anthropic's guidance says the same. B2

      Fix: Move detail into reference files that the agent reads only when needed.

    • Note

      Reference files that SKILL.md doesn't link: evals/bevy-arena-regen/graders/01-builds-and-tests-pass.md, evals/bevy-arena-regen/graders/02-regen-tested-headless.md, evals/bevy-arena-regen/graders/03-system-params-by-value.md, evals/bevy-arena-regen/graders/04-keeps-bevy-prelude.md, evals/bevy-arena-regen/graders/05-plain-data-components.md and 39 more. Anthropic suggests linking every reference file directly from SKILL.md. B4

      Fix: Link each one from SKILL.md and say when to read it.

    • Note

      Reference files over 100 lines with no table of contents at the top: references/bevy.md (143 lines), references/effective-rust.md (197 lines), references/google-rust-style-guide.md (209 lines), references/microsoft-rust-guidelines.md (270 lines), references/rust-api-guidelines.md (215 lines) and 1 more. B5

      Fix: Add a short list of the sections at the top of each.

  • OpenAI (Codex & API)Passes

    Codex finds SKILL.md by its exact name and needs a description; OpenAI's Skills API checks the frontmatter against the spec and caps uploads.

    • Note

      Anthropic's packaging script leaves these out: evals/. F8

      Fix: Delete them, or list them in .gitignore.

  • VS Code & CopilotPasses

    VS Code reads skills one folder below .github/skills, .claude/skills or .agents/skills and falls back to the folder name when the name is missing or differs; GitHub's Copilot docs require the exact name SKILL.md.

    • Note

      Anthropic's packaging script leaves these out: evals/. F8

      Fix: Delete them, or list them in .gitignore.

SKILL.md

Files

62 files

PathSize
SKILL.md (opens in a new tab)28.9 KB
evals/bevy-arena-regen/case.yaml (opens in a new tab)783 B
evals/bevy-arena-regen/files/Cargo.lock (opens in a new tab)32.5 KB
evals/bevy-arena-regen/files/Cargo.toml (opens in a new tab)354 B
evals/bevy-arena-regen/files/src/lib.rs (opens in a new tab)6.2 KB
evals/bevy-arena-regen/files/tests/arena.rs (opens in a new tab)3.3 KB
evals/bevy-arena-regen/graders/01-builds-and-tests-pass.md (opens in a new tab)167 B
evals/bevy-arena-regen/graders/02-regen-tested-headless.md (opens in a new tab)272 B
evals/bevy-arena-regen/graders/03-system-params-by-value.md (opens in a new tab)212 B
evals/bevy-arena-regen/graders/04-keeps-bevy-prelude.md (opens in a new tab)159 B
evals/bevy-arena-regen/graders/05-plain-data-components.md (opens in a new tab)208 B
evals/bevy-arena-regen/graders/06-ordered-after-damage.md (opens in a new tab)334 B
evals/bevy-arena-regen/graders/07-no-panicking-queries.md (opens in a new tab)186 B
evals/bevy-arena-regen/graders/08-clippy-clean.md (opens in a new tab)125 B
evals/bevy-arena-regen/graders/09-health-never-exceeds-max.md (opens in a new tab)134 B
evals/bevy-arena-regen/graders/10-existing-code-not-rewritten.md (opens in a new tab)275 B
evals/bevy-arena-regen/place-files.sh (opens in a new tab)62 B
evals/bevy-arena-regen/prompt.md (opens in a new tab)480 B
evals/log-summary-cli/case.yaml (opens in a new tab)581 B
evals/log-summary-cli/graders/01-never-panics-on-bad-input.md (opens in a new tab)212 B
Show 42 more
PathSize
evals/log-summary-cli/graders/02-errors-name-the-file.md (opens in a new tab)104 B
evals/log-summary-cli/graders/03-malformed-lines-counted.md (opens in a new tab)186 B
evals/log-summary-cli/graders/04-paths-as-path-types.md (opens in a new tab)168 B
evals/log-summary-cli/graders/05-sorted-and-skipped-count.md (opens in a new tab)150 B
evals/log-summary-cli/graders/06-dependency-ranges.md (opens in a new tab)134 B
evals/log-summary-cli/graders/07-map-based-counting.md (opens in a new tab)103 B
evals/log-summary-cli/graders/08-aggregation-unit-tested.md (opens in a new tab)147 B
evals/log-summary-cli/prompt.md (opens in a new tab)730 B
evals/refactor-inventory-module/case.yaml (opens in a new tab)677 B
evals/refactor-inventory-module/files/inventory.rs (opens in a new tab)3.2 KB
evals/refactor-inventory-module/graders/01-deny-warnings-removed.md (opens in a new tab)90 B
evals/refactor-inventory-module/graders/02-no-rc-refcell-in-api.md (opens in a new tab)141 B
evals/refactor-inventory-module/graders/03-borrowed-param-types.md (opens in a new tab)157 B
evals/refactor-inventory-module/graders/04-error-implements-error.md (opens in a new tab)108 B
evals/refactor-inventory-module/graders/05-no-unwrap-on-fallible-paths.md (opens in a new tab)209 B
evals/refactor-inventory-module/graders/06-getter-renamed.md (opens in a new tab)132 B
evals/refactor-inventory-module/graders/07-bool-param-replaced.md (opens in a new tab)117 B
evals/refactor-inventory-module/graders/08-deterministic-report.md (opens in a new tab)114 B
evals/refactor-inventory-module/graders/09-format-over-concat.md (opens in a new tab)119 B
evals/refactor-inventory-module/graders/10-no-check-then-unwrap.md (opens in a new tab)128 B
evals/refactor-inventory-module/graders/11-changes-listed-with-reasons.md (opens in a new tab)94 B
evals/refactor-inventory-module/graders/12-signature-changes-called-out.md (opens in a new tab)201 B
evals/refactor-inventory-module/place-files.sh (opens in a new tab)62 B
evals/refactor-inventory-module/prompt.md (opens in a new tab)507 B
evals/semver-library-api/case.yaml (opens in a new tab)575 B
evals/semver-library-api/graders/01-implements-fromstr.md (opens in a new tab)141 B
evals/semver-library-api/graders/02-implements-display.md (opens in a new tab)94 B
evals/semver-library-api/graders/03-dedicated-error-type.md (opens in a new tab)164 B
evals/semver-library-api/graders/04-common-traits-derived.md (opens in a new tab)127 B
evals/semver-library-api/graders/05-fields-private.md (opens in a new tab)125 B
evals/semver-library-api/graders/06-rustdoc-with-errors-section.md (opens in a new tab)132 B
evals/semver-library-api/graders/07-doc-examples-use-question-mark.md (opens in a new tab)86 B
evals/semver-library-api/graders/08-precedence-rules-tested.md (opens in a new tab)152 B
evals/semver-library-api/graders/09-no-unwrap-in-library-code.md (opens in a new tab)136 B
evals/semver-library-api/graders/10-eq-hash-agree-with-ord.md (opens in a new tab)258 B
evals/semver-library-api/prompt.md (opens in a new tab)667 B
references/bevy.md (opens in a new tab)7 KB
references/effective-rust.md (opens in a new tab)13.9 KB
references/google-rust-style-guide.md (opens in a new tab)10.7 KB
references/microsoft-rust-guidelines.md (opens in a new tab)16.2 KB
references/rust-api-guidelines.md (opens in a new tab)11.2 KB
references/rust-design-patterns.md (opens in a new tab)8.2 KB

More from morganlinton/BeautifulRust

SkillWhat it can touchPattern checkLicenceUpdated
  • Runs shell commands
  • Bundles scripts
Pattern check: Nothing flaggedMIT25 Oct 2026
  • Runs shell commands
  • Names web addresses
  • +1 more
Pattern check: Nothing flaggedMIT27 Oct 2026

Other Coding & code review skills

Same category, most repo stars first.

SkillWhat it can touchPattern checkLicenceUpdated
finishing-a-development-branchUse when implementation is complete, all tests pass, and you need to decide how to integrate the work

obra/superpowers

  • Runs shell commands
  • +1 more

Pattern check: Nothing flaggedMITUpdated 12 Aug 2026

  • Runs shell commands
  • Reaches the network
Pattern check: Nothing flaggedMIT12 Aug 2026
  • Reaches the network
Pattern check: Nothing flaggedMIT23 Jul 2026
  • Instructions only
Pattern check: Nothing flaggedMIT11 Aug 2026
  • Instructions only
Pattern check: Nothing flaggedMIT11 Aug 2026
  • Instructions only
Pattern check: Nothing flaggedMIT16 Oct 2026
  • Instructions only
Pattern check: Nothing flaggedMIT8 Oct 2026