算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
software-architecture-design【设计与创意】Designs runtime topology in a chosen solution. Use when choosing monolith vs services, cells, consistency, ADRs. Not for cross-system design (software-solution-architecture).
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
If the question starts from a business workflow, system landscape, target state, or phased cross-system migration, use ../software-solution-architecture/SKILL.md first and come here for runtime, decomposition, and operability depth.
Treat estate modernization, platform engineering, and AI-native interoperability as optional deep dives. Do not load them unless the user is explicitly asking for those concerns.
| Task | Pattern/Tool | Key Resources | When to Use |
|---|---|---|---|
| Choose architecture style | Modular monolith (default; see Decision Factors below); Layered, Microservices, Event-driven, or Serverless once independent-deployment/ownership needs are clear | modern-patterns.md | Greenfield projects, major refactors |
| Decide API boundary posture (architectural level) | Contract posture and versioning strategy, not endpoint design | api-gateway-service-mesh.md | Service-to-service contract decision is architectural |
| Design for scale | Load balancing, Caching, Sharding, Read replicas | scalability-reliability-guide.md | High-traffic systems, performance goals |
| Ensure resilience | Circuit breakers, Retries, Bulkheads, Graceful degradation | scalability-reliability-guide.md | Distributed systems, external dependencies |
| Document decisions | Architecture Decision Record (ADR) | adr-template.md | Major technical decisions, tradeoff analysis |
| Define service boundaries | Domain-Driven Design (DDD), Bounded contexts | microservices-template.md | Microservices decomposition |
| Model data consistency | ACID vs BASE, Event sourcing, CQRS, Saga patterns | data-architecture-patterns.md | Multi-service transactions |
| Plan observability | SLIs/SLOs/SLAs, Distributed tracing, Metrics, Logs | architecture-blueprint.md | Production readiness |
| Migrate from monolith | Strangler fig, Database decomposition, Shadow traffic | migration-modernization-guide.md | Legacy modernization |
| Design inter-service comms | API Gateway, Service mesh, BFF pattern | api-gateway-service-mesh.md | Microservices networking |
| Design delivery platform | IDP, golden paths, fitness functions | fitness-functions-governance.md | Multi-team platforms, governance |
| Rationalize service sprawl | Bounded-context platforms, repo-vs-runtime matrix, platform scorecards | estate-modernization.md | 20+ repos, too many services, uneven platform maturity |
| Plan estate modernization | Platform-first migration waves, consolidation, compatibility boundaries | estate-modernization-blueprint.md | Polyrepo estates, regulated migrations, legacy reduction |
| Design AI-native systems | RAG boundaries, tool gateways, agent interoperability, MCP, A2A | architecture-trends.md | LLM-powered products when architecture, not implementation, is the main question |
Use other skills instead for:
migration-modernization-guide.md, estate-modernization.md). It does not own the cross-system wave plan (which systems coexist, in what order, with what rollback/retirement criteria) — that is ../software-solution-architecture/SKILL.md's transition-architecture.md.Primary question: [What kind of architecture problem is this?]
├─ Large estate with many repos/services and rising cognitive load?
│ ├─ Runtime count is the main problem → Bounded-context platforms + selective consolidation
│ ├─ Delivery inconsistency is the main problem → IDP + golden paths + scorecards
│ └─ Both are true → Platform-first modernization, then consolidate low-value runtime units
│
├─ Deterministic workflow, known steps?
│ ├─ Single deployable acceptable → Modular Monolith
│ ├─ Independent teams/capabilities required → Sequential or event-driven services
│ └─ Burst-driven or edge-triggered workload → Serverless / event-driven
│
├─ Adaptive workflow with tool use and reasoning?
│ ├─ One agent can own the task → Single-agent system
│ ├─ Specialized roles truly needed → Multi-agent with explicit stop conditions
│ └─ High stakes / regulated workflow → Human-in-the-loop + audit trail
│
├─ Strong consistency inside one domain boundary?
│ ├─ Keep data and writes together → Monolith or Modular Monolith
│ └─ Split only at stable bounded contexts → Microservices with owned data
│
└─ Need platform-level consistency across many teams?
├─ Repeated service creation / compliance needs → IDP + golden paths
└─ Cross-agent or cross-vendor interoperability → MCP for tools/context, A2A for agent-to-agent
Decision Factors:
Where to split: fracture planes (Skelton and Pais, Team Topologies, 2nd ed., 2025). A fracture plane is "a natural seam in the software system that allows the system to be split easily into two or more parts" — the stonemason's analogy. Candidate planes: business domain bounded context (the default, and the one most splits should map to), regulatory compliance, change cadence, team location, risk, performance isolation, technology, and user personas.
See references/modern-patterns.md for detailed pattern descriptions, and references/modern-patterns.md § Connascence to check whether a proposed seam leaves strong coupling crossing it.
The references in this skill are background knowledge for you — absorb the patterns and present them as your own expertise. Do not cite internal reference file names (e.g., "from data-architecture-patterns.md") in user-facing output. Users don't know these files exist.
Every architecture recommendation must cover the following; skip elements only with explicit justification:
Use this workflow when a user asks for architecture recommendations, decomposition, or major platform decisions.
Preferred deliverables (pick what fits the request):
assets/planning/architecture-blueprint.mdassets/planning/estate-modernization-blueprint.mdassets/planning/adr-template.mdreferences/modern-patterns.md, references/scalability-reliability-guide.mdFor each proposed boundary or new deployable, name the observed pressure that requires it: independent release cadence, incompatible scaling shape, fault isolation, data sovereignty, or distinct ownership. Record the baseline and the experiment that would falsify the choice. If the pressure is hypothetical or can be handled inside the existing runtime, keep the boundary logical and postpone the operational split.
Read at most 2–3 references per question — pick the ones most relevant to the specific ask. Do not read all of them.
| Reference | Contents | When to Read |
|---|---|---|
| modern-patterns.md | Architecture patterns with decision trees, incl. modular-monolith-vs-microservices gates and cell-based architecture | Choosing or comparing patterns |
| scalability-reliability-guide.md | CAP theorem, DB scaling, caching, circuit breakers, SRE | Scaling or reliability questions |
| data-architecture-patterns.md | CQRS variants, event sourcing, data mesh, sagas, consistency | Data flow across services |
| migration-modernization-guide.md | Strangler fig, DB decomposition, feature flags, risk assessment | Refactoring a monolith |
| api-gateway-service-mesh.md | Gateway patterns, service mesh, mTLS, observability | Inter-service communication |
| fitness-functions-governance.md | Fitness-function taxonomy (six axes), architectural-vs-domain and monitoring-vs-alarm litmus tests, ArchUnit/NetArchTest/linter rules, modular-monolith boundary enforcement, herding thresholds, coupling and complexity metrics, codebases changed by coding agents | Automating architectural governance, making principles enforceable, making a codebase safe for agent-authored diffs |
| architecture-trends.md | Platform engineering, ambient mesh, AI-native systems, MCP/A2A | Current trends only |
| estate-modernization.md | Runtime-vs-repo rationalization, bounded-context platforms, consolidation heuristics | Multi-repo estates and service sprawl |
| operational-playbook.md | Architecture questions framework, decomposition heuristics | Design discussion framing |
Planning & Documentation (assets/planning/):
Architecture Patterns (assets/patterns/):
Operations (assets/operations/):
docs-diagram-design — Whether a diagram earns its place, and what it must showdocs-diagram-design and keep its ownership and update path in docs-codebase.When a question is version-sensitive (current trends, "is X still recommended?", vendor limits, managed-service capabilities, AI-native interoperability), verify against primary sources from data/sources.json before answering. Without live access, answer with durable patterns and state which assumptions could change. Trigger conditions, check steps, and the source categories: references/operational-playbook.md#freshness-protocol. Trend deep dives: architecture-trends.md, estate-modernization.md.
When prior decisions or pitfalls are relevant, consult learnings.consolidated.md if present; use learnings.md only for needed history or as the available fallback. Otherwise skip both.
After applying it, if you encountered a pattern worth remembering, a mistake worth preventing, or a domain fact that surprised you, append one dated bullet to learnings.md via agents-skills-feedback-loop/scripts/append_learning.py. Do not modify SKILL.md itself.