Goal
Design a backend service with clear boundaries, contracts, data ownership, and failure handling.
When to Use
- A new backend capability is being introduced.
- Business logic needs a service-level design.
- An internal module or service is overloaded or unclear.
Instructions
- Define the service purpose, consumers, and owned responsibilities.
- Separate validation, authorization, orchestration, and persistence.
- Specify service inputs, outputs, and side effects.
- Identify background work, retries, and observability needs.
Constraints
- Do not blur service responsibilities with client concerns.
- Do not hide privileged work in thin request handlers.
- Keep interfaces explicit.
Output Format
- service summary
- responsibilities
- inputs and outputs
- operational notes
Examples
- "Design the backend service for invoice generation."
- "Refine this internal data-sync service boundary."