Agent Skills: Design Principles

SOLID principles and architecture design patterns. Use when starting new features, refactoring code, conducting architecture reviews, or applying object-oriented design principles.

UncategorizedID: tianjianjiang/smith/smith-design

Install this agent skill to your local

pnpm dlx add-skill https://github.com/tianjianjiang/smith/tree/HEAD/smith-design

Skill Files

Browse the full folder contents for smith-design.

Download Skill

Loading file tree…

smith-design/SKILL.md

Skill Metadata

Name
smith-design
Description
SOLID principles and architecture design patterns. Use when starting new features, refactoring code, conducting architecture reviews, or applying object-oriented design principles.

Design Principles

<metadata>
  • Scope: SOLID principles for OOP/architecture design
  • Load if: Starting new feature, refactoring, architecture review
  • Prerequisites: @smith-principles/SKILL.md (fundamental principles: DRY, KISS, YAGNI, MECE)
</metadata>

SOLID Principles

<required>
  • Single Responsibility: One reason to change per class/module
  • Open/Closed: Open for extension, closed for modification
  • Liskov Substitution: Subtypes must be substitutable for base types
  • Interface Segregation: Many specific interfaces over one general
  • Dependency Inversion: Depend on abstractions, not concretions
</required>

ACTION (Recency Zone)

<required>

When designing or reviewing architecture:

  1. Apply Single Responsibility - each module has one reason to change
  2. Design for extension without modification (Open/Closed)
  3. Ensure subtypes are substitutable (Liskov)
  4. Prefer small, focused interfaces (Interface Segregation)
  5. Depend on abstractions, not implementations (Dependency Inversion)
</required>

Claude Code Plugin Integration

<context>

When pr-review-toolkit is available:

  • type-design-analyzer agent: Rates type design on 4 dimensions (1-10 each)
    • Encapsulation
    • Invariant expression
    • Usefulness
    • Enforcement
  • Trigger: "Review the [TypeName] type design" or use Task tool
</context> <related>
  • @smith-principles/SKILL.md - Fundamental principles (DRY, KISS, YAGNI)
  • @smith-standards/SKILL.md - Universal code standards
  • @smith-dev/SKILL.md - Development workflow
  • @smith-analysis/SKILL.md - Problem decomposition before design
</related>