design

Apply SOLID, coupling, cohesion, and connascence principles to software design decisions.

18|3|Updated Aug 20, 2009
One-click install
npx skills add https://github.com/booch/config_files --skill design-booch
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: design
Source: https://github.com/booch/config_files/tree/main/ai/skills/design
Command: npx skills add https://github.com/booch/config_files --skill design-booch

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Software design guidance to help architects, engineers, and teams apply consistent principles, patterns, and best practices to create maintainable, scalable code structures.

Core Features & Use Cases

  • Guidance on SOLID, coupling, cohesion, and connascence
  • Framework for evaluating module boundaries, dependency injection, and refactoring structure
  • Use cases include architectural decisions, class/module design, and code reviews

Quick Start

Provide a concise design review for a new module, applying SOLID, coupling, and cohesion guidelines.

Frequently Asked Questions about design

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

FAQPage Schema
How do I apply SOLID principles during a code review?

Software design principles like SOLID, coupling, cohesion, and connascence provide a framework for evaluating module boundaries and dependency injection to ensure maintainable code structures. Use them during architecture reviews and refactoring to enforce consistent heuristics and avoid duplication.

How do I evaluate module boundaries and dependencies for refactoring?

Evaluate module boundaries for refactoring by analyzing coupling and cohesion metrics alongside connascence to identify tight dependencies. This framework guides structural improvements and dependency injection decisions to decouple modules and enforce software design heuristics.

What is connascence in software design and how does it affect architecture?

Connascence in software design measures how changes in one module force changes in another, affecting architecture by indicating coupling levels. Evaluating connascence alongside SOLID and cohesion heuristics guides module boundary decisions and refactoring structure to improve maintainability.

Can I use this design guidance for small projects, or is it only for large architectures?

This design guidance applies to projects of varying sizes, from small module and class design to large architecture reviews. It enforces SOLID, coupling, cohesion, and connascence heuristics consistently to avoid duplication and ensure scalable code structures regardless of scale.

What is the best way to avoid code duplication when designing new modules?

The best way to avoid code duplication when designing new modules is to apply fundamental design heuristics and SOLID principles. Evaluating coupling, cohesion, and connascence during module design provides a framework to create maintainable and scalable code structures.