software-architecture

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

1|Updated Aug 17, 2025
One-click install
npx skills add https://github.com/ratnesh-maurya/mdconverter --skill software-architecture-ratnesh-maurya
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: software-architecture
Source: https://github.com/ratnesh-maurya/mdconverter/tree/main/.claude/skills/software-architecture
Command: npx skills add https://github.com/ratnesh-maurya/mdconverter --skill software-architecture-ratnesh-maurya

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Developers often produce code with poor structure, generic naming, duplicated logic, and reinvented wheels, leading to unmaintainable systems. This Skill enforces quality-focused software architecture standards based on Clean Architecture and Domain Driven Design so code stays modular, readable, and maintainable. ## Core Features & Use Cases - Architecture Guidance: Applies Clean Architecture and DDD principles, separating domain entities from infrastructure and keeping business logic independent of frameworks. - Code Style Enforcement: Promotes early returns, arrow functions, small focused functions (under 50 lines), files under 200 lines, and a maximum nesting depth of 3 levels. - Library-First Decision Making: Directs evaluation of existing npm libraries and SaaS solutions before writing custom code, while defining when custom implementations are justified. - Use Case: When asked to build a new order processing module, the Skill guides naming it with domain-specific terms like OrderCalculator, isolating business logic from controllers, and reusing established libraries instead of custom utilities. ## Quick Start Ask the AI to design or review a module for your application following clean architecture and domain driven design principles.

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 to my code?

Separate domain entities from infrastructure concerns and keep business logic independent of frameworks. Define clear use cases, keep database queries out of controllers, and maintain boundaries between bounded contexts.

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

Write custom code only for domain-specific business logic, performance-critical paths, security-sensitive code, or when existing solutions fail evaluation. Otherwise prefer established libraries, such as cockatiel for retry logic instead of a custom implementation.

What naming conventions should I avoid in software projects?

Avoid generic names like utils, helpers, common, and shared, which become dumping grounds for unrelated functions. Use domain-specific names such as OrderCalculator, UserAuthenticator, or InvoiceGenerator that reflect 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 nesting no deeper than 3 levels. Decompose components longer than 80 lines into smaller units, splitting files that exceed the limit.

What is NIH syndrome and why is it a problem?

NIH (Not Invented Here) syndrome means building custom solutions when proven ones exist, like writing custom auth instead of using Auth0 or Supabase. Every line of custom code is a liability requiring maintenance, testing, and documentation.