Produce an architectural analysis of an existing codebase — its design patterns, abstractions, concrete implementations, and how they relate — as a "current" Conceptual Architecture Document. Use when the user asks to analyze, map, reverse-engineer, or document the architecture of existing code, or wants a…
Turn a high-level concept and a high-level architecture into a conceptual set of interfaces, domain models, implementations, and their relationships. Use when the user describes what a project should do plus a rough architecture and asks for the interfaces/classes/traits to implement, a target/goal architecture, an…
Compare an existing architecture to a goal architecture and produce an incremental, test-guarded refactoring plan to get from one to the other. Use when the user has (or wants) a current and a target architecture and asks for a refactor plan, migration path, or step-by-step plan to evolve the codebase.