code-architecture

Provide architectural patterns for vertical slices, package-by-feature, and dependency injection.

Updated Jan 29, 2026
One-click install
npx skills add https://github.com/semirm-dev/agent-army --skill code-architecture-semirm-dev
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: code-architecture
Source: https://github.com/semirm-dev/agent-army/tree/main/claude/skills/code-architecture
Command: npx skills add https://github.com/semirm-dev/agent-army --skill code-architecture-semirm-dev

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides guidance on structuring code for maintainability, scalability, and team collaboration, addressing common architectural challenges in software development.

Core Features & Use Cases

  • Architectural Decision Making: Helps choose between vertical slice and layered architectures.
  • Package Structure Guidance: Offers patterns for organizing code by feature in Go, TypeScript, and Python.
  • Dependency Injection: Demonstrates best practices for injecting dependencies in various languages.
  • Use Case: When starting a new microservice or a significant feature module, use this Skill to decide on the best way to organize your codebase and manage dependencies.

Quick Start

Use the code-architecture skill to get guidance on structuring a new Go project by feature.

Frequently Asked Questions about code-architecture

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

FAQPage Schema
What is the best way to organize code by feature in Go or TypeScript?

Organizing code by feature uses vertical slices and package-by-feature structures to group related modules. This architectural pattern improves maintainability and scalability by ensuring module boundaries align with business domains in Go, TypeScript, and Python projects.

How do I structure a new microservice for maintainability and team collaboration?

Structuring a new microservice for maintainability involves applying vertical slice architecture and package-by-feature organization. These patterns define clear module boundaries and interface designs, enabling parallel team collaboration without creating tightly coupled dependencies across the codebase.

Vertical slice vs layered architecture: which should I choose for my software design?

Choosing between vertical slice and layered architecture depends on your project's coupling needs. Vertical slices group code by feature for better maintainability and independent module scaling, whereas layered architecture separates technical concerns, which can sometimes lead to tangled dependencies in growing applications.

Does this architectural guidance support dependency injection in Python?

Yes, this architectural guidance supports dependency injection in Python, alongside Go and TypeScript. It demonstrates specific best practices for injecting dependencies and designing interfaces, ensuring loose coupling and improved testability across different language environments.

When should I not use vertical slice architecture for module boundaries?

You should avoid vertical slice architecture when your application has minimal domain logic or heavily relies on shared technical layers that cannot be cleanly partitioned by feature. For simple CRUD tasks, the overhead of enforcing strict module boundaries may outweigh maintainability benefits.