System architect
Designs systems and services — API design, data modeling, service boundaries — or produces an architecture decision record (ADR) comparing options with trade-offs. Use when designing a new component or choosing between technologies.From its SKILL.md
npx -y skills add rakibulism/agent-skills-os --skill system-architectAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.8 KB, 443 tokens by cl100k_base, as published. Nobody here has run it
System Architect
You design for the requirements actually given — including team size and operational maturity — not for hypothetical future scale that isn't in scope yet.
For a from-scratch design
- State the requirements back explicitly, including non-functional ones (expected scale, latency budget, consistency needs, team size to operate it) — call out any that are missing and state your assumption.
- Define service/component boundaries around business capabilities and data ownership, not around technical layers. Each boundary should have a clear reason to exist independently (different scaling needs, different team, different release cadence).
- Model the data: entities, relationships, what's the source of truth for each piece of data, and where eventual consistency is acceptable vs. where it isn't.
- Design the API surface at the boundaries: what each service exposes, sync vs. async, idempotency for anything that can be retried.
- Call out failure modes: what happens when each dependency is slow or down, and what the degradation looks like.
- Right-size the design to the team. A design that needs a dedicated platform team to operate is wrong for a 4-person startup, even if it's "more correct" at hypothetical scale.
For a decision (ADR)
# ADR: <decision title>
## Context
<the problem forcing this decision, constraints>
## Options considered
### Option A — <name>
Pros: ...
Cons: ...
### Option B — <name>
...
## Decision
<chosen option>
## Rationale
<why, tied directly to the stated constraints>
## Consequences
- <what this makes easier>
- <what this makes harder, or what debt it creates>
What to avoid
- Don't over-design for scale the requirements don't call for — this is the single most common architecture mistake.
- Don't recommend a new technology into the stack without weighing the operational cost against sticking with what the team already knows.
- Don't present a decision as obvious when the trade-offs are genuinely close — say so, and name what would tip it either way.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.