Pattern Description
What: Systematically analyzes a codebase to identify recurring architectural, design, and coding patterns across all abstraction levels, from low-level implementation idioms to high-level system architecture, including project-specific solution approaches and technology integration patterns.
When: Use this skill to understand the complete pattern landscape of a project, during architectural assessments, for refactoring efforts, when onboarding to complex systems, or when planning technology evolution and modernization strategies.
Context: Applicable across all technology stacks and project types, focusing on observable patterns rather than theoretical frameworks, with emphasis on understanding how patterns actually manifest in practice.
Project-Specific Conventions
Architectural Patterns
- Overall Structure: [e.g., Monolithic, Microservices, Layered, Event-Driven, Serverless]
- Data Management: [e.g., Centralized Database, Distributed Databases, CQRS, Event Sourcing]
- Communication: [e.g., RESTful APIs, gRPC, Message Queues, WebSockets, GraphQL]
- Deployment: [e.g., Container-based, Serverless, Traditional hosting, Multi-cloud]
Design Patterns
- Structural: [e.g., Adapter, Decorator, Facade, Proxy, Bridge, Composite]
- Behavioral: [e.g., Observer, Strategy, Command, State, Iterator, Mediator]
- Creational: [e.g., Factory, Singleton, Builder, Prototype, Abstract Factory]
Project-Specific Solution Patterns
- Feature Templates: [e.g., how new features are consistently structured and integrated]
- Data Processing: [e.g., standard data transformation and validation pipelines]
- Error Handling: [e.g., consistent error response patterns and recovery strategies]
- Configuration: [e.g., how configuration is managed and propagated across systems]
Technology Integration Patterns
- Framework Integration: [e.g., how external libraries and frameworks are consistently integrated]
- Database Patterns: [e.g., ORM usage patterns, query optimization approaches, transaction handling]
- API Design: [e.g., consistent API structures, versioning strategies, response formats]
- Security Patterns: [e.g., authentication flows, authorization checks, data protection approaches]
Common Pitfalls
❌ Implicit Patterns
Problem: Important architectural and design patterns exist but are not explicitly documented or understood by the team.
Why It Fails: Leads to inconsistent implementations, makes onboarding difficult, and creates technical debt through pattern drift.
Better Approach: Document discovered patterns using architectural decision records (ADRs) and maintain a living pattern catalog.
❌ Pattern Inconsistency
Problem: Similar problems are solved using different patterns without clear rationale, leading to architectural confusion.
Why It Fails: Increases cognitive load for developers, makes maintenance harder, and reduces system predictability.
Better Approach: Establish clear pattern selection guidelines and conduct regular architectural reviews to ensure consistency.
❌ Over-Engineering Patterns
Problem: Applying complex architectural patterns where simpler solutions would suffice.
Why It Fails: Increases unnecessary complexity, development time, and maintenance overhead without proportional benefits.
Better Approach: Choose patterns that match the problem's complexity; prioritize simplicity and evolve patterns as complexity grows.
Related Resources
Related Skills
- convention-extraction: For lower-level coding style and naming conventions
- universal-technology-discovery: To identify the technologies upon which patterns are built
- integration-mapping-discovery: For detailed analysis of component connections and data flow
- operational-intelligence-discovery: For understanding deployment and operational patterns
Related Agents
- architecture-specialist: For in-depth analysis and recommendation of architectural patterns
- lead-architect-agent: For defining and evolving project-specific patterns and standards
External Resources
1---2name: architectural-pattern-discovery3description: Pattern Description4---56## Pattern Description78**What**: Systematically analyzes a codebase to identify recurring architectural, design, and coding patterns across all abstraction levels, from low-level implementation idioms to high-level system architecture, including project-specific solution approaches and technology integration patterns.910**When**: Use this skill to understand the complete pattern landscape of a project, during architectural assessments, for refactoring efforts, when onboarding to complex systems, or when planning technology evolution and modernization strategies.1112**Context**: Applicable across all technology stacks and project types, focusing on observable patterns rather than theoretical frameworks, with emphasis on understanding how patterns actually manifest in practice.1314## Project-Specific Conventions1516### Architectural Patterns17- **Overall Structure**: [e.g., Monolithic, Microservices, Layered, Event-Driven, Serverless]18- **Data Management**: [e.g., Centralized Database, Distributed Databases, CQRS, Event Sourcing]19- **Communication**: [e.g., RESTful APIs, gRPC, Message Queues, WebSockets, GraphQL]20- **Deployment**: [e.g., Container-based, Serverless, Traditional hosting, Multi-cloud]2122### Design Patterns23- **Structural**: [e.g., Adapter, Decorator, Facade, Proxy, Bridge, Composite]24- **Behavioral**: [e.g., Observer, Strategy, Command, State, Iterator, Mediator]25- **Creational**: [e.g., Factory, Singleton, Builder, Prototype, Abstract Factory]2627### Project-Specific Solution Patterns28- **Feature Templates**: [e.g., how new features are consistently structured and integrated]29- **Data Processing**: [e.g., standard data transformation and validation pipelines]30- **Error Handling**: [e.g., consistent error response patterns and recovery strategies]31- **Configuration**: [e.g., how configuration is managed and propagated across systems]3233### Technology Integration Patterns34- **Framework Integration**: [e.g., how external libraries and frameworks are consistently integrated]35- **Database Patterns**: [e.g., ORM usage patterns, query optimization approaches, transaction handling]36- **API Design**: [e.g., consistent API structures, versioning strategies, response formats]37- **Security Patterns**: [e.g., authentication flows, authorization checks, data protection approaches]3839## Common Pitfalls4041### ❌ Implicit Patterns42**Problem**: Important architectural and design patterns exist but are not explicitly documented or understood by the team.43**Why It Fails**: Leads to inconsistent implementations, makes onboarding difficult, and creates technical debt through pattern drift.44**Better Approach**: Document discovered patterns using architectural decision records (ADRs) and maintain a living pattern catalog.4546### ❌ Pattern Inconsistency47**Problem**: Similar problems are solved using different patterns without clear rationale, leading to architectural confusion.48**Why It Fails**: Increases cognitive load for developers, makes maintenance harder, and reduces system predictability.49**Better Approach**: Establish clear pattern selection guidelines and conduct regular architectural reviews to ensure consistency.5051### ❌ Over-Engineering Patterns52**Problem**: Applying complex architectural patterns where simpler solutions would suffice.53**Why It Fails**: Increases unnecessary complexity, development time, and maintenance overhead without proportional benefits.54**Better Approach**: Choose patterns that match the problem's complexity; prioritize simplicity and evolve patterns as complexity grows.5556## Related Resources5758### Related Skills59- **convention-extraction**: For lower-level coding style and naming conventions60- **universal-technology-discovery**: To identify the technologies upon which patterns are built61- **integration-mapping-discovery**: For detailed analysis of component connections and data flow62- **operational-intelligence-discovery**: For understanding deployment and operational patterns6364### Related Agents65- **architecture-specialist**: For in-depth analysis and recommendation of architectural patterns66- **lead-architect-agent**: For defining and evolving project-specific patterns and standards6768### External Resources69- [Refactoring Guru - Design Patterns](https://refactoring.guru/design-patterns)70- [Martin Fowler - Architectural Patterns](https://martinfowler.com/architecture/)71- [Architectural Decision Records (ADR)](https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions)72- [Domain-Driven Design (DDD)](https://martinfowler.com/bliki/DomainDrivenDesign.html)73- [Patterns of Enterprise Application Architecture](https://martinfowler.com/books/eaa.html)