Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计通过

system-design系统设计

Agent Skill

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

总安装

288

周安装

12

GitHub Stars

25

下载量

96
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/noobygains/godmode --skill system-design

简介

用于辅助界面设计、视觉规范和交互体验优化,适合生成 UI 方案和检查一致性。

  • 适用于 Codex、Claude、Cursor 和 Gemini CLI,可结合产品场景改进组件层级。
  • 使用时需参考现有品牌和设计系统,避免脱离实际需求。
  • 涉及真实页面改动时,应通过截图或浏览器预览检查响应式表现。
  • 建议在团队协作中配合设计评审流程使用,确保落地效果。

SKILL.md

System Design

Overview

Select the simplest architecture that satisfies requirements. Introduce complexity only when evidence demands it.

Core principle: Every structural decision must be driven by a current requirement, not a speculative future one.

No exceptions. No workarounds. No shortcuts.

The Prime Directive

NO STRUCTURAL COMPLEXITY WITHOUT AN ESTABLISHED REQUIREMENT

If you cannot point to a concrete, current requirement that demands the complexity, choose the simpler option.

When to Use

Always before:

  • Selecting a database
  • Designing an API
  • Organizing a new project
  • Introducing a caching layer
  • Adding message queues or event systems
  • Choosing authentication strategy
  • Deciding on monolith vs services

Especially when:

  • "We might need to scale" (might = do not add complexity)
  • "What if we need X later?" (later = not now)
  • Multiple valid approaches exist

The Entry Protocol

BEFORE making ANY structural decision:

1. IDENTIFY: What concrete requirement drives this choice?
2. COMPARE: What is the simplest option that satisfies it?
3. JUSTIFY: Why is anything more complex necessary?
   - If no justification: Use the simple option
   - If justified: Record the requirement driving complexity
4. DECIDE: Choose. Document. Move on.

Skip any step = over-engineering

Decision Frameworks

Monolith vs Services

digraph structure_decision {
    start [label="New project?", shape=diamond];
    team [label="Multiple teams\nown separate\ndomains?", shape=diamond];
    scale [label="Components need\nindependent\nscaling NOW?", shape=diamond];
    deploy [label="Components need\nindependent\ndeploy cycles?", shape=diamond];
    mono [label="MONOLITH\nSimplest path", shape=box, style=filled, fillcolor="#ccffcc"];
    services [label="SERVICES\nEstablished need", shape=box, style=filled, fillcolor="#ffcccc"];

    start -> mono [label="yes"];
    start -> team [label="existing"];
    team -> services [label="yes"];
    team -> scale [label="no"];
    scale -> services [label="yes"];
    scale -> deploy [label="no"];
    deploy -> services [label="yes"];
    deploy -> mono [label="no"];
}

Default: Monolith. Extract services only when a specific component demonstrates it requires independent scaling or deployment.

Database Selection

RequirementSelectRationale
Structured data, relationships, transactionsPostgreSQLACID guarantees, mature, covers 90% of use cases
Document-oriented, genuinely variable schema per recordMongoDBOnly when schema truly differs per document
Key-value, caching, session storageRedisIn-memory speed, built-in TTL
Full-text search at volumeElasticsearchPurpose-built for search workloads
Time-series data (metrics, logs)TimescaleDB / InfluxDBOptimized for time-indexed writes
Graph traversal is the primary query modelNeo4jOnly when traversal IS the product
Embedded, zero-config, single-userSQLiteSimplest possible, no server needed

Default: PostgreSQL. It handles JSON, full-text search, and most workloads adequately. Switch only when PostgreSQL demonstrably cannot meet a requirement.

API Design

ContextSelectRationale
CRUD operations, public-facing APIRESTUniversal, cacheable, well-understood
Complex nested data, client-controlled shapeGraphQLEliminates over/under-fetching
Internal service-to-service, high throughputgRPCBinary protocol, generated stubs, streaming
Real-time bidirectional communicationWebSocketsPersistent connection, low latency
Simple webhooks, event notificationREST callbacksStateless, easy to troubleshoot

Default: REST. Adopt GraphQL only when clients genuinely need flexible queries. Adopt gRPC only for internal services where throughput is measured and proven insufficient with REST.

Authentication Strategy

ContextSelectRationale
Standard web applicationSession-based (cookies)Simple, secure, server-controlled revocation
SPA + API on different originsJWT (short-lived) + refresh tokensStateless API auth across domains
Third-party loginOAuth 2.0 / OIDCDelegated authentication standard
Machine-to-machineAPI keys + HMACSimple, auditable
Multi-tenant SaaSOIDC + tenant-scoped tokensIsolation per tenant

Default: Session-based auth with httpOnly cookies. JWTs are not inherently more secure. Use them only when stateless authentication across domains is a concrete requirement.

Caching Strategy

BEFORE introducing a cache:

1. Is there actually a measured performance problem?
2. Can the database query be optimized instead?
3. Is the data read-heavy with infrequent writes?

Only if YES to 1, NO to 2, YES to 3: Introduce cache.
LayerMechanismUse When
ApplicationIn-memory (LRU)Single instance, small dataset
DistributedRedis / MemcachedMulti-instance, shared state
HTTPCDN / reverse proxyStatic assets, public pages
DatabaseQuery cache / materialized viewsExpensive aggregations

Default: No cache. Optimize queries first. Introduce caching only after measuring a bottleneck.

Event-Driven Architecture

BEFORE introducing a message queue:

1. Do you need asynchronous processing? (Email delivery, image processing)
2. Do producers and consumers need to scale independently?
3. Do you need guaranteed delivery across service boundaries?

If NO to all: Direct function calls are sufficient.
NeedMechanismRationale
Simple task queueRedis + BullMQ / CeleryLightweight, familiar
Event streaming, replayKafkaHigh throughput, log-based
Cloud-native messagingSQS / Cloud Pub/SubManaged, serverless
Complex routingRabbitMQFlexible routing, mature

Default: Direct function calls. Queues add operational complexity. Introduce them only when async processing or decoupling is an established requirement.

File Organization Conventions

Organize by capability, not by layer:

# AVOID: organized by layer
src/
  controllers/
  models/
  services/
  validators/

# PREFER: organized by capability
src/
  users/
    user.controller.ts
    user.service.ts
    user.model.ts
    user.test.ts
  orders/
    order.controller.ts
    order.service.ts
    order.model.ts
    order.test.ts
  shared/
    database.ts
    auth.middleware.ts

Capability-based organization keeps related code together. Changing one capability touches one directory.

Cognitive Traps

RationalizationTruth
"We might need microservices later"Extract when needed. Monolith-first is faster to build and debug.
"NoSQL is more flexible"PostgreSQL handles JSON. Schema flexibility usually means schema confusion.
"GraphQL is the modern choice"REST is simpler for CRUD. Modern does not mean appropriate.
"JWTs are more secure"JWTs are harder to revoke. Sessions are simpler and server-controlled.
"We need a cache for performance"Have you optimized your queries? Measure first.
"Event-driven is more scalable"Direct calls are simpler. Scaling concerns are future concerns.
"This architecture handles future growth"The future is unpredictable. Solve current problems.

Guardrails - HALT and Simplify

  • Adding infrastructure for "future scale"
  • Selecting technology because it is "modern" or "industry standard"
  • Architecture diagram has more than 5 components for an MVP
  • Multiple databases without distinct access patterns
  • Message queues for synchronous workflows
  • Microservices with a single team
  • "Flexible" schemas without concrete varying fields
  • Caching before measuring

All of these mean: Simplify. Use the boring, proven option.

Integration

Complements:

  • godmode:performance-tuning — When structural choices affect performance
  • godmode:security-protocol — Auth patterns and data flow security
  • godmode:project-bootstrap — File organization and initial setup
  • godmode:task-planning — Structural decisions during planning phase

The Bottom Line

Simplest architecture that works > "best" architecture that might be needed

PostgreSQL. REST. Monolith. Sessions. No cache. Direct calls. Start there. Introduce complexity only when you have evidence it is necessary.

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

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

平台分布

Codex

37.61%
按下载量换算36

Claude

29.47%
按下载量换算28

Cursor

19.41%
按下载量换算19

Gemini CLI

9.4%
按下载量换算9

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

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

来源信息

继续浏览同类 Skills