AgentSkillsCN

awesome-software-design

精选资源推荐,助您通过模式、决策与经验证的设计规则来梳理并优化软件架构。当用户就软件设计、架构、设计模式、ADR、系统设计、DDD、微服务、事件驱动系统,或各类文档与验证工具提出疑问时,可参考这些资源。

SKILL.md
--- frontmatter
name: awesome-software-design
description: Points to curated resources for organizing and structuring software through patterns, decisions, and verified design rules. Use when the user asks about software design, architecture, design patterns, ADRs, system design, DDD, microservices, event-driven systems, or documentation/verification tools.

Awesome Software Design

This skill references the curated list from QDenka/awesome-software-design: organizing and structuring software through patterns, decisions, and verified design rules.

When to Use

Apply this skill when the user or task involves:

  • Design patterns — GoF patterns, enterprise patterns, or language-specific implementations (PHP, Java, Go, Python)
  • Architecture decisions — Writing or finding ADR templates, tools (adr-tools, MADR, log4brains), or real-world ADR practices (Spotify, GOV.UK, Kubernetes KEPs)
  • System design — Scalability, caching, load balancing, API design (Google, Microsoft), messaging (RabbitMQ, Kafka), rate limiting, DDIA-style topics
  • Reference implementations — DDD, CQRS, event sourcing, modular monolith, serverless/cloud patterns (AWS, Azure)
  • Design documentation — C4, D2, Mermaid, diagrams-as-code, Structurizr, PlantUML, dependency visualization
  • Design verification — Architecture rules and linting (ArchUnit, arkitect, pest-plugin-arch, arch-go, konsist)
  • Real-world examples — How Spotify, Netflix, Uber, Figma, Slack, GitHub, Stripe, Discord, Shopify, Cloudflare design and document systems
  • Books and learning — DDD (Evans, Vernon, Khononov), Clean Architecture, DDIA, microservices, enterprise patterns, Team Topologies
  • Community — Conferences (DDD Europe, QCon, GOTO), blogs (Martin Fowler, InfoQ), Technology Radar

How to Use

  1. Identify the category that matches the user’s question (e.g. “how to write ADRs” → ADR; “system design interview” → System Design).
  2. Open the canonical list: awesome-software-design README or this skill’s reference.md.
  3. Suggest specific resources from that category (with links). Prefer the official or most cited entry when several exist.
  4. Keep answers concise; link out to the list or reference.md for the full catalog.

Quick Categories

NeedLook in
Code examples / reference appsReference Implementations
GoF/enterprise patterns, by languageDesign Patterns
ADR format, tools, examplesArchitecture Decision Records
Scalability, APIs, messaging, DBsSystem Design
C4, Mermaid, diagrams-as-codeDesign Documentation
Enforce layers/dependencies in codeDesign Verification
How X built YReal-World Architecture Examples
DDD, Clean Architecture, DDIA, etc.Books
Conferences, blogs, communitiesCommunity and Conferences

Source