--- name: feature-overview description: Write concise architecture overview documents for features. Use when creating or updating docs about feature structure, design rationale, extension points for agents and humans --- # Feature overview documents ## When to create one When a feature spans multiple files and has non-obvious design decisions, relationships, or invariants that an agent working on related changes would need to understand but cannot easily discover by reading a single file ## File `.agents/docs//overview.md` ## Purpose Give agents the **mental model** — structure, relationships, rationale, invariants Not a catalog of what each file contains The goal is to save context and time: an agent reads this, then knows where to look and what to watch for ## Content rules ### Include - **Purpose** — what problem the feature solves. One paragraph. - **Architecture at a glance** — layers, components, their relationships. What depends on what. What knows about what. - **Key abstractions** — concepts that span files, described in terms of their role and interactions, not their implementation. - **Design decisions and rationale** — especially non-obvious ones: why two backends, why state lives outside Redux, why broadcast is deliberately unsupported on a path, etc. - **Invariants and gotchas** — constraints that must hold (e.g. "resume callbacks must never enter Redux", "this slice is not persisted"). Things agents could break if they don't know. - **Extension points** — patterns for adding new variants of the thing (new task type, new mass op, etc.). Brief, not tutorial. - **Deliberate gaps** — what was intentionally left out and why (no cancellation, no persistence). ### Exclude - Implementation details discoverable by reading one file (how a key is constructed, what a function returns) - Copy-pasted code snippets - File indexes / directory listings - Consumer/UI component lists (unless a specific integration point is architecturally significant) - Anything an agent can find with a quick grep or by reading the file referenced ### Style - Dense, no filler, ~80 lines is a good target - Inline file references with concepts (e.g. "the active-operations Map in `actions/uav-test.ts`") — agents shouldn't need to search for the file - Tables only for comparing alternatives or backends - Headings for navigation, not hierarchy for its own sake ## Process 1. Study the actual implementation — diffs, current code, how things are wired. Understand the feature thoroughly before writing. 2. Ask the user clarifying questions. Don't assume; don't guess. The user knows what the feature does and why decisions were made. 3. Once you and the user have a shared understanding, write the overview. 4. Trim aggressively. Every sentence must earn its place.