A specialist skill that recognises and applies common software architecture patterns within a codebase. This skill should be used during the design and development phases of a project.
Recognizes and applies software architecture patterns like MVC, Layered, and Event-Driven during design and development phases. Uses a decision framework to analyze requirements and document trade-offs with diagrams.
/plugin marketplace add nicholasgriffintn/claude-code/plugin install ng-workflow@claude-codeThis skill is limited to using the following tools:
This skill should only use read-only commands and avoid modifying files.
Copy this checklist and use it to track your progress through the performance optimisation process:
Architecture Patterns Checklist
- [ ] Understand Requirements
- [ ] Gather and analyse the functional and non-functional requirements of the project.
- [ ] Identify Suitable Patterns
- [ ] Review common architecture patterns (e.g., MVC, Microservices, Layered, Event-Driven).
- [ ] Select patterns that align with project requirements and constraints.
- [ ] Design Architecture
- [ ] Create high-level diagrams illustrating the chosen architecture patterns.
- [ ] Define components, their interactions, and data flow.
- [ ] Document trade-offs
- [ ] Document the advantages and disadvantages of the selected patterns.
- [ ] Justify the choice of patterns based on project needs.
- [ ] Review and Validate
Here are some common software architecture patterns and their typical use cases:
┌───────────────┐
│ View │ ← User Interface
└──────┬────────┘
│
┌──────▼────────┐
│ Controller │ ← Business Logic
└──────┬────────┘
│
┌──────▼────────┐
│ Model │ ← Data Management
└───────────────┘
┌─────────────────────────────┐
│ Presentation │ ← UI, API Controllers
├─────────────────────────────┤
│ Application │ ← Use Cases, Services
├─────────────────────────────┤
│ Domain │ ← Business Logic, Entities
├─────────────────────────────┤
│ Infrastructure │ ← Database, External APIs
└─────────────────────────────┘
┌───────────────┐ ┌───────────────┐
│ Event │─────▶│ Event │
│ Producer │ │ Consumer │
└───────────────┘ └───────────────┘
│ │
│ │
▼ ▼
┌────────────────────────────────┐
│ Event Bus / Queue │ ← Message Broker
└────────────────────────────────┘
When selecting architecture patterns, consider the following framework:
When documenting the architecture patterns applied, use the following template:
# Decision Record: [What was decided]
## Project Overview
A brief summary of the project, its purpose, and main features.
## Options Considered
A list of architecture patterns considered for the project.
## Trade-offs
A detailed analysis of the advantages and disadvantages of each considered pattern.
## Decision
The chosen architecture.
## Consequences
A summary of the expected outcomes and any potential challenges associated with the chosen architecture.
Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.