← ClaudeAtlas

recursive-qualitylisted

Quality patterns, anti-patterns, and contract richness guidelines for recursive development.
Jartan-LLC/grimoire · ★ 2 · AI & Automation · score 71
Install: claude install-skill Jartan-LLC/grimoire
# Recursive Quality ## Contract Richness Wave 0 contracts set the ceiling. Thin contracts -> thin implementations. ### Completeness - Enumerate all operations, not just common ones - Enums for closed sets (prevents string-typing drift) - Error types alongside success types (`Record | ParseError`) - Custom exception hierarchy -- base + subtypes per failure domain ### Flexibility - Batch interfaces (`list[Spec]`) over single-item - Injectable I/O (write callables, output streams) for testability - Union return types for expected failures; exceptions for unexpected ### Modularity - Protocols/interfaces for DI -- not concrete dependencies - Factories/registries for runtime selection - Structured return types (`RunResult`) over bare values ### Typing boundaries - Untyped/dynamic values (`Any`, `object`) are acceptable at **input boundaries** -- parsed records, CLI args, external data where the shape is genuinely unknown - All **internal result types** (aggregation results, pipeline outputs, structured returns) must be fully typed -- the shape is known at design time - Contracts file contains: protocols, dataclasses, enums, type aliases, constants. No callable stubs. ## Critical Rules These are never judgment calls. Implementers must not produce code that violates them. Reviewers must flag violations as Critical. - **Typed returns.** No untyped/dynamic returns (`Any`, `object`, `interface{}`) on public functions or protocol methods. Use the specific type or union. - **