rust-abstraction-designlisted
Install: claude install-skill genaptic/skillsets
## Outcome
Produce the least powerful Rust abstraction that satisfies demonstrated reuse, substitution,
extension, lifetime, and failure requirements while keeping behavior understandable and safe.
## Compatibility
Portable across Claude Code, Codex, and OpenCode. Honor the target repository's Rust toolchain,
edition, MSRV, dependency versions, public API policy, object-safety requirements, and unsafe-code
rules. Edition 2024 examples require Rust 1.85 or newer. Optional network research requires
authorization; without it, qualify version-sensitive claims. Native-client compatibility remains
unverified without a dated exact-SHA report.
## Inputs
- Concrete use cases, callers, implementations, extension expectations, and performance constraints.
- Existing types, traits, generic bounds, lifetimes, errors, panics, unsafe blocks, and tests.
- Public API and compatibility commitments plus repository lint and dependency policy.
- Whether implementation families are closed, open, compile-time selected, or runtime selected.
## Safety
- Keep code concrete until reuse or variation pressure is demonstrated; do not introduce traits,
generics, macros, or code generation speculatively.
- Treat public traits, generic bounds, auto traits, error variants, and lifetimes as compatibility
contracts. Avoid broad changes without migration evidence.
- Keep required `unsafe` operations minimal, document invariants and `# Safety`, and expose a safe
API only when those invariants can be