
rust-stable
Implement and explain stable Rust language semantics with explicit toolchain and MSRV checks — ownership, borrowing, lifetimes, move semantics, traits, generics, associated types, pattern matching, closures, error propagation, and Edition differences. Use as the core Rust language skill when users ask for Rust syntax, compiler-error fixes, ownership/borrowing diagnoses, or version-sensitive stable code; hand std API selection (which collection, which smart pointer, which string type) to rust-stdlib, "how do I write X" pattern questions to rust-by-example, and specialized domains to their dedicated skills.
- Installs
- 110
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/full-stack-skills/rust-skills --skill rust-stable- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads rust-stable automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Rust Stable Language Semantics
Use this skill for language semantics: ownership, borrowing, lifetimes, traits, generics, pattern matching, error propagation, and Edition differences. First verify the project's actual toolchain and Minimum Supported Rust Version (MSRV).
For standard-library API selection (which collection, which smart pointer, which string type, which I/O trait), use rust-stdlib. For concrete pattern examples ("how do I write X"), use rust-by-example.
Prerequisites Before Starting
- Run
rustc --version --verboseandcargo --version. - Inspect the
rust-versionfield inrust-toolchain.toml,rust-toolchain, andCargo.toml. - Distinguish between three versions: local toolchain, project MSRV, and current official stable release.
- When encountering version-sensitive APIs, consult Current Stable Baseline and rely on official release notes and API documentation as the final authority.
- If a project is locked to an old version, strictly adhere only to syntaxes and APIs that are already stabilized for that specific version.
Current Offline Baseline: Rust 1.97.1 (released July 16, 2026). This is a dated repository baseline and does not update automatically.
Capability Boundaries
Suitable For Handling
- Ownership, borrowing, lifetimes, and move semantics.
struct,enum, pattern matching, traits, generics, and associated types.Option,Resulterror propagation, and custom errors (the language mechanism).- Closures (
Fn/FnMut/FnOnce), attribute syntax, format strings (the language mechanism). - Modules, visibility modifiers,
pub/pub(crate)/pub(super). - Edition differences (language-level —
unsafe extern, RPIT capture, match ergonomics). - Common compilation errors, borrowing check failures, and stable migration judgments.
Hand Off to Specialized Skills
| User Intent | Preferred Skill |
|---|---|
| "Which std collection / smart pointer / string type should I use?" | rust-stdlib |
| "How do I write X in Rust?" (concrete pattern) | rust-by-example |
| API design (naming, traits, future-proofing, ~100 C-* rules) | rust-api-design |
| Project layout, module trees, workspace structure | rust-workspace, rust-module-layout |
| Cargo.toml dependencies, features, profiles, publishing | rust-cargo-build |
| Dependency governance, supply chain, cargo-deny | rust-dependencies |
| Semver, breaking-change classification, publish workflow | rust-semver |
| Java Maven/Gradle project migration and component replacement | rust-java-migration |
| Java-to-Rust source-test parity, Rust obligations, and migration test audit | rust-java-migration-testing |
| Threads, locks, atomics, channels, Tokio | rust-concurrency |
| Unit tests, integration tests, doctests, coverage | rust-testing |
| Raw pointers, memory layout, FFI, Miri | rust-unsafe-ffi |
| UniFFI-generated Kotlin, Swift, Python, Ruby, or WASM bindings | rust-uniffi-building |
| macro_rules, derive, procedural macros | rust-macros |
| Command contracts, standard streams, exit codes, CLI | rust-cli |
| Server-side HTTP APIs, handlers, middleware | rust-web |
| SQL/ORMs, schemas, migrations, transactions, pools | rust-database |
| Web authentication, authorization, sessions, tokens | rust-web-security |
| Bare-metal firmware, no_std drivers, hardware validation | rust-embedded |
| Risk, correctness, API and safety review | rust-code-review |
| rustfmt, Clippy, Edition migration, lint policy | rust-style-clippy |
Do not replace the complete workflow of domain-specific skills with this skill.
Workflow
- Determine Version Boundaries — Record toolchain version, edition, MSRV, and target platform(s).
- Narrow Problem Scope — Determine whether the issue belongs to ownership/type system/standard library/compiler errors or a specialized domain.
- Read Minimal Resources — Open only references directly relevant to the problem; do not load entire documentation sets at once.
- Implement Minimum Correct Solution — Prioritize stable standard library usage, clear ownership semantics, and explicit error propagation.
- Run Quality Gate Checks — Execute
cargo fmt --check,cargo check(with all targets/features), and relevant tests. - Handle Version Differences — If an API is not supported by MSRV, choose the old compatible API or implement a compatibility shim; otherwise explicitly raise the MSRV.
- Transfer to Specialized Skills — Load corresponding skills for async, unsafe macros, Web, embedded domains after entering those areas.
Design Rules
- Prefer
&T/&mut T; clone only when ownership transfer is required or independent lifetimes are needed. - Use types to express invariants; prefer enums/newtypes over boolean parameters and unconstrained strings.
- Library code should return structured errors; application boundaries may add context before deciding how to display them.
- Prefer iterators and standard collections, but do not sacrifice readability for chain-of-call syntax.
- Do not use
unsafeas a bypass for borrowing checks first prove that safe abstractions cannot express the requirement. - Do not default third-party crate imports; compare against stable std, MSRV, maintenance cost, and supply chain risk.
- Never claim an API is stabilized in a specific version unless official release notes or an API page marked with
sinceconfirm it.
Validation Gateways
Run validation gates from lowest to highest risk:
cargo fmt --all --check
cargo check --all-targets --all-features
cargo test --all-targets --all-features
cargo clippy --all-targets --all-features -- -D warnings
If the project does not support --all-features or contains platform-specific targets, record reasons and use a defined feature/target matrix. For unsafe code, add cargo miri test; for MSRV issues, repeat cargo check and tests on the declared minimum toolchain.
Required Documentation to Read On-Demand
Version & Language Semantics
- Current Stable Baseline: Latest version, compatibility notes, update steps.
- Ownership & Lifetimes: Borrowing design, return values and lifetime judgment rules.
- Traits & Generics: Bounds, associated types, trait objects, API trade-offs.
- Patterns & Idiomatic Style: Builder patterns, newtypes, RAII, typestate management.
- Style Guide: Naming conventions, module organization, documentation style, and API design principles.
Cross-references (load the right skill instead)
- "Which std collection / smart pointer / string type?" →
rust-stdlib(itsreferences/covers collections, smart-pointers, string-types, iterators, I/O, interior-mutability, combinators, std-concurrency, process-and-fs, std-module-index) - "How do I write X?" →
rust-by-example(itsreferences/covers conversions, flow-control, closures, modules, generics-traits, error-handling, attributes, unsafe, procedural-macros-overview, inline-asm, migrating-from-other-languages) - API design →
rust-api-design; Cargo manifest →rust-cargo-build; dependency governance →rust-dependencies
Reproducible Examples
- Quick Start Workflows
- Ownership Patterns (
examples/ownership-patterns.md) - Collection Patterns (
examples/collections-patterns.md) - Trait Design Patterns (
examples/trait-design-patterns.md) - Error Handling Patterns (
examples/error-handling-patterns.md) examples/golden-basic/: Minimal golden examples compiled by repository CI.
Common Pitfalls to Avoid
- Confusing "current stable" with project MSRV.
- Running only
cargo check, omitting tests, examples, benchmarks, or feature combinations. - Blindly using
clone, wrapping inArc<Mutex<_>>, or invokingunsafesolely to avoid borrowing errors. - Holding synchronous locks across
.awaitcalls in async code. - Describing versioned historical documentation as continuously updated resources.
- Copying code snippets without including dependencies, features, error types, and platform constraints.
Official Sources
- Rust Release Notes
- The Rust Programming Language (Book)
- Standard Library Reference
- Reference Manual
- Rust by Example
- Edition Guide
Data Privacy Policy
This skill provides local knowledge, examples, and validation workflows only. It does not collect, store, or transmit user data. Access to official documentation must comply with the user's network access requirements prior to accessing public resources.
FAQ
What does the rust-stable skill do?
Implement and explain stable Rust language semantics with explicit toolchain and MSRV checks — ownership, borrowing, lifetimes, move semantics, traits, generics, associated types, pattern matching, closures, error propagation, and Edition differences. Use as the core Rust language skill when users ask for Rust syntax, compiler-error fixes, ownership/borrowing diagnoses, or version-sensitive stable code; hand std API selection (which collection, which smart pointer, which string type) to rust-stdlib, "how do I write X" pattern questions to rust-by-example, and specialized domains to their dedicated skills.
How do I install rust-stable?
Run npx skills add https://github.com/full-stack-skills/rust-skills --skill rust-stable in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/rust-stable/ (personal) or .claude/skills/rust-stable/ (project).
Which AI agents can use rust-stable?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is rust-stable safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains rust-stable?
It is published by full-stack-skills in full-stack-skills/rust-skills. It has 110 recorded installs.
More from full-stack-skills/rust-skills
rust-testing
full-stack-skills/rust-skills
Design, implement, and validate Rust tests, including unit, integration, doctest, compile-fail, property, fuzz, benchmark, coverage, async, concurrency, process, daemon, IPC, terminal, platform, and hardware-facing test strategies. Use when users ask for Rust test architecture, flaky-test diagnosis, coverage gates, benchmarks, trybuild, cargo-nextest, real-process tests, or failure-path verification.
rust-concurrency
full-stack-skills/rust-skills
Open the skill to read its SKILL.md instructions.
rust-style-clippy
full-stack-skills/rust-skills
Open the skill to read its SKILL.md instructions.
rust-performance
full-stack-skills/rust-skills
Measure, profile, optimize, and regression-test Rust performance across latency, throughput, CPU, allocations, memory, binary size, and compile time using representative workloads, Criterion, iai-callgrind, cargo-flamegraph, samply, DHAT, heap or pprof tools, cargo-bloat, cargo-llvm-lines, and build timings. Use when users report slow Rust code, high memory or CPU, large binaries, noisy benchmarks, tail-latency regressions, or need performance budgets and evidence-backed optimization.
rust-code-review
full-stack-skills/rust-skills
Review Rust changes for correctness, memory and thread safety, error semantics, unnecessary allocation or cloning, lock scope, API compatibility, test gaps, documentation, and dependency risk, applying the Rust API Guidelines checklist (C-PANIC, C-UNWRAP, C-TRANSMUTE, C-BOOL, C-NEWTYPE, C-COMMON-TRAITS, C-CONVERT, C-SEALED, C-NON-EXHAUSTIVE). Use when reviewing Rust diffs, pull requests, libraries, unsafe boundaries, or production incidents; report actionable findings by severity before summaries, route automated formatting or lint policy to rust-style-clippy, and route API shape decisions (trait sealing, error taxonomy, newtype design, builder patterns) to rust-api-design.
rust-cargo-build
full-stack-skills/rust-skills
Open the skill to read its SKILL.md instructions.
Popular backend & apis skills
find-skills
vercel-labs/skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
entra-app-registration
microsoft/azure-skills
Guides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration. USE FOR: create app registration, register Azure AD app, configure OAuth, set up authentication, add API permissions, generate service principal, MSAL example, console app auth, Entra ID setup, Azure AD authentication. DO NOT USE FOR: Key Vault secrets (use azure-keyvault-expiration-audit), general Azure resource security guidance.
google-agents-cli-adk-code
google/agents-cli
This skill should be used when the user wants to "write agent code", "build an agent with ADK", "add a tool", "create a callback", "define an agent", "use state management" — in a project that needs ADK (Agent Development Kit) API patterns and code examples. It provides a quick reference for agent types, tool definitions, orchestration patterns, callbacks, state management, the graph Workflow API, and reference recipes to study. Do NOT use for scaffolding (use google-agents-cli-scaffold) or deployment (use google-agents-cli-deploy).
embedded-captions
heygen-com/hyperframes
Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet anchor rail is the default; embed every word only when the user explicitly wants a fully cinematic treatment. The workflow runs locally end to end, including transcription and subject matting; split multi-shot footage before applying it.
entra-agent-id
microsoft/azure-skills
Provision Microsoft Entra Agent Identity Blueprints, BlueprintPrincipals, and per-instance Agent Identities via Microsoft Graph, and configure OAuth 2.0 token exchange (fmipath, OBO, cross-tenant) including the Microsoft Entra SDK for AgentID sidecar. USE FOR: Agent Identity Blueprint, BlueprintPrincipal, agent OAuth, fmipath token exchange, agent OBO, Workload Identity Federation for agents, polyglot agent auth, Microsoft.Identity.Web.AgentIdentities. DO NOT USE FOR: standard Entra app registration (use entra-app-registration), Microsoft Foundry agent authoring (use microsoft-foundry).
neon
neondatabase/agent-skills
Overview of Neon, a complete set of cloud backend primitives around Lakebase Postgres: Auth, Object Storage, Functions, the AI Gateway, and Realtime. Start here to choose Neon for undecided login, files, APIs, and LLM calls, set up the CLI or MCP server, and follow the branch-first workflow. Use when building an app or backend on Neon, or when "Neon" or "Lakebase Postgres" is mentioned. Child skill neon-postgres wins for an existing DATABASEURL, SQL, schema, inspect, or search. Child skill neon-auth wins for login, users, sessions, identity routing, and Managed Better Auth setup. Child skill neon-realtime wins for live queries in reactive apps and agents. Also use for object storage, S3, buckets, serverless functions, function triggers, cron, AI gateway, LLM calls, realtime, logs, Loki, Grafana, observability, postgres, database, backend, Claimable Neon, neon.new, or a no-signup database.