rust-disciplinelisted
Install: claude install-skill po4yka/rust-skills
# Rust Discipline
## Purpose
Catch high-signal Rust mistakes before they land. Apply these rules to public (`pub`) and
crate-public (`pub(crate)`) function signatures, struct definitions, and trait bounds.
Use it when you author or change a signature, when you review a diff, and when you tighten code
before a merge. Apply every rule to every changed signature, not only to the first one.
Each rule carries a severity:
| Severity | Meaning |
|----------|---------|
| CRITICAL | Blocks the merge. The defect is silent, or it breaks downstream code. |
| WARNING | Fix it, or write a one-line justification in the diff. |
Deep material lives in the reference files. Open one when the diff matches its row.
| Reference | Read it when the diff adds |
|-----------|----------------------------|
| [`references/type-and-trait-traps.md`](references/type-and-trait-traps.md) | a trait impl, a `Drop` impl, a newtype, or a lifetime parameter |
| [`references/trait-resolution.md`](references/trait-resolution.md) | a `Deref` impl, an extension trait, a `downcast_ref` chain, a pointer-forwarding impl, a blanket impl, or a second conversion impl on one type pair |
| [`references/data-shape-traps.md`](references/data-shape-traps.md) | a hash key, a text reversal, or a large array |
| [`references/argument-shapes.md`](references/argument-shapes.md) | a parameter or return shape on a `pub` signature |
| [`references/drop-and-raii.md`](references/drop-and-raii.md) | a `Drop` impl, a guard type, or