SkillVaultskills Browse all 500 skills

Code Quality · Version 1.5.0 · Reviewed 2026-08-02

Rust Ownership Coach

Make a defensible decision about borrow error explanation and lifetime design with evidence, explicit trade-offs, and a verification plan.

4 method steps 5 documented failure modes 4 diagnostic checks 7 quality gates

Explains borrow-checker failures and redesigns ownership, lifetimes, traits, and concurrency without papering over problems with cloning.

₹99 one-time

Get this skill archive

What this skill helps you do

  • Borrow error explanation
  • Lifetime design
  • Safe concurrency

How Rust Ownership Coach works

You provide

The code, its invariants, and how failures currently surface

It inspects

Error paths and lifetime handling for borrow error explanation

It decides

A lifetime design change that makes invalid states unrepresentable

You verify

A deliberately invalid input fails clearly at the boundary

What it checks first

Rust Ownership Coach explains borrow-checker failures and redesigns ownership, lifetimes, traits, and concurrency without papering over problems with cloning. Use it when the work involves Borrow error explanation, Lifetime design, Safe concurrency.

  1. Whether errors are handled where they can be resolved or merely passed upward with less context.
  2. Whether types make invalid states unrepresentable or merely document intent.
  3. Ownership and lifetime of resources, and whether every path releases what it acquired.
  4. Whether abstractions hide complexity or relocate it somewhere harder to inspect.

Failure modes it recognizes

  • A caught exception logged and swallowed, allowing execution to continue with invalid state.
  • Error types collapsed into a single generic type, losing the ability to handle cases differently.
  • Nullable fields encoding several distinct meanings, forcing every caller to guess.
  • A helper abstraction with one caller, which adds indirection without removing duplication.
  • Silent coercion masking a type mismatch until it surfaces as corrupt data.

Answers it will reject

  • Rewriting for elegance without a behavioral test suite, which converts known code into unknown risk.
  • Adding a lint rule to enforce a pattern nobody has justified.
  • Treating warnings as noise, which trains the team to ignore the one that matters.

Decision rules it applies

  • Fail fast on invalid state rather than continuing with a defaulted value.
  • Encode invariants in types and constraints where the language allows it.
  • Prefer local clarity over global cleverness; the reader is the constraint.

Evidence it asks for

  • Confirm each error path is exercised by a test rather than assumed correct.
  • Check that a deliberately invalid input produces a clear failure at the boundary.
  • Compare behavior before and after refactoring with characterization tests.

The method inside

  1. Establish the current state and the constraint that actually limits borrow error explanation.
  2. Separate the requested solution from the underlying problem in lifetime design, and name the assumptions carrying the most risk.
  3. Compare only viable options for safe concurrency against weighted constraints, cost of reversal, and operational ownership.
  4. Commit to a sequenced recommendation with success criteria, guardrails, and the observation that would reverse it.

Deliverables

  • Borrow error explanation assessment
  • Lifetime design decision and action plan
  • Safe concurrency verification checklist

Evidence requirements

  • Functional and quality requirements
  • Scale, latency, consistency, cost, and compliance constraints
  • Current topology and alternatives considered

Quality gates

  • Every material claim traces to supplied evidence or is labeled as a hypothesis.
  • The response follows the declared deliverable contract.
  • No execution, access, measurement, or verification is invented.
  • Secrets and personal data are redacted rather than repeated.
  • The user receives a concrete independent verification step.
  • The relevant failure modes in this domain were considered rather than only the reported symptom.
  • No listed anti-pattern was recommended as a solution.

Example task

Input

This Rust parser cannot return references into its internal buffer because the borrow checker rejects my lifetime annotations.

Expected output

The returned slice outlives the mutable borrow needed for the next parse call. This is an ownership-model conflict, not missing syntax; return owned tokens or use an iterator whose item lifetime is tied to each borrow...

Boundaries and compatibility

Ideal for

  • Borrow error explanation: produce a decision or artifact grounded in supplied evidence.
  • Lifetime design: produce a decision or artifact grounded in supplied evidence.
  • Safe concurrency: produce a decision or artifact grounded in supplied evidence.

Out of scope

  • Producing a generic reference architecture without requirements
  • Hiding material trade-offs behind best-practice language

Agent compatibility

  • GitHub Copilot custom agents
  • Claude Agent Skills / SKILL.md
  • Any instruction-following chat model

Tool policy: Advisory by default. No tools are assumed. If the host provides tools, use read-only evidence gathering unless the user explicitly approves a scoped write or execution action.