architecture
npx machina-cli add skill Fujigo-Software/f5-framework-claude/architecture --openclawArchitecture Skills
Overview
This module covers fundamental and advanced architecture concepts applicable across all technology stacks.
Categories
Principles
Core software design principles that guide architectural decisions.
- SOLID Principles
- DRY, KISS, YAGNI
- Separation of Concerns
- Dependency Inversion
Patterns
High-level architecture patterns for organizing systems.
- Clean Architecture
- Hexagonal Architecture
- Layered Architecture
- Domain-Driven Design
- CQRS & Event Sourcing
- Microservices
Design Patterns
Reusable solutions to common design problems.
- Creational: Factory, Builder, Singleton, DI
- Structural: Adapter, Decorator, Facade, Repository
- Behavioral: Strategy, Observer, Command, State Machine
Distributed Systems
Patterns for building distributed applications.
- Service Communication
- Data Consistency
- Resilience Patterns
- Event-Driven Architecture
Decision Making
Tools and frameworks for architectural decisions.
- Architecture Decision Records (ADR)
- Trade-off Analysis
- Documentation Best Practices
When to Use
- Starting new projects
- Refactoring legacy systems
- Making architecture decisions
- Code review and design discussions
- Team knowledge sharing
Directory Structure
skills/architecture/
├── _index.md
├── principles/
│ ├── solid.md
│ ├── dry-kiss-yagni.md
│ ├── separation-of-concerns.md
│ └── dependency-inversion.md
├── patterns/
│ ├── clean-architecture.md
│ ├── hexagonal-architecture.md
│ ├── layered-architecture.md
│ ├── domain-driven-design.md
│ ├── cqrs-event-sourcing.md
│ └── microservices.md
├── design-patterns/
│ ├── creational/
│ ├── structural/
│ └── behavioral/
├── distributed-systems/
└── decision-making/
Integration with F5 Framework
These skills are referenced by:
- Stack templates for implementation guidance
- Agents for architecture decisions
- Quality gates for design review
Source
git clone https://github.com/Fujigo-Software/f5-framework-claude/blob/main/plugins/f5-core/skills/architecture/SKILL.mdView on GitHub Overview
This skill covers core and advanced software architecture concepts applicable across technology stacks. It organizes systems using patterns, principles, and decision-making practices to improve scalability, maintainability, and resilience.
How This Skill Works
Knowledge is organized into Principles, Patterns, Design Patterns, Distributed Systems, and Decision Making. Practitioners select appropriate patterns (e.g., Clean, Hexagonal, Layered, Domain-Driven Design, CQRS) and document choices using Architecture Decision Records (ADR) and trade-off analyses to guide implementation.
When to Use It
- Starting new projects
- Refactoring legacy systems
- Making architecture decisions
- Code review and design discussions
- Team knowledge sharing
Quick Start
- Step 1: Gather requirements, constraints, quality attributes, and domain boundaries
- Step 2: Choose a suitable architecture pattern (e.g., Clean/Hexagonal) and relevant design patterns
- Step 3: Create an Architecture Decision Record (ADR) and draft a high-level component map
Best Practices
- Apply SOLID principles and DRY/KISS/YAGNI to guide design decisions
- Enforce Separation of Concerns across architectural layers
- Use Dependency Inversion to decouple components
- Select architecture patterns (Clean, Hexagonal, Layered, DDD, CQRS) based on domain needs
- Capture decisions with Architecture Decision Records (ADR) and explicit trade-off analysis
Example Use Cases
- Starting a new project with a layered/clean architecture to isolate business rules from infrastructure
- Refactoring a monolith into modular boundaries to improve testability and deployment
- Applying CQRS and Event Sourcing for high-throughput domains with complex consistency requirements
- Documenting major decisions with ADRs to communicate rationale and alternatives
- Designing distributed services with proper service communication and event-driven patterns
Frequently Asked Questions
Related Skills
accessibility
Fujigo-Software/f5-framework-claude
Web accessibility guidelines and implementation
api-design
Fujigo-Software/f5-framework-claude
API design principles for REST, GraphQL, and gRPC
database
Fujigo-Software/f5-framework-claude
Database design, SQL, NoSQL, and data management
performance
Fujigo-Software/f5-framework-claude
Performance optimization strategies and techniques
code-quality
Fujigo-Software/f5-framework-claude
Code quality practices, linting, and refactoring
devops
Fujigo-Software/f5-framework-claude
DevOps practices, CI/CD, and infrastructure management