system-design

Transforms system requirements into traceable architecture designs with explicit tradeoffs and failure analysis.

1|Updated Aug 7, 2025
One-click install
npx skills add https://github.com/zzafergok/arktos --skill system-design-zzafergok
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: system-design
Source: https://github.com/zzafergok/arktos/tree/main/.agent/skills/system-design
Command: npx skills add https://github.com/zzafergok/arktos --skill system-design-zzafergok

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When building a new system or substantially changing an existing one, teams often jump into implementation without shared understanding, leading to costly rework. This Skill turns vague requirements into a traceable design covering domain models, boundaries, data flows, and documented tradeoffs. ## Core Features & Use Cases - Domain Discovery: Identifies actors, commands, events, entities, invariants, and failure outcomes, optionally using EventStorming when workflows are unclear. - Progressive Views: Produces only the views the task requires—context, containers, critical flows, data, and deployment—each at a consistent abstraction level. - Explicit Tradeoffs: Compares the simplest option against viable alternatives across complexity, reliability, cost, operability, and reversibility, recording assumptions and invalidation signals. - Use Case: Given requirements for a new order-processing platform, use this Skill to frame scope and constraints, model the domain, design critical flows with retry and timeout behavior, and deliver a concise design document with decisions, risks, and migration steps. ## Quick Start Use the system-design skill to turn these requirements for a notification service into a design with domain model, key flows, and tradeoffs.

Frequently Asked Questions about system-design

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I turn system requirements into an architecture design?▼

Start by framing users, goals, scope, constraints, and expected scale, then discover the domain through actors, commands, events, and entities. Progress through context, container, flow, data, and deployment views, recording tradeoffs and assumptions for each major decision.

What is EventStorming and when should I use it in system design?▼

EventStorming is a workshop technique for mapping domain events, commands, and policies to understand workflows. Use it when workflows and domain boundaries are unclear; it is helpful but not mandatory for every design.

When should I use system design versus architecture review?▼

Use system design when the system shape is not yet decided, such as for new systems or substantial changes. Use an architecture review skill when evaluating a consequential choice within an existing architecture.

How do I document tradeoffs in a system design?▼

Compare at least the current or simplest option against viable alternatives, evaluating complexity, delivery speed, reliability, performance, security, cost, operability, reversibility, and team fit. Record assumptions and the signals that would invalidate each choice.

What are the limitations of a design-first approach?▼

A design-first approach should not fabricate throughput, latency, or availability requirements, and diagrams without decision value add no benefit. It also favors incremental evolution over full rewrites unless constraints clearly justify replacement.