dev-software-design

Guide software design decisions using SOLID, DRY, KISS, and Clean Architecture patterns.

15|Updated Mar 11, 2026
One-click install
npx skills add https://github.com/jackchuka/skills --skill dev-software-design
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: dev-software-design
Source: https://github.com/jackchuka/skills/tree/main/dev-software-design
Command: npx skills add https://github.com/jackchuka/skills --skill dev-software-design

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Provides practical, principle-based guidance for software design decisions and architecture discussions, helping teams reason about trade-offs and maintainable code.

Core Features & Use Cases

  • Guidance on classic principles (SOLID, DRY, KISS) and architectural patterns (Clean/Hexagonal, DDD, CQRS, Event-Driven).
  • Offers decision frameworks, before/after examples, and references to in-depth material for deeper learning.
  • Use cases include design reviews, architecture planning, and team coaching to improve code quality and consistency.

Quick Start

Provide a pragmatic design recommendation for a current project, citing applicable SOLID, architecture patterns, and trade-offs.

Frequently Asked Questions about dev-software-design

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

FAQPage Schema
How do I apply SOLID principles and Clean Architecture to my software design decisions?▼

Apply SOLID principles and Clean Architecture by evaluating coupling, cohesion, and trade-offs to guide maintainable software design decisions. This approach provides decision frameworks and before/after examples to reason about architectural patterns effectively.

What is the best way to evaluate trade-offs during an architecture review?▼

Evaluate trade-offs during an architecture review by applying core design principles like SOLID, DRY, and KISS. This provides actionable recommendations and critique prompts based on coupling, cohesion, and maintainability metrics.

Can I use DDD and CQRS patterns for feature planning and team coaching?▼

Use DDD and CQRS patterns for feature planning and team coaching to improve code quality and consistency. These architectural patterns offer pragmatic guidance and references to in-depth material for deeper learning during design reviews.

How does hexagonal architecture compare to event-driven design for maintainability?▼

Hexagonal architecture focuses on isolating domain logic through ports and adapters, while event-driven design emphasizes asynchronous communication. Comparing them involves weighing coupling, cohesion, and maintainability trade-offs to determine the best fit.

When should I not use clean architecture in my software project?▼

Avoid clean architecture when a project's complexity does not justify the overhead of strict layering and dependency inversion. For simpler systems, applying KISS and DRY principles directly may yield better maintainability without unnecessary architectural constraints.