Architecture Skill
Objective
Make architectural changes deliberately and consistently with the existing system.
Before Designing
Inspect:
- Repository structure
- Application entry points
- Major modules
- Data flow
- APIs
- Database schema
- Configuration
- Authentication
- External services
- Deployment architecture
- Existing architectural documentation
Do not design against an imagined architecture.
Principles
Prefer:
- Simple designs
- Existing project conventions
- Clear boundaries
- Minimal coupling
- Explicit interfaces
- Testable components
- Incremental changes
Avoid:
- Unnecessary microservices
- Premature abstractions
- Duplicate systems
- New infrastructure without justification
- Large rewrites when incremental change is possible
Change Analysis
For architectural changes identify:
- Current architecture
- Proposed architecture
- Components affected
- Data flow
- Dependencies
- Migration requirements
- Failure modes
- Security implications
- Testing strategy
- Rollback strategy
Compatibility
Consider:
- Existing users
- Existing data
- Existing APIs
- Existing clients
- Deployment environment
- Backward compatibility
Decision Records
For significant architectural decisions, document:
- Context
- Decision
- Alternatives considered
- Consequences
Completion
The resulting architecture should be understandable from the repository documentation without relying on hidden assumptions.