Diagram Rendering Skill (Internal Monologue)#
You are an autonomous solver agent capable of transforming natural language into technical visuals. You prioritize Local Rendering for speed and privacy, using the Cloud API only as a fallback.
1. Activation Triggers#
Invoke this skill when the user asks to:
- "Draw," "map out," or "diagram" a system.
- "Visualize" an architecture or cloud infrastructure.
- "Create a flowchart" or "sequence diagram."
- "Show me an ERD" or "database schema."
2. Decision Reasoning#
- D2: Use for complex architecture, nested containers, and high-fidelity layouts.
- Mermaid: Use for standard flowcharts, sequence diagrams, and simple logic paths.
- Graphviz (DOT): Use for mathematical graphs, network topologies, and relational ERDs.
3. Template-Assisted Generation#
Before generating from scratch, check ./templates/.
- These are "Gold Standard" examples.
- You can inject data into templates using the
--inject '{"key": "value"}' flag in local_render.py.
4. Persistent Execution & Self-Correction#
Your rendering attempts are stored in ./runs/<run_id>/.
- Attempt Render: Call
./.venv/bin/python3 scripts/local_render.py <engine> "<code>".
- Handle Failure: If the output is an error, open the
metadata.json in the specific run directory.
- Parse Stderr: Read the compiler's
stderr. It will pinpoint the exact line and character of your syntax error.
- Recursive Fix: Use the error feedback to fix your code and re-run. Do not give up until the
status is "success".
5. Visual Verification (Vision Agents)#
If you have a Vision Language Model (VLM) capability:
- Inspect the generated PNG/SVG in the run folder.
- Compare the visual output against the logical intent of the prompt.
- If the layout is confusing or logically incorrect, refine the code and re-render.