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.