Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Idiomatic Rust

ASecurity

Use when writing, reviewing, or refactoring Rust code. Routes the task to handbook chapters on idioms, lints, errors, testing, generics, and pointers under the edition 2024 and current-stable pins.

54 stars
0 votes
0 copies
0 views
Added 9/20/2026
developmentrustgotestingrefactoringapiperformancedocumentation

Works with

cliapi

Security Analysis

A100/100

Scanned 9/20/2026

Install to Claude Code

$npx -y skills add OutlineDriven/outline-driven-development --skill idiomatic-rust --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Idiomatic Rust?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Idiomatic Rust
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/outlinedriven-idiomatic-rust-outline-driven-development/badge)](https://www.skillsdirectory.com/skills/outlinedriven-idiomatic-rust-outline-driven-development)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: idiomatic-rust
description: 'Use when writing, reviewing, or refactoring Rust code. Routes the task to handbook chapters on idioms, lints, errors, testing, generics, and pointers under the edition 2024 and current-stable pins.'
---

# Idiomatic Rust

## Contract

| Field | Bound contract |
|---|---|
| Trigger | Rust code is being written, reviewed, or refactored, or a Rust design choice about borrowing, error handling, dispatch, or testing needs the idiomatic answer. |
| Authority | Reversible local: writes only the Rust source and project files the invoking task already touches; rollback is version-control restore. No remote mutation. |
| Side effect | Rust source files may change under the invoking task; chapter guidance and verification output go to chat. |
| Done | The code or review follows the conventions below, the routed chapters were consulted, and the toolchain verification ran clean or its failure is reported. |

## Inputs

1. The Rust task (required): code to write, a diff to review, or a design question.
2. The crate or workspace root (required when it is not the current directory): supplies `Cargo.toml`, `rust-toolchain.toml`, and the edition pin.
3. The toolchain pin (optional): defaults to the grounded pin in step 1.

## Procedure

1. Fix the toolchain baseline. The grounded pin is Rust 1.98.1 stable (released 2026-09-03) on edition 2024. Rust ships a rolling six-week stable train with no LTS channel, so current stable is the maintained target. When the project pins an older toolchain or edition, work inside that pin and note the delta. Done when: the effective toolchain and edition are named.
2. Route the task to the handbook chapters. Read every chapter the task touches in the same turn; the routing table is under References. Done when: each relevant chapter is loaded.
3. Apply the core conventions. Done when: the code or review reflects each convention that applies.
   - Borrowing and ownership: prefer `&T` over `.clone()` unless ownership must move; take `&str` over `String` and `&[T]` over `Vec<T>` in parameters; use `Cow<'_, T>` when ownership is ambiguous.
   - `Copy` types: passing a small `Copy` type by value is a heuristic, not a rule. The handbook's threshold is about two to three machine words, roughly 24 bytes on a 64-bit target, because the copy avoids a pointer indirection. The real cutoff depends on the target's register and calling conventions; measure when the path is hot.
   - Error handling: return `Result<T, E>` for fallible operations; keep `panic!` for unrecoverable bugs; use `thiserror` for library error types and `anyhow` for application binaries; propagate with `?`.
   - `unwrap()` and `expect()` stay out of production paths; tests and examples may use them.
   - Performance: benchmark with `--release`; run `cargo clippy -- -D clippy::perf` for hints; avoid cloning in loops; prefer iterators and avoid intermediate `.collect()` calls.
   - Dispatch: prefer generics (static dispatch) on hot paths; use `dyn Trait` for heterogeneous collections; box at API boundaries, not internally.
   - Type state: encode valid states in the type system when invalid transitions must fail at compile time.
   - Documentation: `//` comments carry why (safety, workarounds, rationale); `///` doc comments carry what and how on public API; every `TODO` names a tracking issue; enable `#![deny(missing_docs)]` on libraries.
4. Verify with the toolchain. Run `cargo fmt --check`, `cargo clippy --all-targets --all-features --locked -- -D warnings`, and `cargo test`. A lint that must be suppressed uses `#[expect(clippy::lint)]` with a justification comment, never a bare `#[allow]`. Done when: all three commands pass or each failure is reported with its cause.

## References

Chapter content is inherited from the pinned handbook sources; the headline Rust 1.98.1 pin does not independently revalidate its per-feature and library assertions.

| File | Read when |
|---|---|
| `references/chapter_01.md` | Borrowing vs cloning, `Copy`, `Option`/`Result` handling, iterators, comments, when to extract a function |
| `references/chapter_02.md` | Clippy configuration, key lints, workspace lint setup |
| `references/chapter_03.md` | Profiling, redundant clones, stack vs heap, zero-cost abstractions |
| `references/chapter_04.md` | `Result` vs panic, `thiserror` vs `anyhow`, error hierarchies |
| `references/chapter_05.md` | Test naming, one assertion per test, snapshot testing |
| `references/chapter_06.md` | Static vs dynamic dispatch, trait objects |
| `references/chapter_07.md` | Compile-time state safety with the type-state pattern |
| `references/chapter_08.md` | When to comment, doc comments, rustdoc |
| `references/chapter_09.md` | Thread safety, `Send`/`Sync`, pointer types |

## Failure and recovery

| Failure class | Behavior |
|---|---|
| `cargo clippy` missing | Install it with `rustup component add clippy`; clippy ships as a rustup component in lockstep with rustc, not as a separately versioned package. |
| Clippy false positive | Suppress with `#[expect(clippy::lint)]` and a justification comment; `expect` warns once the lint stops firing, so the suppression cannot go stale. |
| Heuristic conflicts with measurement | The measurement wins; a heuristic states a default, not a law. |
| Project pins an older toolchain | Work inside the project's pin and report which conventions need a newer toolchain. |

## Output

Rust code or review feedback that follows the conventions above, with the toolchain verification results or the blocking failure named.

Attribution

OutlineDrivenOutlineDriven
View sourceMore from OutlineDriven →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Browser Extension Developer

Use this skill when developing or maintaining browser extension code in the `browser/` directory, including Chrome/Firefox/Edge compatibility, content scripts, background scripts, or i18n updates.

281612 votes

Seo Optimizer

SEO optimization with keyword analysis, readability assessment, technical validation, content quality. Use for search rankings, blog posts, content audits, or encountering keyword density, readability scores, meta tags, schema markup errors.

2132 votes

Google Official Seo Guide

Official Google SEO guide covering search optimization, best practices, Search Console, crawling, indexing, and improving website search visibility based on official Google documentation

1862 votes

Tanstack Start

Build a full-stack TanStack Start app on Cloudflare Workers from scratch — SSR, file-based routing, server functions, D1+Drizzle, better-auth, Tailwind v4+shadcn/ui. Use whenever the user mentions TanStack Start, asks to scaffold a full-stack Cloudflare app with SSR, wants an SSR dashboard, or asks for a React 19 + Cloudflare Workers app with file-based routing and server functions — even if they don't name TanStack Start specifically. No template repo — Claude generates every file fresh per ...

9881 votes

Pentest

PTES-aligned adversarial security audit for backend, frontend, and mobile applications. Produces a CVSS-scored Hacker Report with verified PoCs and phased remediation.

5491 votes
View all in development →