Agent skill
smith-design
SOLID principles and architecture design patterns. Use when starting new features, refactoring code, conducting architecture reviews, or applying object-oriented design principles.
Install this agent skill to your Project
npx add-skill https://github.com/tianjianjiang/smith/tree/main/smith-design
SKILL.md
Design Principles
- 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)
SOLID Principles
- 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
ACTION (Recency Zone)
When designing or reviewing architecture:
- Apply Single Responsibility - each module has one reason to change
- Design for extension without modification (Open/Closed)
- Ensure subtypes are substitutable (Liskov)
- Prefer small, focused interfaces (Interface Segregation)
- Depend on abstractions, not implementations (Dependency Inversion)
Claude Code Plugin Integration
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
- @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
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
smith-style
File naming, path standards, and conventional commits. Use when naming files, creating branches, writing commit messages, or setting up new projects. Covers underscore vs hyphen conventions, commit format, and branch naming patterns.
smith-stacks
Stacked pull request workflows for large features. Use when creating stacked PRs, managing dependent PRs, or rebasing after parent merges. Covers stack creation, merge order, and squash merge handling.
smith-python
Python development with uv, pytest, ruff, and type hints. Use when writing Python code, running tests, managing Python packages, or working with virtual environments. Covers import organization, type hints, pytest patterns, and environment variables.
smith-principles
Fundamental coding principles (DRY, KISS, YAGNI, SOLID, HHH). Use when starting any development task, evaluating implementation approaches, or reviewing code quality. Always active as foundation for all development decisions.
smith-nuxt
Nuxt 3 development patterns including auto-import stubbing for tests, environment variable conventions, and middleware testing. Use when working with Nuxt projects, testing Nuxt components/middleware, or configuring Nuxt environment variables.
smith-plan
Plan tracking protocol (portable). Progress tracking with checkboxes, iteration workflow, completion/blocker signals. Use when executing multi-step plans, tracking task progress, or working from plan files. IMPORTANT - Always update the plan file after completing tasks.
Didn't find tool you were looking for?