
Software Architecture
- 3.4k installs
- 44k repo stars
- Updated July 27, 2026
- sickn33/antigravity-awesome-skills
Structured architectural guidance combining Clean Architecture and Domain-Driven Design to help engineers make principled decisions about code organization, naming, decomposition, and library adoption.
About
Software Architecture Development Skill provides structured guidance for building quality-focused systems using Clean Architecture and Domain-Driven Design principles. It emphasizes a library-first approach, avoiding Not-Invented-Here syndrome, and enforcing domain-specific naming conventions over generic patterns. Key practices include early returns, decomposing functions beyond 80 lines, maintaining clear separation of concerns, and keeping business logic independent of frameworks. The skill addresses anti-patterns like mixing UI with business logic, direct database queries in controllers, and poor naming like utils.js. Developers use this when designing systems, analyzing code structure, or establishing architectural standards.
- Library-first approach: search npm before custom code
- Domain-driven naming: use OrderCalculator not utils.js
- Clean Architecture: separate domain from infrastructure
- Early returns and max 3 nesting levels for readability
- Anti-NIH guidance: use Auth0 instead of rolling auth
Software Architecture by the numbers
- 3,350 all-time installs (skills.sh)
- +32 installs in the week ending Jul 28, 2026 (Skillselion tracking)
- Ranked #55 of 1,382 Code Review & Quality skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
software-architecture capabilities & compatibility
- Capabilities
- evaluate architectural trade offs · identify separation of concerns violations · review naming against ddd principles · guide decomposition of large functions · assess library vs custom code decisions
- Works with
- github · gitlab
- Use cases
- code review · refactoring · api development · documentation · project management
What software-architecture says it does
Decompose long (more than 80 lines of code) components and functions into multiple smaller components and functions.
npx skills add https://github.com/sickn33/antigravity-awesome-skills --skill software-architectureAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 3.4k |
|---|---|
| repo stars | ★ 44k |
| Security audit | 3 / 3 scanners passed |
| Last updated | July 27, 2026 |
| Repository | sickn33/antigravity-awesome-skills ↗ |
What it does
Guide engineers through Clean Architecture and DDD principles to design scalable, maintainable systems with domain-driven naming and separation of concerns.
Who is it for?
Backend systems, API design, architecture reviews, establishing team coding standards, refactoring monoliths, domain modeling
Skip if: UI component styling, infrastructure provisioning scripts, quick prototypes with time constraints, projects with locked tech stacks
When should I use this skill?
Planning new service, reviewing pull requests for architecture compliance, onboarding engineers to codebase, refactoring legacy systems, designing domain models
What you get
Teams produce maintainable systems with clear domain boundaries, reusable components, proper separation of concerns, and reduced custom code liability.
- Architectural decision documentation
- Code review feedback aligned with Clean Architecture
- Domain model diagrams
By the numbers
- Functions should stay under 50 lines of code
- Files should stay under 200 lines
- Max nesting depth of 3 levels
Files
Software Architecture Development Skill
This skill provides guidance for quality focused software development and architecture. It is based on Clean Architecture and Domain Driven Design principles.
Code Style Rules
General Principles
- Early return pattern: Always use early returns when possible, over nested conditions for better readability
- Avoid code duplication through creation of reusable functions and modules
- Decompose long (more than 80 lines of code) components and functions into multiple smaller components and functions. If they cannot be used anywhere else, keep it in the same file. But if file longer than 200 lines of code, it should be split into multiple files.
- Use arrow functions instead of function declarations when possible
Best Practices
Library-First Approach
- ALWAYS search for existing solutions before writing custom code
- Check npm for existing libraries that solve the problem
- Evaluate existing services/SaaS solutions
- Consider third-party APIs for common functionality
- Use libraries instead of writing your own utils or helpers. For example, use
cockatielinstead of writing your own retry logic. - When custom code IS justified:
- Specific business logic unique to the domain
- Performance-critical paths with special requirements
- When external dependencies would be overkill
- Security-sensitive code requiring full control
- When existing solutions don't meet requirements after thorough evaluation
Architecture and Design
- Clean Architecture & DDD Principles:
- Follow domain-driven design and ubiquitous language
- Separate domain entities from infrastructure concerns
- Keep business logic independent of frameworks
- Define use cases clearly and keep them isolated
- Naming Conventions:
- AVOID generic names:
utils,helpers,common,shared - USE domain-specific names:
OrderCalculator,UserAuthenticator,InvoiceGenerator - Follow bounded context naming patterns
- Each module should have a single, clear purpose
- Separation of Concerns:
- Do NOT mix business logic with UI components
- Keep database queries out of controllers
- Maintain clear boundaries between contexts
- Ensure proper separation of responsibilities
Anti-Patterns to Avoid
- NIH (Not Invented Here) Syndrome:
- Don't build custom auth when Auth0/Supabase exists
- Don't write custom state management instead of using Redux/Zustand
- Don't create custom form validation instead of using established libraries
- Poor Architectural Choices:
- Mixing business logic with UI components
- Database queries directly in controllers
- Lack of clear separation of concerns
- Generic Naming Anti-Patterns:
utils.jswith 50 unrelated functionshelpers/misc.jsas a dumping groundcommon/shared.jswith unclear purpose- Remember: Every line of custom code is a liability that needs maintenance, testing, and documentation
Code Quality
- Proper error handling with typed catch blocks
- Break down complex logic into smaller, reusable functions
- Avoid deep nesting (max 3 levels)
- Keep functions focused and under 50 lines when possible
- Keep files focused and under 200 lines of code when possible
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Related skills
How it compares
Similar to hexagonal architecture and ports-adapters pattern; differs by stronger emphasis on ubiquitous language and domain entity independence.
FAQ
What principles does software-architecture follow?
software-architecture follows Clean Architecture and Domain-Driven Design principles from the antigravity-awesome-skills community package. It emphasizes quality-focused structure and readable control flow in application code.
When should software-architecture be invoked?
software-architecture should be invoked when users write code, design architecture, or analyze implementations in any software development context. The skill description explicitly covers broad development tasks, not a single deliverable type.
Is Software Architecture safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.