Software architecture
Skill ComeOnOliver/skillshub/skills/aiskillstore/marketplace/doyajin174/software-architecture
π§ The right skill, one API call. AI agent skills registry with token-efficient skill resolution. 5,000+ skills from 500+ top repos.
npx -y skills add ComeOnOliver/skillshub --skill software-architectureAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
Clean Architecture and SOLID principles guide. Use this when designing systems, reviewing architecture, or making structural decisions.
The file declares its own license as MIT. That is the authorβs claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
3.9 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
Software Architecture
Clean Architectureμ DDD μμΉ κΈ°λ° μννΈμ¨μ΄ μ€κ³ κ°μ΄λμ λλ€.
Core Principles
SOLID
| μμΉ | μ€λͺ | μμ |
|---|---|---|
| Single Responsibility | νλμ ν΄λμ€λ νλμ μ± μ | UserRepository vs UserService |
| Open/Closed | νμ₯μ μ΄λ¦Ό, μμ μ λ«ν | μΈν°νμ΄μ€ μ¬μ© |
| Liskov Substitution | νμ νμ μ μμ νμ λ체 κ°λ₯ | μμ κ³μ½ μ€μ |
| Interface Segregation | ν΄λΌμ΄μΈνΈλ³ μΈν°νμ΄μ€ λΆλ¦¬ | IReader vs IWriter |
| Dependency Inversion | μΆμνμ μμ‘΄ | DI 컨ν μ΄λ μ¬μ© |
Clean Architecture Layers
βββββββββββββββββββββββββββββββββββββββββββ
β Frameworks & Drivers β β DB, Web, UI
βββββββββββββββββββββββββββββββββββββββββββ€
β Interface Adapters β β Controllers, Gateways
βββββββββββββββββββββββββββββββββββββββββββ€
β Application Business Rules β β Use Cases
βββββββββββββββββββββββββββββββββββββββββββ€
β Enterprise Business Rules β β Entities
βββββββββββββββββββββββββββββββββββββββββββ
μμ‘΄μ± κ·μΉ: λ°κΉ₯ β μμͺ½ λ°©ν₯μΌλ‘λ§ μμ‘΄
Code Style Rules
Early Return Pattern
// β μ€μ²©λ 쑰건문
function process(user) {
if (user) {
if (user.isActive) {
if (user.hasPermission) {
// do something
}
}
}
}
// β
Early Return
function process(user) {
if (!user) return;
if (!user.isActive) return;
if (!user.hasPermission) return;
// do something
}
Function/File Size Limits
| λμ | κΆμ₯ | μ΅λ | μ‘°μΉ |
|---|---|---|---|
| ν¨μ | 30μ€ | 50μ€ | λΆλ¦¬ |
| μ»΄ν¬λνΈ | 80μ€ | 150μ€ | λΆλ¦¬ |
| νμΌ | 200μ€ | 300μ€ | λͺ¨λν |
Domain-Specific Naming
// β μ λ€λ¦ λ€μ΄λ°
utils/helpers.ts
common/index.ts
// β
λλ©μΈ λ€μ΄λ°
services/OrderCalculator.ts
auth/UserAuthenticator.ts
Library-First Approach
"λͺ¨λ 컀μ€ν μ½λλ μ μ§λ³΄μ, ν μ€νΈ, λ¬Έμνκ° νμν λΆμ±λ€"
μ½λ μμ± μ νμΈ:
- npm/yarn ν¨ν€μ§ κ²μ
- κΈ°μ‘΄ μλΉμ€/API νμΈ
- μ€νμμ€ μ루μ κ²ν
Anti-Patterns to Avoid
| Anti-Pattern | λ¬Έμ μ | ν΄κ²°μ± |
|---|---|---|
| NIH Syndrome | λ°ν΄ μ¬λ°λͺ | λΌμ΄λΈλ¬λ¦¬ μ°μ |
| God Class | λ무 λ§μ μ± μ | SRP μ μ© |
| Spaghetti Code | μ½ν μμ‘΄μ± | λ μ΄μ΄ λΆλ¦¬ |
| Magic Numbers | μλ―Έ λΆλͺ ν | μμ μΆμΆ |
| Deep Nesting | κ°λ μ± μ ν | Early Return |
Separation of Concerns
β
μ¬λ°λ₯Έ λΆλ¦¬
βββ domain/ # λΉμ¦λμ€ λ‘μ§
βββ application/ # Use Cases
βββ infrastructure/ # DB, API
βββ presentation/ # UI, Controllers
β μλͺ»λ λΆλ¦¬
βββ components/
β βββ UserCard.tsx # UI + API νΈμΆ + λΉμ¦λμ€ λ‘μ§ νΌν©
Decision Checklist
μλ‘μ΄ μ½λ μμ± μ:
- κΈ°μ‘΄ λΌμ΄λΈλ¬λ¦¬/μλΉμ€λ‘ ν΄κ²° κ°λ₯?
- λ¨μΌ μ± μ μμΉ μ€μ?
- μμ‘΄μ± λ°©ν₯ μ¬λ°λ¦?
- ν μ€νΈ κ°λ₯ν ꡬ쑰?
- λλ©μΈ λ€μ΄λ° μ¬μ©?
What ships with it
10.2 KB alongside SKILL.md
GitHub clipped this repositoryβs file list, so this is at least 1 file and may be more.
- skill-report.json10.2 KB