Agent skill

System Design

by NoobyGains in NoobyGains/godmode

A skill your agent uses when making technology or structural decisions - selecting databases, APIs, auth strategies, caching layers, file organization, or weighing monolith against services

MITAuto-check passedBackend & APIs

Install System Design

skills CLI
$ npx skills add NoobyGains/godmode --skill system-design -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install NoobyGains/godmode system-design --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/NoobyGains/godmode.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/system-design .claude/skills/system-design && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
system-design
GitHub stars
107
Token cost
~2.2k tokens
SKILL.md length
727 words
Files
1
Skills in repo
34
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when making technology or structural decisions - selecting databases, APIs, auth strategies, caching layers, file organization, or weighing monolith against services

  • Making technology
  • SKILL.md covers Overview, The Prime Directive, When to Use and The Entry Protocol, plus 6 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md
  • Structural decisions - selecting databases

What it does

System Design is an agent skill from NoobyGains/godmode. Use when making technology or structural decisions - selecting databases, APIs, auth strategies, caching layers, file organization, or weighing monolith against services

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Backend & APIs, covering Caching and File organization. It works with PostgreSQL. The repository describes itself as: The AI development framework that thinks before it builds. 36 composable skills for Claude Code, Cursor, Codex, and OpenCode. The licence is MIT.

When your agent uses it

  • Making technology
  • Structural decisions - selecting databases
  • Auth strategies
  • File organization

Example prompts

  • “/system-design”

What it can do on your machine

Read from SKILL.md and the folder at commit 441103a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are dot).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

System Design loads about 2.2k tokens when it runs. Until then it costs about 46 tokens; SKILL.md has 727 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~46
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from NoobyGains/godmode at commit 441103a, republished under its MIT licence (© NoobyGains). 727 words, ~2,201 tokens.

Download SKILL.mdSave it as .claude/skills/system-design/SKILL.md (or your agent's skills folder).
name
system-design
description
Use when making technology or structural decisions - selecting databases, APIs, auth strategies, caching layers, file organization, or weighing monolith against services

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
dot
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.

Show full SKILL.md (286 more words)Show less
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.

© NoobyGains, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/system-design of NoobyGains/godmode.

Open the folder on GitHubat commit 441103a

Compare with similar skills

System Design next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

System Design compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
System Design this skillNoobyGains/godmode107—~2.2kAutomated safety check: PassMIT
Stripe Projectsfossasia/eventyay1.7k5 repos~2kAutomated safety check: NotesApache-2.0
Veloxdb Scalable Performanceveloxbase/veloxdb646—~1.7kAutomated safety check: PassMIT
Database Domain Specialistmodu-ai/moai-adk1.2k—~2.8kAutomated safety check: PassApache-2.0
Database Patternsmajiayu000/spellbook286—~2.8kAutomated safety check: PassMIT
Database Optimizationaiskillstore/marketplace4301 repos~787Automated safety check: PassNone

Similar skills

  • Stripe Projects

    fossasia/eventyay

    A skill your agent uses when the user wants to provision infrastructure or third-party services using Stripe Projects.

    1.7k GitHub starsUsed in 5 repos~2k tokens
    Backend & APIsAuto-check: notes
  • Guides scalability and performance work for VeloxDB's Tauri + Rust PostgreSQL backend and React + TanStack frontend.

    646 GitHub stars~1.7k tokensUpdated 8 days ago
    DatabasesAuto-check passed
  • Database guidance for PostgreSQL, MongoDB, Redis and Oracle plus Neon, Supabase and Firestore: schema design, indexing, query tuning and cloud database choice.

    1.2k GitHub stars~2.8k tokensUpdated today
    DatabasesAuto-check passed
  • Database Patterns

    majiayu000/spellbook

    A skill your agent uses when designing PostgreSQL + Redis data models, indexes, caching strategies, JSONB usage, tiered storage, or cache consistency contracts.

    286 GitHub stars~2.8k tokensUpdated today
    DatabasesAuto-check passed
  • Database Optimization

    aiskillstore/marketplace

    SQL query optimization and database performance specialist. An agent skill from aiskillstore/marketplace.

    430 GitHub starsUsed in 1 repo~787 tokens
    DatabasesAuto-check passed
  • Cloudflare Hyperdrive

    secondsky/claude-skills

    Cloudflare Hyperdrive for Workers-to-database connections with pooling and caching.

    227 GitHub stars~1.8k tokensUpdated 10 days ago
    DatabasesAuto-check passed

More from NoobyGains/godmode

All 34 skills in this repo
  • Activation

    NoobyGains/godmode

    A skill your agent uses when starting any conversation - establishes how to locate and invoke skills, mandating Skill tool usage before ANY response including clarifying questions

    107 GitHub stars~2.4k tokensUpdated 7 mo ago
    Auto-check passed
  • Agent Messaging

    NoobyGains/godmode

    A skill your agent uses when dispatching subagents, composing prompts for teammates, structuring handoff reports, or managing context boundaries between agents.

    107 GitHub stars~3k tokensUpdated 7 mo ago
    Auto-check passed
  • Codebase Research

    NoobyGains/godmode

    A skill your agent uses when building ANY feature within an existing project - search the current codebase for existing patterns, conventions, similar implementations, and established approaches…

    107 GitHub stars~3.2k tokensUpdated 7 mo ago
    Auto-check: notes
  • Completion Gate

    NoobyGains/godmode

    A skill your agent uses when about to declare work done, fixed, or passing, before committing or opening PRs - demands executing verification commands and reading their output before making any…

    107 GitHub stars~1.6k tokensUpdated 7 mo ago
    Auto-check passed
  • Comprehension Check

    NoobyGains/godmode

    A skill your agent uses when implementing any substantial feature, multi-file modification, or architectural change - produces a plain-language walkthrough of every alteration so the developer can…

    107 GitHub stars~1.5k tokensUpdated 7 mo ago
    Auto-check passed
  • Delegated Execution

    NoobyGains/godmode

    A skill your agent uses when executing implementation plans with independent tasks in the current session

    107 GitHub stars~2.4k tokensUpdated 7 mo ago
    Auto-check passed

Works with

Categories

Questions about System Design

What does System Design do?

A skill your agent uses when making technology or structural decisions - selecting databases, APIs, auth strategies, caching layers, file organization, or weighing monolith against services. System Design is an agent skill from NoobyGains/godmode.

When should I use System Design?

System Design fits situations like: making technology; structural decisions - selecting databases; auth strategies; file organization.

How do I install System Design in Claude Code?

Run `npx skills add NoobyGains/godmode --skill system-design -a claude-code`. Or copy the skill folder (skills/system-design in NoobyGains/godmode) into .claude/skills/system-design in your project. Claude Code loads it when a task matches its description.

How do I install System Design in Codex?

Run `npx skills add NoobyGains/godmode --skill system-design -a codex`. Or copy the skill folder (skills/system-design in NoobyGains/godmode) into .agents/skills/system-design in your project. Codex loads it when a task matches its description.

Can I use System Design in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add NoobyGains/godmode --skill system-design -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/system-design, .gemini/skills/system-design, .github/skills/system-design and .opencode/skills/system-design in your project.

What does System Design need to run?

SKILL.md names no scripts, command-line tools or credentials: System Design is instructions for the agent only.

Does System Design access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is System Design safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does System Design use?

System Design is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does System Design use?

About 2.2k tokens (SKILL.md is roughly 8.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to System Design?

Skills that share tags, products or a category with System Design: Stripe Projects (fossasia/eventyay, 1.7k stars), Veloxdb Scalable Performance (veloxbase/veloxdb, 646 stars), Database Domain Specialist (modu-ai/moai-adk, 1.2k stars) and Database Patterns (majiayu000/spellbook, 286 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains System Design?

NoobyGains (a GitHub user) maintains it in NoobyGains/godmode, which has 107 GitHub stars. The repository holds 34 skills in this directory. The repository was last updated on March 9, 2026.

Source: NoobyGains/godmode on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.