rust-best-practices
Idiomatic Rust guide based on Apollo GraphQL's best practices handbook.
Skill by apollographql
Chalk Labs
Need help deploying rust-best-practices?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/scott-fryxell-rust-best-practices
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, writing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/rust-best-practices
Tools it pre-approves 9
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
Bash(cargo:*)Bash(rustc:*)Bash(rustfmt:*)Bash(clippy:*)ReadWriteEditGlobGrep
What's inside
- Skill name
rust-best-practices- Description
- Idiomatic Rust guide based on Apollo GraphQL's best practices handbook. Use when writing, reviewing, or refactoring Rust - ownership and borrowing decisions, Result error handling, performance, clippy, and tests.
- License
- MIT
- Compatibility
- Rust 1.70+, Cargo
- Allowed tools
- Bash(cargo:*), Bash(rustc:*), Bash(rustfmt:*), Bash(clippy:*), Read, Write, Edit, Glob, Grep
- Metadata
- author: apollographql · version: 1.1.0
- Instructions
- 63 lines in SKILL.md · view on GitHub
Before installing
- Pre-approves some shell commands
Files (6)
- SKILL.md
- chapter_01.md · references/
- chapter_02.md · references/
- chapter_03.md · references/
- chapter_04.md · references/
- chapter_05.md · references/
SKILL.md (first lines)
# Rust Best Practices Apply these guidelines when writing or reviewing Rust code. Based on Apollo GraphQL's [Rust Best Practices Handbook](https://github.com/apollographql/rust-best-practices). ## Best Practices Reference Before reviewing, familiarize yourself with Apollo's Rust best practices. Read ALL relevant chapters in the same turn in parallel. Reference these files when providing feedback: - [Chapter 1 - Coding Styles and Idioms](references/chapter_01.md): Borrowing vs cloning, Copy trait, Option/Result handling, iterators, comments - [Chapter 2 - Clippy and Linting](references/chapter_02.md): Clippy configuration, important lints, workspace lint setup - [Chapter 3 - Performance Mindset](references/chapter_03.md): Profiling, avoiding redundant clones, stack vs heap, zero-cost abstractions - [Chapter 4 - Error Handling](references/chapter_04.md): Result vs panic, thiserror vs anyhow, error hierarchies - [Chapter 5 - Automated Testing](references/chapter_05.md): Test naming, one assertion per test, snapshot testing Trimmed to the chapters that apply here. The only Rust in this workspace is `work/realness/tracer`, a ~300-line WASM `cdylib` with no threads, no `unsafe`, no trait objects, and no published rustdoc API. Apollo's chapters 6-9 (generics and dispatch, type state, comments vs documentation, pointers and `Send`/`Sync`) were dropped as inapplicable. Pull them from the [upstream handbook](https://github.com/apollographql/rust-best-practices) if a future crate needs them. ## Quick Reference ### Borrowing & Ownership - Prefer `&T` over `.clone()` unless ownership transfer is required - Use `&str` over `String`, `&[T]` over `Vec<T>` in function parameters - Small `Copy` types (24 bytes or less) can be passed by value - Use `Cow<'_, T>` when ownership is ambiguous ### Error Handling - Return `Result<T, E>` for fallible operations; avoid `panic!` in production - Never use `unwrap()`/`expect()` outside tests - Use `thiserror` for library errors, `anyhow` for binaries only - Prefer `?` operator over match chains for error propagation ### Performance - Always benchmark with `--release` flag - Run `cargo clippy -- -D clippy::perf` for performance hints - Avoid cloning in loops; use `.iter()` instead of `.into_iter()` for Copy types - Prefer iterators over manual loops; avoid intermediate `.collect()` calls ### Linting Run regularly: `cargo clippy --all-targets --all-features --locked -- -D warnings` Key lints to watch: - `redundant_clone` - unnecessary cloning - `large_enum_variant` - oversized variants (consider boxing) - `needless_collect` - premature collection Use `#[expect(clippy::lint)]` over `#[allow(...)]` with justification comment. ### Testing - Name tests descriptively: `process_should_return_error_when_input_empty()` - One assertion per test when possible - Use doc tests (`///`) for public API examples - Consider `cargo insta` for snapshot testing generated output ### Comments - `//` comments explain *why* (safety, workarounds, design rationale) - Every `TODO` needs a linked issue: `// TODO(#42): ...`
From scott-fryxell/brayness, MIT.
More from scott-fryxell/brayness
- 0.786score
interview-prep
scott-fryxell
Helps research a company and prepare for its hiring process -- company research, why-this-company/role fit exploration, behavioral (STAR) prep, technical/DSA…
SkillAFreshness: A★ 125Claude Code +9 - 0.786score
hyperframes
scott-fryxell
Create video compositions, animations, title cards, overlays, captions, voiceovers, audio-reactive visuals, and scene transitions in HyperFrames HTML.
SkillAFreshness: A★ 125Claude Code +9 - 0.786score
motion-systems
scott-fryxell
Use when designing or implementing motion for web interfaces, including CSS transitions and keyframes, `linear()` easing design, transform strategy…
SkillAFreshness: A★ 125Claude Code +9 - 0.786score
useless
scott-fryxell
What building realness taught us about the web platform - semantic HTML with microdata as one decision that serves SEO, CSS selectors, layout, the data model…
SkillAFreshness: A★ 125Claude Code +9 - 0.786score
skill-writer
scott-fryxell
Create, synthesize, and iteratively improve agent skills following the Agent Skills specification.
SkillAFreshness: A★ 125Claude Code +9 - 0.786score
brayness-sync
scott-fryxell
Sync changes from dev brayness/ to the published git mirror at `skills/brayness-sync/published/`.
SkillAFreshness: A★ 125Claude Code +9 - 0.780score
vault
scott-fryxell
Read, search, and maintain the user's Obsidian vault at work/vault, a PARA-structured knowledge base of projects, interests, and reference material.
SkillAFreshness: A★ 125Claude Code +9 - 0.780score
memory
scott-fryxell
Store and retrieve durable learnings about how brayness actually works - success patterns, failure modes, corrections, and next-time hints.
SkillAFreshness: A★ 125Claude Code +9 - 0.780score
planning
scott-fryxell
Plan complex or creative work as a directed acyclic graph (DAG / mind-map) before executing, keeping the human as the decider at every gate.
SkillAFreshness: A★ 125Claude Code +9 - 0.780score
previous-work
scott-fryxell
Search past agent sessions across all three harnesses (pi, Cursor, Claude Code) when asked about earlier work.
SkillAFreshness: A★ 125Claude Code +9 - 0.780score
project-tooling
scott-fryxell
Check a work project's existing scripts, ops helpers, and curated tooling notes before editing, diagnosing, testing, building, or deploying it.
SkillAFreshness: A★ 125Claude Code +9 - 0.740score
vuetify-to-semantic
scott-fryxell
Refactor a Vue page or component from Vuetify to semantic HTML5 + Schema.org microdata + Stylus element selectors.
SkillBFreshness: B★ 125Claude Code +9
Compare and alternatives
Featured in
Signals
- Stars
- 125
- Forks
- 15
- Open issues
- 0
- Last commit (this folder)
- Aug 9, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.1.0
- License
- MIT
- Repository
- github.com/scott-fryxell/brayness
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from apollographql
- 0.725score
Apollo MCP Server
apollographql
MCP server that exposes GraphQL operations as tools for AI models.
ConnectorAFreshness: ALocal★ 317Claude Code +5 - 0.689score
CLAUDE.md · apollographql/apollo-client
apollographql
CLAUDE.md from apollographql/apollo-client: 140 lines covering Apollo Client Overview, Common Development Commands, High-Level Architecture, Additional…
TemplateAFreshness: A★ 19.8KClaude Code - 0.522score
rust-best-practices
apollographql
Guide for writing idiomatic Rust code based on Apollo GraphQL's best practices handbook.
SkillDFreshness: D★ 85Claude Code +9 - 0.520score
GraphOS MCP Server
apollographql
Search Apollo docs, specs, and best practices
ConnectorBFreshness: BRemoteClaude Code +3 - 0.479score
apollo-mcp-server
apollographql
Guide for using Apollo MCP Server to connect AI agents with GraphQL APIs.
SkillCFreshness: CClaude Code +9 - 0.479score
apollo-server
apollographql
Guide for building GraphQL servers with Apollo Server 5.x.
SkillCFreshness: CClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get rust-best-practices running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
rust-best-practices skill. Agent Mart. https://agentmart.dev/skills/scott-fryxell-rust-best-practices (last updated 2026-10-24)