design-principle-enforcer

Review codebases for SOLID and separation of concerns adherence.

2|Updated Feb 23, 2026
One-click install
npx skills add https://github.com/jonmumm/skills --skill design-principle-enforcer
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: design-principle-enforcer
Source: https://github.com/jonmumm/skills/tree/main/design-principle-enforcer
Command: npx skills add https://github.com/jonmumm/skills --skill design-principle-enforcer

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Relentlessly critiques code against classic software engineering design principles (SOLID, separation of concerns) to prevent "clever process shenanigans" and spaghetti code. Use before finalizing a feature or opening a PR.

Core Features & Use Cases

  • Adversarial Review: Do not "LGTM" the code unless it genuinely adheres to strong design principles.
  • Enforce SOLID: Critique the implementation for coupling, missing abstractions, or misplaced responsibilities.
  • Separation of Concerns: Ensure business logic is separated from UI, data access, and routing.

Quick Start

Review a feature branch and request a refactor that aligns with SOLID and separation of concerns.

Frequently Asked Questions about design-principle-enforcer

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

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

You can enforce SOLID principles during a code review by applying an adversarial critique approach that evaluates class design, coupling, and misplaced responsibilities, demanding justification for deviations rather than simply approving the code.

What is the best way to check separation of concerns before opening a PR?

The best way to check separation of concerns before opening a PR is to review your feature branch and verify that business logic is fully separated from UI, data access, and routing components across your codebase.

Can I use design principle enforcement across different programming languages and frameworks?

Yes, design principle enforcement applies across languages and frameworks because it evaluates universal architecture concepts like class design, coupling, and separation of concerns rather than relying on language-specific syntax rules.

How do I refactor spaghetti code to align with SOLID architecture?

To refactor spaghetti code to align with SOLID architecture, review the codebase to identify misplaced responsibilities and missing abstractions, then follow guided refactor suggestions that restructure class design without directly implementing the code changes.

Why does my code review fail to prevent spaghetti code?

Your code review may fail to prevent spaghetti code if it skips adversarial critiques of class design and separation of concerns, allowing clever implementations and tightly coupled business logic to pass without demanding justification.