dev-philosophy

Apply development philosophy and standards across Domain-driven layers and governance processes.

Updated Nov 11, 2025
One-click install
npx skills add https://github.com/shredbx/demo-3d-model --skill dev-philosophy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dev-philosophy
Source: https://github.com/shredbx/demo-3d-model/tree/main/.claude/skills/dev-philosophy
Command: npx skills add https://github.com/shredbx/demo-3d-model --skill dev-philosophy

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides a comprehensive framework of architectural principles, design patterns, and best practices, guiding developers to build maintainable, scalable, and high-quality software, reducing technical debt and improving team alignment.

Core Features & Use Cases

  • Architectural Principles: Apply layering, boundaries, and separation of concerns for robust system design.
  • SOLID & Design Patterns: Implement SOLID principles and leverage common design patterns (Factory, Repository, Strategy).
  • Use Case: When designing a new module, use this Skill to ensure it adheres to the Single Responsibility Principle, uses appropriate design patterns, and follows clean code standards for testability.

Quick Start

Use the dev-philosophy skill to review the design of a new user authentication service, ensuring it follows SOLID principles and uses appropriate architectural patterns.

Frequently Asked Questions about dev-philosophy

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

FAQPage Schema
How do I apply SOLID principles and design patterns to improve code quality?

SOLID principles (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion) combined with design patterns like Factory, Repository, and Strategy create maintainable code. Apply them during module design to enforce small cohesive units, clear interfaces, and testability across your architecture layers.

What is domain-driven design and how does it structure software architecture?

Domain-driven design organizes software into distinct layers—Domain, Application, Infrastructure, and Presentation—with strict boundary enforcement and dependency direction. This separation isolates business logic, prevents tight coupling, and ensures each layer has a single responsibility aligned to its domain concern.

How do I structure a hexagonal architecture for testability and maintainability?

Hexagonal architecture isolates your core domain logic from external dependencies (databases, APIs, UI) through adapter ports. This design enables independent testing, easy dependency swapping, and clear contracts between layers, reducing technical debt and improving system flexibility.

What refactoring practices reduce technical debt and improve team alignment?

Consistent naming conventions, exception handling standards, test structure discipline, and CI/CD alignment create predictable code. Regular refactoring toward these standards, combined with SOLID principles and design patterns, keeps codebases maintainable and reduces friction across teams.

When should I apply architectural patterns versus design patterns?

Architectural patterns (layering, hexagonal design, separation of concerns) define system-wide structure and boundaries for large-scale organization. Design patterns (Factory, Repository, Strategy) solve localized implementation problems within those layers. Use architectural patterns first during system planning, then design patterns during component implementation.

How do I ensure consistent development practices across project planning, design, and QA?

Establish development philosophy standards covering layer boundaries, dependency direction, domain isolation, interface contracts, and exception handling. Apply these consistently from project planning through system design, implementation, and QA to achieve team alignment and reduce inconsistent practices.