oo-design

Brainstorm or critique object-oriented architectures and type models.

1|Updated Jul 31, 2023
One-click install
npx skills add https://github.com/austintheriot/dotfiles --skill oo-design
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: oo-design
Source: https://github.com/austintheriot/dotfiles/tree/main/.claude/skills/oo-design
Command: npx skills add https://github.com/austintheriot/dotfiles --skill oo-design

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

It helps you make sound object-oriented design decisions—either by brainstorming an OO approach or critiquing a proposed design—so you avoid common pitfalls like anemic domains, bad boundaries, and misused patterns.

Core Features & Use Cases

  • Brainstorm OO design for a problem: Turn an unclear domain into a structured OO plan with named design tradeoffs, often contrasting with FP/hybrid alternatives.
  • Critique a proposed OO design: Identify design failure surfaces (inheritance misuse, aggregate boundary errors, value object issues, SOLID/architecture problems) and propose fixes.
  • Expert, pedagogy-forward guidance: Uses an OO lineage lens and references OO principles and patterns, while staying honest about when FP/hybrid is better.

Quick Start

Ask an AI to either brainstorm or critique an OO design for your specific system, stating whether you are proposing the design already or need help producing it from scratch.

Frequently Asked Questions about oo-design

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

FAQPage Schema
How do I brainstorm an object-oriented design for a complex domain model?

To brainstorm an object-oriented design, you describe your domain and the system proposes a structured OO plan with named tradeoffs, often contrasting with functional or hybrid alternatives. It routes your request by intent to produce a design doc without writing code.

What are common SOLID and DDD architecture pitfalls when designing OO systems?

Common OO architecture pitfalls include anemic domains, bad aggregate boundaries, inheritance misuse, and value object issues. A design critique identifies these failure surfaces, ranks them by severity, and proposes fixes based on SOLID and domain-driven design principles.

When should I choose a hybrid or functional programming approach over pure object-oriented design?

You should consider hybrid or functional alternatives when your proposed OO design exhibits structural tradeoffs where immutable data flows or pure functions solve the problem more cleanly than object hierarchies. The critique surfaces these alternatives honestly.

How do I critique a proposed OO architecture and identify design failure surfaces?

To critique a proposed OO architecture, you submit your design and the system analyzes it for inheritance misuse, aggregate boundary errors, value object issues, and SOLID violations. It produces a severity-ranked critique with targeted fixes and recommendations.

Can I use this to review a proposed design that mixes OO with functional programming tradeoffs?

Yes, you can review proposed designs that mix OO with functional programming tradeoffs. The system evaluates hybrid architectures, applying an OO lineage lens to assess the design and recommend when a functional or hybrid approach is better.

Does this object-oriented design guidance write code or only produce design documents?

This object-oriented design guidance produces design documents and severity-ranked critiques without writing code. It focuses on routing your intent, selecting patterns, modeling aggregates, and surfacing architectural tradeoffs rather than generating implementation.