nathankim0/clean-architecture-skills
nathankim0/clean-architecture-skills · 2 plugins
Marketplace Claude Code skill for reviewing and designing code based on Clean Architecture principles (Dependency Rule, Layer Structure, SOLID)
Install
/plugin marketplace add nathankim0/clean-architecture-skillsRun inside Claude Code, then install plugins from it. Check the repo's README before you run it.
Plugins 2
After adding the marketplace, install one with /plugin install <name>@clean-architecture-skills.
- 1clean-architecture클린 아키텍처 원칙에 따라 코드를 리뷰하고 설계 가이드를 제공합니다. 의존성 규칙, SOLID 원칙, 레이어 분리를 검토합니다.
/plugin install clean-architecture@clean-architecture-skills - 2kent-beck-style켄트 벡의 리팩토링 철학과 단순 설계 원칙에 따라 코드를 리뷰하고 가이드를 제공합니다. 코드 냄새 감지, 리팩토링 기법, 점진적 개선을 다룹니다.
/plugin install kent-beck-style@clean-architecture-skills
Files
Clean Architecture Skills
A collection of skills for AI coding agents that provide code review, architecture guidance, and refactoring suggestions based on Clean Architecture and Kent Beck's simple design philosophy.
Designed primarily for Claude Code, with support for other AI coding assistants that use local skill directories.
What's Included
Clean Architecture
Reviews and guides code using Robert C. Martin's Clean Architecture principles.
- Dependency Rule — Detect dependencies that point in the wrong direction
- Layer Boundaries — Review Entities, Use Cases, Interface Adapters, and Infrastructure
- Dependency Inversion — Guide communication across architectural boundaries
- SOLID Principles — Review SRP, OCP, LSP, ISP, and DIP
- Architecture Design — Help design new features without coupling business rules to frameworks
Kent Beck Style
Reviews code using Kent Beck's refactoring philosophy and simple design principles.
- Code Smells — Detect structural and readability problems
- Refactoring — Suggest small, behavior-preserving improvements
- Simple Design — Apply YAGNI, KISS, and the 4 Rules of Simple Design
- Intention-Revealing Code — Improve naming and make code easier to understand
- Incremental Improvement — Prefer small, safe changes over large rewrites
Installation
Claude Code
Add this repository as a plugin marketplace:
/plugin marketplace add nathankim0/clean-architecture-skillsThen install the skills you want.
Clean Architecture
/plugin install clean-architecture@clean-architecture-skillsKent Beck Style
/plugin install kent-beck-style@clean-architecture-skillsYou can install either skill independently or use both together.
Manual Installation
Clone the repository:
git clone https://github.com/nathankim0/clean-architecture-skills.gitThen copy the desired skill into the skill directory used by your AI coding assistant.
Other AI Assistants
| Assistant | Skill Directory |
|---|---|
| Cursor | .cursor/skills/ |
| Gemini CLI | ~/.gemini/skills/ |
| OpenCode | ~/.opencode/skills/ |
Usage
The skills are designed to work naturally from regular prompts.
Review an Entire Project
Review this project using clean architecture principles.
Review a Specific Module
Check the dependencies in src/domain and identify any clean architecture violations.
Design a New Feature
Design user authentication using clean architecture.
Review Code Smells
Review this code for code smells and suggest refactorings.
Refactor Existing Code
Help me refactor this long method using Kent Beck's approach.
Review for Simplicity
Check whether this implementation follows YAGNI and KISS.
Improve Naming
Improve the naming and readability of this module.
Use Both Skills Together
Review this feature for clean architecture violations, then suggest small refactorings to simplify the implementation.
Clean Architecture
The Dependency Rule
The central rule of Clean Architecture is:
Source code dependencies must point inward, toward higher-level policies.
┌─────────────────────────────────────────────────────────┐
│ Frameworks & Drivers │
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ Interface Adapters │ │
│ │ │ │
│ │ ┌─────────────────────────────────────────┐ │ │
│ │ │ Use Cases │ │ │
│ │ │ │ │ │
│ │ │ ┌─────────────────────────────────┐ │ │ │
│ │ │ │ Entities │ │ │ │
│ │ │ │ │ │ │ │
│ │ │ │ Enterprise Business Rules │ │ │ │
│ │ │ └─────────────────────────────────┘ │ │ │
│ │ └─────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────┘
Dependencies flow inward →
Business rules should not depend on databases, frameworks, UI libraries, or external APIs.
Instead, implementation details depend on abstractions defined closer to the business rules.
Layer Responsibilities
| Layer | Responsibility | Examples |
|---|---|---|
| Entities | Enterprise business rules | User, Order, Product |
| Use Cases | Application-specific business rules | CreateOrder, GetUserProfile |
| Interface Adapters | Transform data between layers | Controllers, Presenters, Gateways |
| Frameworks & Drivers | External implementation details | React, Express, PostgreSQL |
SOLID Principles
| Principle | Description |
|---|---|
| SRP — Single Responsibility | A module should have one reason to change |
| OCP — Open/Closed | Open for extension, closed for modification |
| LSP — Liskov Substitution | Subtypes must be substitutable for their base types |
| ISP — Interface Segregation | Don't depend on interfaces you don't use |
| DIP — Dependency Inversion | Depend on abstractions, not concrete implementations |
Kent Beck Style
The Kent Beck skill focuses less on introducing architecture and more on making existing code simpler, clearer, and easier to change.
Simple Design
Prefer code that:
- Passes the tests
- Reveals intention
- Avoids duplication
- Has the fewest unnecessary elements
The skill also applies principles such as:
- YAGNI — Don't build functionality before it is needed
- KISS — Prefer the simplest design that solves the current problem
- Small Steps — Refactor incrementally
- Behavior Preservation — Improve structure without changing behavior
- Intention-Revealing Names — Make the code explain itself
Code Smells
The skill can identify common categories of code smells, including:
- Bloaters
- Object-Orientation Abusers
- Change Preventers
- Dispensables
- Couplers
It then recommends targeted refactorings instead of broad rewrites.
Example Project Structure
A typical Clean Architecture project might look like this:
src/
├── domain/ # Entities
│ ├── entities/
│ │ ├── User.ts
│ │ └── Order.ts
│ └── value-objects/
│ └── Email.ts
│
├── application/ # Use Cases
│ ├── use-cases/
│ │ ├── CreateOrderUseCase.ts
│ │ └── GetUserUseCase.ts
│ └── ports/
│ ├── input/
│ │ └── CreateOrderInput.ts
│ └── output/
│ └── UserRepository.ts
│
├── adapters/ # Interface Adapters
│ ├── controllers/
│ │ └── OrderController.ts
│ ├── presenters/
│ │ └── UserPresenter.ts
│ └── gateways/
│ └── UserRepositoryImpl.ts
│
└── infrastructure/ # Frameworks & Drivers
├── database/
│ └── PostgresConnection.ts
├── web/
│ └── ExpressServer.ts
└── external/
└── PaymentGateway.ts
This is an example, not a required directory structure.
Clean Architecture is primarily about dependency direction and separation of policy from implementation details, not specific folder names.
Repository Structure
clean-architecture-skills/
├── .claude-plugin/
│ └── marketplace.json
│
├── plugins/
│ ├── clean-architecture/
│ │ ├── .claude-plugin/
│ │ │ └── plugin.json
│ │ └── skills/
│ │ └── clean-architecture/
│ │ └── SKILL.md
│ │
│ └── kent-beck-style/
│ ├── .claude-plugin/
│ │ └── plugin.json
│ └── skills/
│ └── kent-beck-style/
│ └── SKILL.md
│
├── README.md
└── LICENSE
Philosophy
These skills are not intended to enforce architecture mechanically.
The goal is to help AI coding agents reason about questions such as:
- Is business logic coupled to infrastructure?
- Are dependencies pointing in the right direction?
- Is an abstraction actually useful?
- Is this design more complicated than the problem requires?
- Can this code be improved through a small refactoring instead of a rewrite?
- Does the code clearly communicate its intent?
Good architecture should make software easier to understand, change, test, and maintain — not merely add more layers.
Contributing
Contributions are welcome.
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature- Commit your changes
git commit -m "Add amazing feature"- Push the branch
git push origin feature/amazing-feature- Open a Pull Request
References
Clean Architecture
- The Clean Architecture — Robert C. Martin
- Clean Architecture: A Craftsman's Guide to Software Structure and Design
Refactoring & Simple Design
- Refactoring — Martin Fowler
- Refactoring Catalog
- Implementation Patterns — Kent Beck
- Code Smells — Refactoring.Guru
Claude Code
License
MIT License.
Free to use, modify, and distribute.
{
"name": "clean-architecture-skills",
"owner": {
"name": "Community",
"url": "https://github.com/anthropics/skills"
},
"metadata": {
"description": "클린 아키텍처 원칙과 켄트 벡 스타일 리팩토링에 따른 코드 리뷰 및 설계 가이드 스킬 모음",
"version": "1.1.0"
},
"plugins": [
{
"name": "clean-architecture",
"source": "./plugins/clean-architecture",
"description": "클린 아키텍처 원칙에 따라 코드를 리뷰하고 설계 가이드를 제공합니다. 의존성 규칙, SOLID 원칙, 레이어 분리를 검토합니다.",
"version": "1.0.0"
},
{
"name": "kent-beck-style",
"source": "./plugins/kent-beck-style",
"description": "켄트 벡의 리팩토링 철학과 단순 설계 원칙에 따라 코드를 리뷰하고 가이드를 제공합니다. 코드 냄새 감지, 리팩토링 기법, 점진적 개선을 다룹니다.",
"version": "1.0.0"
}
]
}Facts
- Kind
- Marketplace
- Repo
- nathankim0/clean-architecture-skills
- Group
- Uncategorized
- Marketplace name
- clean-architecture-skills
- Owner
- Community
- License
- MIT
- Created
- 2026-01-22
- Forks
- 8
- Topics
- claude-code, clean-architecture, code-review, skill, solid-principles
- Plugins
- 2
- 1f/prompts.chatf/prompts.chatf.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.
- 2affaan-m/everything-claude-codeaffaan-m/everything-claude-codeThe agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
- 3obra/superpowersobra/superpowersAn agentic skills framework & software development methodology that works.
- 4anthropics/skillsanthropics/skillsPublic repository for Agent Skills
- 5anthropics/claude-codeanthropics/claude-codeClaude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.
- 6nextlevelbuilder/ui-ux-pro-max-skillnextlevelbuilder/ui-ux-pro-max-skillAn AI skill that provides design intelligence for building professional UI/UX across multiple platforms.