analyze-dependencies
Analyze project dependencies and evaluate architectural health. Trigger with "analyze dependencies", "detect circular…
Suggest design patterns and evaluate SOLID principles. Trigger with "suggest design patterns", "which patterns apply?", "check SOLID principles", "detect anti-patterns", "evaluate code design".
Claude Code
$ npx -y skills add wasabeef/claude-code-cookbook --skill design-patterns --agent claude-code
Codex
$ npx skills add wasabeef/claude-code-cookbook --skill design-patterns -a codex -y
Cursor
$ npx skills add wasabeef/claude-code-cookbook --skill design-patterns -a cursor -y
Gemini CLI
$ npx skills add wasabeef/claude-code-cookbook --skill design-patterns -a gemini-cli -y
GitHub Copilot
$ npx skills add wasabeef/claude-code-cookbook --skill design-patterns -a github-copilot -y
OpenCode
$ npx skills add wasabeef/claude-code-cookbook --skill design-patterns -a opencode -y
Windsurf
$ npx skills add wasabeef/claude-code-cookbook --skill design-patterns -a windsurf -y
description: 'Suggest design patterns and evaluate SOLID principles. Trigger with "suggest design patterns", "which patterns apply?", "check SOLID principles", "detect anti-patterns", "evaluate code design".' allowed-tools: - Read - Grep - Glob
Suggests design patterns for your code and checks if it follows SOLID principles.
/design-patterns [analysis_target] [options]
# Analyze patterns for entire project /design-patterns # Suggest patterns for specific file /design-patterns src/services/user.js --suggest # Check SOLID principles /design-patterns --solid # Detect anti-patterns /design-patterns --anti-patterns
S - Single Responsibility (one class, one job) O - Open/Closed (open for extension, closed for modification) L - Liskov Substitution (subtypes should be replaceable) I - Interface Segregation (don't force unused methods) D - Dependency Inversion (depend on abstractions, not details)
Design Pattern Analysis Report
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Currently Used Patterns
├─ Observer Pattern: EventEmitter (12 instances)
├─ Factory Pattern: UserFactory (3 instances)
├─ Singleton Pattern: DatabaseConnection (1 instance)
└─ Strategy Pattern: PaymentProcessor (5 instances)
Recommended Patterns
├─ [HIGH] Repository Pattern
│ └─ Where: src/models/*.js
│ └─ Why: Separate data access from business logic
│ └─ Example:
│ class UserRepository {
│ async findById(id) { ... }
│ async save(user) { ... }
│ }
│
├─ [MED] Command Pattern
│ └─ Where: src/api/handlers/*.js
│ └─ Why: Standardize how requests are handled
│
└─ [LOW] Decorator Pattern
└─ Where: src/middleware/*.js
└─ Why: Better way to combine features
SOLID Violations Found
├─ [S] UserService: Does too much (auth AND authorization)
├─ [O] PaymentGateway: Must change code to add payment types
├─ [D] EmailService: Depends on specific classes, not interfaces
└─ [I] IDataStore: Has methods nobody uses
How to Fix
1. Split UserService into AuthService and AuthorizationService
2. Add a PaymentStrategy interface for new payment types
3. Create an EmailService interface
4. Break up IDataStore into smaller interfaces# See what happens if you use a pattern /design-patterns --impact-analysis Repository # Get example code for a pattern /design-patterns --generate Factory --for src/models/Product.js # Find patterns that work well together /design-patterns --combine --context "API with caching" # Check your architecture /design-patterns --architecture MVC
class OrderService {
processOrder(order, paymentType) {
if (paymentType === "credit") {
// Credit card processing
} else if (paymentType === "paypal") {
// PayPal processing
}
// Other payment methods...
}
}// Strategy interface
class PaymentStrategy {
process(amount) {
throw new Error("Must implement process method");
}
}
// Concrete strategies
class CreditCardPayment extends PaymentStrategy {
process(amount) {
/* Implementation */
}
}
// Context
class OrderService {
constructor(paymentStrategy) {
this.paymentStrategy = paymentStrategy;
}
processOrder(order) {
this.paymentStrategy.process(order.total);
}
}1. **Go slow**: Add patterns one at a time 2. **Need first**: Only use patterns to solve real problems 3. **Talk it out**: Get team buy-in before big changes 4. **Write it down**: Document why you chose each pattern
A collection of commands, roles, and automation scripts for Claude Code. Automate your workflow without unnecessary confirmations, allowing you to focus on what matters.
Analyze project dependencies and evaluate architectural health. Trigger with "analyze dependencies", "detect circular…
Performance analysis based on Core Web Vitals with UX scoring. Trigger with "analyze performance", "improve speed", "check Core…
Verify information accuracy against codebase and documentation. Trigger with "is this correct?", "fact check", "verify this", "is…
Evaluate and improve AI prompt quality. Trigger with "check this prompt", "evaluate prompt quality", "improve this prompt".
Generate commit messages from staged changes. Trigger with "suggest commit message", "generate commit message", "what should the…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.