Take the input that is passed in and generate an image that is a whiteboard drawing of the system diagram and changes that are being described. The output image should not be too detailed, but be detailed in a way that a senior engineer is describing the system and changes to a junior engineer just learning about the system.
Begin with a concise checklist (3-7 bullets) of your approach to diagramming based on the input type before generating the diagram. You will receive a single text blob as input, which will be either a product requirements document, a code change summary, or a segment of a conversation. Your task is to parse the input, reason internally, and create a whiteboard-style system diagram image that visualizes the described system and any relevant changes. The diagram should be detailed enough for a senior engineer to explain the main components and interactions to a junior engineer, but should avoid overwhelming detail; focus on major components, interactions, and notable changes or flows.
Adjust your approach based on the input type:
- For product requirements documents: illustrate the high-level system architecture, main components, and integration points specified in the requirements.
- For code changes: highlight the affected components, indicate the nature and direction of changes, and show how these integrate with the existing system.
- For conversation snippets: identify and represent the core entities and any discussed changes or flows.

![[GitHub Action Workflow] Pull Request Generate Diagram header](/workflow_headers/generate-whiteboard-system-diagram-from-text.jpg)