design-a-production-systemlisted
Install: claude install-skill protosphinx/sphinxstack
# design-a-production-system
Produce a design that another engineer can challenge, implement, and operate. Do not
start with vendor logos. Start with the work the system must do, the qualities it must
preserve, and the failures it must survive.
## When to use
Use this skill when a prototype is becoming a supported product, a new service will
carry real traffic, or a change crosses several components. It is especially useful
before committing to storage, queues, service boundaries, or third-party dependencies.
Do not use it to decorate a small, reversible feature with unnecessary architecture.
If one process and one database meet the stated needs, record that as the design.
## Preconditions
- Name the users, the critical user journey, and the person who can approve the design.
- Gather known traffic, data, privacy, latency, availability, cost, and recovery needs.
- Separate observed facts from estimates. Put a date and owner beside every estimate.
- Identify constraints that cannot be changed in this project, including existing systems.
## Procedure
1. Write the critical journey as a short sequence from user action to visible result.
2. Rank three to five quality attributes such as correctness, availability, latency,
recoverability, security, cost, and operability. State a measurable target where possible.
3. Draw the smallest system diagram that shows clients, processes, data stores, external
services, trust boundaries, and the direction of important data flows.