# architecture-patterns

> Claude/Codex skill by [@incubyte](https://omgskills.com/library/incubyte/index.md) · 18 stars · Updated 2026-10-16

This skill should be used when evaluating architecture options, checking dependency direction, or deciding between onion, MVC, and simple patterns. Contains YAGNI-based decision criteria.

## Install

```sh
git clone https://github.com/incubyte/ai-plugins /tmp/ai-plugins && ln -s /tmp/ai-plugins/bee/skills/architecture-patterns ~/.claude/skills/architecture-patterns
```

## From README

Architecture Patterns When to Use What Simple (No Layers) Use when: Scripts, utilities, CLI tools, small services with minimal business logic, CRUD with no rules beyond validation. Structure: Functions or modules organized by feature. No layers, no ports. Tradeoff: Fastest to build. Hardest to extend if complexity grows. Refactor to layers when it hurts, not before. MVC (Model-View-Controller) Use when: Web apps, APIs, most CRUD-heavy applications. The default for Rails, Django, Express, Spring. Structure: Route -\> Controller (thin, delegates) -\> Service (business logic) -\> Model/Repository (data). Dependency direction: Controller depends on Service, Service depends on Model. Never the reverse. Tradeoff: Familiar, well-tooled, lots of examples. Services can grow large as business logic gets complex. At that point, consider extracting a domain layer. Onion / Hexagonal Use when: Complex domain logic with many business rules. Multiple input channels (HTTP, CLI, events).

## Links

- HTML page: https://omgskills.com/library/incubyte/ai-plugins/bee/skills/architecture-patterns/
- GitHub: https://github.com/incubyte/ai-plugins
- Author: [@incubyte](https://omgskills.com/library/incubyte/index.md)

## More from this repo

- [ai-ergonomics](https://omgskills.com/library/incubyte/ai-plugins/bee/skills/ai-ergonomics/index.md) — This skill should be used when evaluating how well code supports LLM-assisted development.
   - [@incubyte](https://omgskills.com/library/incubyte/index.md) · 18 stars
- [ai-workflow](https://omgskills.com/library/incubyte/ai-plugins/bee/skills/ai-workflow/index.md) — This skill should be used when explaining why Bee follows spec-first TDD workflows, or when teaching mode is on.
   - [@incubyte](https://omgskills.com/library/incubyte/index.md) · 18 stars
- [brainstorming](https://omgskills.com/library/incubyte/ai-plugins/bee/skills/brainstorming/index.md) — This skill should be used when the user wants to brainstorm, explore ideas, think through options, says 'let's...
   - [@incubyte](https://omgskills.com/library/incubyte/index.md) · 18 stars
