Token导航 LogoToken导航TokenDH.com
研究检索external-servicegithub未标认证来源可访问许可证需确认审计通过

system-design-thinking系统设计思维

Agent Skill

用于辅助界面设计、视觉规范、排版、配色、布局和交互体验优化。它适合让 Agent 根据产品场景整理页面结构、生成 UI 方案、检查视觉一致性或改进组件层级。使用时需要结合现有品牌、设计系统和用户任务,不应只堆装饰元素;涉及真实页面改动时,应通过截图或浏览器预览检查文本溢出、对齐和响应式表现。

总安装

240

周安装

10

GitHub Stars

1

下载量

80
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:system-design-thinking(系统设计思维)
来源仓库:https://github.com/tawanorg/skills
仓库路径:skills/system-design-thinking
安装命令:
npx skills add https://github.com/tawanorg/skills --skill system-design-thinking
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/tawanorg/skills --skill system-design-thinking

简介

用于支持系统设计思维相关的信息检索与分析。system-design-thinking 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

  • 适合在复杂系统规划时提供结构化思考框架和参考资料。
  • 可帮助识别系统瓶颈、权衡技术选型或梳理模块关系。
  • 使用时需明确具体问题边界和所需资源类型(文档、案例等)。
  • 建议结合项目实际需求验证输出内容的适用性和准确性。

SKILL.md

System Design Thinking

Frameworks for thinking about architecture before writing code. Design decisions are expensive to change—think first, code second.

Core Philosophy

"The goal of software architecture is to minimize the human resources required to build and maintain the required system." — Robert C. Martin

Architecture is about:

  1. Managing complexity - Breaking big problems into smaller ones
  2. Enabling change - Making the system adaptable
  3. Deferring decisions - Keeping options open as long as possible
  4. Communicating intent - Making the system understandable

The Design Thinking Process

1. Understand Before Designing

See rules/start-with-requirements.md

Never design without understanding:

UnderstandQuestions to Ask
UsersWho uses this? What do they need? How many?
DataWhat data? How much? How fast does it grow?
OperationsWho runs it? How is it deployed? Monitored?
ConstraintsBudget? Timeline? Team skills? Existing systems?
Quality attributesLatency? Availability? Consistency? Security?

2. Identify the Core Problem

Before jumping to solutions, articulate:

We need to [capability]
For [users/systems]
So that [business value]
Constrained by [limitations]

Example:

We need to process payment transactions
For 10,000 concurrent users
So that customers can complete purchases
Constrained by:
- 99.99% availability requirement
- PCI compliance
- <200ms response time
- Existing PostgreSQL infrastructure

3. Explore the Solution Space

Don't commit to the first idea. Generate options:

OptionProsConsRisk
Option A.........
Option B.........
Option C.........

4. Make and Document Decisions

See references/adr-template.md

Every significant decision needs:

  • Context - Why are we making this decision?
  • Options - What did we consider?
  • Decision - What did we choose?
  • Consequences - What are the trade-offs?

Trade-off Analysis

See references/trade-off-analysis.md for detailed frameworks.

The Iron Triangle

You can optimize for two, not all three:

        Speed
         /\
        /  \
       /    \
      /______\
   Scope    Quality

CAP Theorem

Distributed systems can guarantee only two of three:

PropertyMeaning
ConsistencyAll nodes see the same data
AvailabilityEvery request gets a response
Partition toleranceSystem works despite network splits

In practice: Network partitions happen, so choose CP or AP:

  • CP (Consistency + Partition tolerance): Banking, inventory
  • AP (Availability + Partition tolerance): Social feeds, caching

Common Trade-offs

Trade-offWhen to favor AWhen to favor B
Consistency vs AvailabilityFinancial data, inventorySocial features, analytics
Latency vs ThroughputUser-facing APIsBatch processing
Simplicity vs FlexibilityMVP, small teamPlatform, multiple use cases
Build vs BuyCore differentiatorCommodity functionality
Monolith vs MicroservicesSmall team, new productLarge team, proven domain

Architecture Patterns Quick Reference

See references/architecture-styles.md for detailed comparisons.

When to Use What

PatternBest ForAvoid When
MonolithNew products, small teams, unclear domainsTeam > 10, independent scaling needed
Modular MonolithGrowing product, preparing for splitAlready distributed
MicroservicesLarge teams, independent deploymentsSmall team, unclear boundaries
ServerlessSporadic traffic, event-drivenConsistent high load, complex state
Event-DrivenLoose coupling, async workflowsSimple CRUD, strong consistency

Start Simple

See rules/prefer-simple-architecture.md
Start here ──► Monolith ──► Modular Monolith ──► Microservices
                  │
                  └── Most projects never need to leave

The Monolith First rule: Unless you have proven scale requirements, start with a well-structured monolith.


System Decomposition

Finding Boundaries

See rules/define-boundaries-first.md

Good boundaries have:

  • High cohesion - Related things together
  • Low coupling - Minimal dependencies across boundaries
  • Clear contracts - Well-defined interfaces
  • Independent deployability - Can change without coordinating

Decomposition Strategies

StrategyHow It WorksBest For
By domainBusiness capabilities (Orders, Users, Payments)Business-aligned teams
By layerPresentation, Business, DataSmall teams, simple domains
By featureEnd-to-end slices (Checkout, Search)Feature teams
By volatilitySeparate stable from changing partsMixed stability requirements

Domain-Driven Design (Quick Reference)

ConceptMeaningExample
Bounded ContextClear boundary with its own model"Orders" vs "Inventory"
Ubiquitous LanguageShared vocabulary within context"Order" means same thing to all
AggregateCluster of entities, one rootOrder with OrderItems
Domain EventSomething that happenedOrderPlaced, PaymentReceived

Data Architecture

See references/data-architecture.md

Data Flow First

Before designing components, understand:

  1. What data exists? - Entities, relationships, volumes
  2. How does it flow? - Sources, transformations, destinations
  3. Who owns it? - Single source of truth for each entity
  4. How fresh must it be? - Real-time, near-real-time, batch

Storage Decisions

NeedConsider
Structured data, ACIDPostgreSQL, MySQL
Document/flexible schemaMongoDB, DynamoDB
Key-value, cachingRedis, Memcached
Time seriesInfluxDB, TimescaleDB
SearchElasticsearch, Algolia
Analytics/OLAPBigQuery, Snowflake, ClickHouse
File/blob storageS3, GCS, Azure Blob

Data Consistency Patterns

PatternConsistencyUse When
Single databaseStrongSimple apps, single service
Database per serviceEventualMicroservices, independent scaling
Saga patternEventualDistributed transactions
CQRSEventualRead/write scaling differs
Event sourcingEventualAudit trail, temporal queries

Integration Patterns

See references/integration-patterns.md

Sync vs Async

SynchronousAsynchronous
Request/ResponseEvents/Messages
Simple, immediateResilient, decoupled
Tight couplingLoose coupling
Cascading failuresIsolated failures
REST, gRPCQueues, Pub/Sub

When to Use What

Need immediate response? ──► Sync (REST/gRPC)
                │
                No
                │
                ▼
Can caller continue without result? ──► Async (Queue/Event)
                │
                No
                │
                ▼
Use async with callback/webhook

Scalability Thinking

See references/scalability-patterns.md

Scaling Strategies

StrategyHowWhen
VerticalBigger machineQuick fix, stateful services
HorizontalMore machinesStateless services, proven bottleneck
CachingStore computed resultsRead-heavy, expensive computations
PartitioningSplit data by keyLarge datasets, geographic distribution
Async processingQueue work for laterSpiky traffic, heavy operations

Performance Budget

Before optimizing, set targets:

Page load: < 2s
API response: < 200ms (p99)
Background job: < 30s
Availability: 99.9% (8.76 hours downtime/year)

Design for Operations

See rules/consider-operations.md

Operability Checklist

Every system needs:

  • Health checks - Is it running? Is it healthy?
  • Logging - What happened? (Structured, searchable)
  • Metrics - How is it performing? (Latency, errors, throughput)
  • Alerting - When does it need attention?
  • Deployment - How do we release changes safely?
  • Rollback - How do we undo bad releases?
  • Disaster recovery - What if everything fails?

The "3 AM Test"

Ask: "If this breaks at 3 AM, can someone fix it?"

  • Are errors clear and actionable?
  • Are runbooks documented?
  • Can issues be diagnosed from logs/metrics?
  • Can it be rolled back quickly?

Quick Reference Checklist

Before Designing

  • Requirements understood (functional + non-functional)
  • Constraints identified (budget, timeline, skills, compliance)
  • Success criteria defined (measurable)
  • Stakeholders aligned

During Design

  • Multiple options explored
  • Trade-offs explicitly stated
  • Simplest solution that works chosen
  • Boundaries clearly defined
  • Data flow mapped
  • Failure modes considered

After Design

  • Decision documented (ADR)
  • Operability addressed
  • Migration path identified (if replacing existing)
  • Team understands and agrees

Rules

Atomic decision heuristics. Each rule follows: Context → Heuristic → Why.

RuleFile
Start with Requirementsrules/start-with-requirements.md
Prefer Simple Architecturerules/prefer-simple-architecture.md
Define Boundaries Firstrules/define-boundaries-first.md
Design for Failurerules/design-for-failure.md
Document Decisionsrules/document-decisions.md
Consider Operationsrules/consider-operations.md
Data Flow Firstrules/data-flow-first.md
Async Over Syncrules/async-over-sync.md

Reference Files

Deep dives on specific topics.

TopicFile
Trade-off Analysisreferences/trade-off-analysis.md
Architecture Stylesreferences/architecture-styles.md
Scalability Patternsreferences/scalability-patterns.md
Integration Patternsreferences/integration-patterns.md
Data Architecturereferences/data-architecture.md
ADR Templatereferences/adr-template.md

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.45%
按下载量换算28

Claude

27.86%
按下载量换算22

Cursor

21.03%
按下载量换算17

Gemini CLI

9.06%
按下载量换算7

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills