kyaulabs/prism/systems-design
- community
Checking that the SKILL.md file is still in the repository.
Use when designing a non-trivial change — a new module, a data model, a cross-cutting decision, or a system boundary. Decides ADR vs RFC, applies C4-lite notation, deep-modules heuristic, and interface-design checks.
Install
npx vskill@latest install kyaulabs/prism/systems-designSKILL.md
Decide: ADR, RFC, or neither?
| Signal | Artifact | |
|---|---|---|
| Hard-to-reverse or expensive-to-change decision | ADR (see adr skill) | |
| Forecloses other options, cross-cutting | ADR | |
| Large, still-being-explored design needing feedback | RFC (see packages/prism-core/docs/design.md) | |
| Routine implementation, naming, or refactor extraction | Neither — just commit + PR |
When in doubt, write an ADR. They are cheap and future readers thank you.
C4-lite notation
Three zoom levels. Sketch in the ADR/RFC; don't aim for completeness.
- Context — the system and its external actors/users. One box, arrows in/out.
- Container — major deployable/runnable units (the app, the DB, the CDN,
any worker). One box each, with the tech noted inside.
- Component — within a container, the key modules/classes and their
dependencies. Only draw the ones touched by the decision.
Use ASCII or Mermaid in the ADR. Keep diagrams legible in plain text.
Deep modules heuristic (Ousterhout)
A module's value is its interface relative to its implementation.
- Deep module: small interface, hides significant complexity. Good.
- Shallow module: interface as complex as the implementation. Bad — it
adds indirection without abstraction. Merge or deepen it.
When designing a new class or boundary, ask: is the interface materially smaller than the implementation? If not, redesign or merge.
Interface-design checklist
Before committing a new public interface (a class API, a backend function, a URL, a DB schema):
- [ ] Hides a decision that could change.
- [ ] Interface is the smallest expression of the capability.
- [ ] Does not leak internals (types, error shapes, ordering, state).
- [ ] Errors are part of the interface — documented, typed, narrow.
- [ ] One responsibility; if you describe it with "and", split it.
- [ ] Testable at the boundary if it touches the outside world (see the
tdd skill's boundary-mocking discipline and the active adapter's mocking guide, if one exists).
- [ ] Named using the project's ubiquitous language (see
CONTEXT.md).
Cross-refs
adrskill — format and status transitions.packages/prism-core/docs/design.md— RFC template and when a design doc
is required.
tddskill — boundary-interface and mocking discipline.domain-contextskill — readCONTEXT.mdbefore designing.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingpackages/prism-core/skills/systems-design/SKILL.md
Popularity
- 7-day trend score
- 5
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/kyaulabs/prism/systems-design)