{"enrichment":{"faq":[{"a":"Software-architecture-design helps you evaluate this decision by weighing team size, deployment frequency, and scaling needs. Monoliths suit small teams and simple domains; microservices fit organizations needing independent deployment and scaling. The skill guides you through tradeoff analysis\u2014monoliths offer simpler operations but tight coupling, while microservices enable autonomy but add distributed system complexity. Consider your current constraints before committing.","q":"How do I choose between monolith vs microservices which should I choose?"},{"a":"Software-architecture-design covers four primary patterns: monolith (vertical scaling limits), microservices (horizontal scaling with service independence), serverless (auto-scaling managed by provider), and event-driven (decoupled via async messaging). Each pattern trades operational complexity against scalability ceiling. The skill helps you match patterns to your traffic profile, team structure, and tolerance for distributed system challenges like eventual consistency and observability.","q":"What system architecture patterns work best for scaling?"},{"a":"Software-architecture-design guides decomposition through domain-driven design and the strangler fig pattern. Start by identifying service boundaries aligned to business capabilities, not technical layers. The skill covers incremental migration strategies\u2014running old and new systems in parallel, gradually routing traffic to new services. You'll learn how to handle data consistency, define APIs, and manage team ownership during the transition without halting feature delivery.","q":"How do I decompose a monolith into microservices?"},{"a":"Software-architecture-design emphasizes ADRs as living documentation of why architectural choices were made, not just what they are. ADRs capture context, alternatives considered, and tradeoffs\u2014critical when teams scale or systems evolve. The skill teaches you to document decisions like service boundaries, communication patterns, and consistency models so future maintainers understand constraints and can revisit choices when conditions change.","q":"What role do architecture decision records play in system design?"},{"a":"Software-architecture-design addresses consistency models (strong vs eventual), synchronous patterns (REST, gRPC), and asynchronous approaches (event streams, message queues). For distributed systems, you'll learn when to accept eventual consistency, how to implement saga patterns for transactions, and strategies for observability across service calls. The skill balances consistency guarantees against latency and availability\u2014no one-size-fits-all solution exists.","q":"How should I plan data consistency and inter-service communication?"},{"a":"Software-architecture-design teaches you to align system boundaries with team structure and business domains. Use circuit breakers, timeouts, and bulkheads to isolate failures. Plan observability\u2014logging, metrics, tracing\u2014across services from the start. The skill covers service mesh patterns, API gateways, and how to define clear contracts between teams. Resilience emerges from both technical patterns and organizational clarity about who owns what.","q":"How do I structure a large system for resilience and team ownership?"}],"shadow_tags":["system-design","distributed-systems","scalability-patterns","service-oriented","architectural-decisions","decomposition","resilience-design","data-flow","integration-patterns","operational-readiness"],"summary_rewrite":"Make informed architecture decisions for new systems or major refactors. This skill guides you through pattern selection, scalability design, resilience strategies, and data consistency models\u2014with concrete technology recommendations and tradeoff analysis. Covers decomposition, service boundaries, observability planning, and migration from legacy systems."},"files":[{"bytes":11468,"path":"frameworks/shared-skills/skills/software-architecture-design/SKILL.md","sha256":"bfd5c57076412707d800608b58995d05e06003fa4658520a8c211af24ec86a6f","url":"https://skillfed.io/files/vasilyu1983/AI-Agents-public/software-architecture-design/2bb8cf3a/SKILL.md"}],"id":"vasilyu1983/AI-Agents-public/software-architecture-design","links":{"html":"https://skillfed.io/vasilyu1983/AI-Agents-public/software-architecture-design","md":"https://skillfed.io/vasilyu1983/AI-Agents-public/software-architecture-design.md","repo":"https://github.com/vasilyu1983/AI-Agents-public"},"meta":{"agents_supported":[],"first_seen":"2026-07-28","forks":17,"language":"Python","last_updated":"2026-07-13","license":"MIT","name":"software-architecture-design","publisher":"vasilyu1983","stars":69},"relations":{"categories":["software-architecture","system-design","platform-engineering"],"similar":[{"id":"vasilyu1983/AI-Agents-public/software-backend"},{"id":"vasilyu1983/AI-Agents-public/qa-resilience"},{"id":"vasilyu1983/AI-Agents-public/dev-api-design"},{"id":"vasilyu1983/AI-Agents-public/software-crypto-web3"},{"id":"vasilyu1983/AI-Agents-public/data-sql-optimization"},{"id":"vasilyu1983/AI-Agents-public/ops-devops-platform"},{"id":"vasilyu1983/AI-Agents-public/agents-skills"},{"id":"vasilyu1983/AI-Agents-public/qa-api-testing-contracts"},{"id":"Jeffallan/claude-skills/architecture-designer"},{"id":"vasilyu1983/AI-Agents-public/software-frontend"}]},"slug":{"owner":"vasilyu1983","repo":"AI-Agents-public","skill":"software-architecture-design"},"version":"2bb8cf3a"}
