design-patterns

Map classic GoF design patterns to idiomatic Kotlin constructs.

1|Updated Mar 14, 2026
One-click install
npx skills add https://github.com/agnaldo4j/kanban-vision-api-kt --skill design-patterns-agnaldo4j
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: design-patterns
Source: https://github.com/agnaldo4j/kanban-vision-api-kt/tree/main/.claude/skills/design-patterns
Command: npx skills add https://github.com/agnaldo4j/kanban-vision-api-kt --skill design-patterns-agnaldo4j

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill bridges the gap between classic object-oriented design patterns and modern Kotlin development, preventing over-engineering by favoring language-native idioms over complex class hierarchies.

Core Features & Use Cases

  • Pattern Mapping: Identifies how classic GoF patterns (Strategy, Factory, Decorator, etc.) dissolve into Kotlin features like sealed classes, higher-order functions, and interface delegation.
  • Architectural Guidance: Provides a decision framework for structuring object collaborations while maintaining immutability and pure domain logic.
  • Use Case: Use this skill when reviewing a Pull Request to determine if a proposed class-based pattern can be simplified into a more idiomatic Kotlin construct, or when documenting architectural decisions in an ADR.

Quick Start

Use the design-patterns skill to evaluate if the current implementation of the SimulationEngine follows the Strategy pattern or if it can be refactored into a more idiomatic Kotlin approach.

Frequently Asked Questions about design-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I apply GoF design patterns in Kotlin without over-engineering class hierarchies?

Applying GoF design patterns in Kotlin without over-engineering involves mapping classic class-based structures to idiomatic Kotlin constructs like sealed interfaces and higher-order functions. This skill provides a framework to favor language-native solutions over complex hierarchies.

What is the best way to refactor a Strategy pattern implementation into idiomatic Kotlin?

The best way to refactor a Strategy pattern into idiomatic Kotlin is to replace verbose class hierarchies with higher-order functions and interface delegation. This skill analyzes your structure to determine if class-based patterns can dissolve into native language features.

When do I need sealed classes instead of traditional Factory or Decorator patterns in Kotlin?

You need sealed classes in Kotlin instead of traditional Factory or Decorator patterns when managing restricted domain hierarchies. This skill evaluates pattern necessity against language-native solutions to determine if sealed interfaces provide a safer, more idiomatic alternative.

Can I use this skill to evaluate architectural decisions and composition-over-inheritance during code reviews?

Yes, you can use this skill to evaluate architectural decisions and enforce composition-over-inheritance during code reviews. It provides a framework for structuring object collaborations while maintaining immutability and domain-driven design constraints.

Why does my Kotlin refactoring still require complex object collaborations instead of language-native idioms?

Your Kotlin refactoring might still require complex object collaborations if pattern necessity outweighs language-native idioms. This skill provides a decision framework to evaluate when classic GoF patterns are genuinely needed versus when features like interface delegation suffice.