--- name: crate-readme-writer description: Write or substantially revise a Rust crate's README.md as a concise, user-facing design document. Use whenever creating a crate README, documenting a planned crate, or defining a crate's purpose, role, or interface before implementation. --- # Crate README writer Invoke `docs-writer` and apply its rules throughout. For a new crate, write the README before implementing behavior. Use it as a lightweight specification: changing prose and examples is cheaper than changing code, and a written proposal gives collaborators a concrete design to review. For an existing crate, inspect its manifest and implementation first so the README describes current behavior rather than an imagined interface. - Identify the intended reader, the problem the crate solves, and why it belongs in the repository. - Lead with the crate name and a one- or two-sentence description of its purpose. - Describe the smallest useful contract: principal capability, expected integration point, and important platform or architectural constraints. - Add a minimal usage example only when it clarifies the intended API better than prose. - Revise the proposed interface until it is coherent before committing to implementation details. - Treat a long or complicated README as design feedback: narrow or split the crate instead of writing an exhaustive specification. - Link to existing project or protocol documentation rather than duplicating it. - After implementation, verify every claim and example against the code while preserving the README's concise introductory role. Write `README.md` directly. Keep it short enough to expose unclear scope and unnecessary complexity. This workflow follows [Readme Driven Development](https://tom.preston-werner.com/2010/08/23/readme-driven-development).