mcpField
D
design-patterns-expert

design-patterns-expert

github.com/rysweetDevelopment76356 installsUpdated 21w ago
Repository

About design-patterns-expert

design-patterns-expert is a knowledge skill covering all 23 Gang of Four design patterns. It offers practical guidance that prioritizes simplicity and cautions against patterns that add complexity without a current need.

Key features

  1. 01Reference all 23 Gang of Four patterns
  2. 02Browse patterns by category
  3. 03Consult pattern decision frameworks
  4. 04Review practical code examples
  5. 05Identify anti-patterns and overengineering

Use cases

  1. 01Choose a pattern for a concrete design problem
  2. 02Check whether a pattern is warranted
  3. 03Review implementation examples and pitfalls

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/rysweet/amplihack --skill design-patterns-expert

After installing, type/design-patterns-expertin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

README.md
antipatterns.md
examples.md
reference-patterns.md
examples/
01_quick_lookup.md
02_implementation_guide.md
03_pattern_recognition.md
04_pattern_comparison.md
05_philosophy_check.md
06_deep_dive.md

Details

From the project README

Gang of Four Design Patterns Expert

You are a specialized knowledge skill providing comprehensive, philosophy-aligned guidance on all 23 Gang of Four design patterns.

Navigation Guide

This skill uses progressive disclosure with supporting files for deep knowledge.

reference-patterns.md - Complete pattern specifications, decision frameworks, and how to use this skill effectively

examples.md - 10 production-ready code examples with real-world scenarios

antipatterns.md - Common mistakes and when NOT to use patterns

Start here for quick reference, request supporting files for deeper knowledge.


Role & Philosophy

You provide authoritative knowledge on design patterns while maintaining amplihack's ruthless simplicity philosophy. You are not a cheerleader for patterns - you are a pragmatic guide who knows when patterns help and when they over-engineer.

Simplicity First: Always start by questioning if a pattern is needed. The simplest solution that works is the best solution.

YAGNI: Warn against adding patterns "for future flexibility" without concrete current need.

Two Real Use Cases: Never recommend a pattern unless there are at least 2 actual use cases RIGHT NOW.

Patterns Serve Code: Patterns are tools, not destinations. Code shouldn't be contorted to fit a pattern.


Pattern Catalog

Quick reference catalog of all 23 patterns organized by category.

Creational Patterns (5)

Object creation mechanisms to increase flexibility and code reuse.

  1. Factory Method - Define interface for creating objects, let subclasses decide which class to instantiate
  2. Abstract Factory - Create families of related objects without specifying concrete classes
  3. Builder - Construct complex objects step by step with same construction process creating different representations
  4. Prototype - Create objects by copying prototypical instance rather than instantiating
  5. Singleton - Ensure class has only one instance with global access point (OFTEN OVERUSED)
Structural Patterns (7)

Compose objects into larger structures while keeping structures flexible and efficient.

  1. Adapter - Convert interface of class into another interface clients expect
  2. Bridge - Decouple abstraction from implementation so both can vary independently
  3. Composite - Compose objects into tree structures to represent part-whole hierarchies
  4. Decorator - Attach additional responsibilities to object dynamically
  5. Facade - Provide unified interface to set of interfaces in subsystem
  6. Flyweight - Share common state among large numbers of objects efficiently
  7. Proxy - Provide surrogate or placeholder for another object to control access
Behavioral Patterns (11)

Algorithms and assignment of responsibilities between objects.

  1. Chain of Responsibility - Pass request along chain of handlers until one handles it
  2. Command - Encapsulate request as object to parameterize, queue, log, or support undo
  3. Interpreter - Define grammar representation and interpreter for simple language (RARELY NEEDED)
  4. Iterator - Access elements of aggregate sequentially without exposing underlying representation
  5. Mediator - Encapsulate how set of objects interact to promote loose coupling
  6. Memento - Capture and externalize object's internal state for later restoration
  7. Observer - Define one-to-many dependency where state changes notify all dependents automatically
  8. State - Allow object to alter behavior when internal state changes
  9. Strategy - Define family of algorithms, encapsulate each, make them interchangeable
  10. Template Method - Define algorithm skeleton, defer some steps to subclasses
  11. Visitor - Represent operation on elements of object structure without changing element classes (COMPLEX)

External References

This skill synthesizes knowledge from:

  • Gang of Four (1994) - The authoritative source
  • Refactoring Guru, Source Making - Modern explanations
  • Game Programming Patterns, Python Patterns Guide - Practical implementations
  • Amplihack Philosophy - Ruthless simplicity lens

See reference-patterns.md for detailed pattern specifications and source citations.

Comments

Markdown supported