software-architecture

Guides code writing and architecture design using Clean Architecture and Domain Driven Design principles.

1|Updated May 10, 2026
One-click install
npx skills add https://github.com/Tgoldi/claude-skills --skill software-architecture-tgoldi
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: software-architecture
Source: https://github.com/Tgoldi/claude-skills/tree/main/software-architecture
Command: npx skills add https://github.com/Tgoldi/claude-skills --skill software-architecture-tgoldi

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Developers often produce codebases with tangled business logic, generic naming, duplicated utilities, and reinvented wheels, making software hard to maintain and scale. This Skill enforces consistent architectural discipline during code writing, design, and review. ## Core Features & Use Cases - Clean Architecture & DDD Guidance: Separates domain entities from infrastructure, keeps business logic independent of frameworks, and enforces bounded context naming. - Library-First Decision Rules: Directs evaluation of existing npm packages and SaaS solutions before writing custom code, with explicit criteria for when custom code is justified. - Code Quality Standards: Enforces early returns, function length limits (under 50 lines), file size limits (under 200 lines), max 3 levels of nesting, and typed error handling. - Use Case: When asked to build a new order-processing module, the Skill steers the design toward domain-specific names like OrderCalculator, isolated use cases, and reuse of existing libraries instead of custom retry or validation logic. ## Quick Start Ask the AI to design or review a module for your project and apply Clean Architecture and DDD principles to the code structure.

Frequently Asked Questions about software-architecture

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

FAQPage Schema
How do I apply Clean Architecture principles when writing new code?

Separate domain entities from infrastructure concerns, keep business logic independent of frameworks, and define isolated use cases. Keep database queries out of controllers and business logic out of UI components to maintain clear boundaries between contexts.

When should I write custom code instead of using a library?

Custom code is justified for domain-specific business logic, performance-critical paths, security-sensitive code, or when existing solutions fail evaluation. Otherwise, search npm and SaaS options first, since every line of custom code requires maintenance, testing, and documentation.

What naming conventions does Domain Driven Design recommend?

Use domain-specific names like OrderCalculator, UserAuthenticator, or InvoiceGenerator instead of generic names like utils, helpers, common, or shared. Follow bounded context naming so each module has a single, clear purpose.

How long should functions and files be for maintainable code?

Keep functions under 50 lines and files under 200 lines when possible, with a maximum nesting depth of 3 levels. Decompose components longer than 80 lines into smaller units, splitting files that exceed 200 lines.

What are common architecture anti-patterns to avoid?

Avoid NIH syndrome such as building custom auth instead of Auth0 or Supabase, mixing business logic with UI components, database queries in controllers, and dumping grounds like utils.js with dozens of unrelated functions.