Apply software design principles across architecture and implementation using deterministic decision workflows, SOLID checks, structural patterns, and anti-pattern detection; use when reviewing designs, refactoring modules, or resolving maintainability and coupling risks.
Does it follow best practices?
Evaluation — 99%
↑ 1.01xAgent success when using this tile
Validation for skill structure
Your team needs to create a new notification microservice that handles sending emails, SMS, and push notifications to users. The service must integrate with the existing platform which includes:
The notification service will receive events from other services (order placed, password reset, etc.) and dispatch notifications based on user preferences.
Your task is to design the architecture for this new service and document the key decisions. The architecture must be maintainable, testable, and integrate cleanly with existing services without creating tight coupling.
Create an Architecture Decision Record (ADR) document called adr-notification-service.md that covers:
Classification: Identify whether this is an architectural, tactical, or foundational decision
Strategic Architecture:
Domain Design:
Tradeoffs:
Validation: Include a validation step before proceeding to implementation
The current platform structure:
Install with Tessl CLI
npx tessl i pantheon-ai/software-design-principles@0.1.4evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
references