Diagram Generation
Designdiagram-generationDiagram Generation is an Agent Skill for design published in the comet-ml/opik repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.
Generate self-contained HTML architecture diagrams. Use when creating visual diagrams for PRs, task plans, or architectural explanations.
QUICK START
How to use this skill
Bring this guide into your coding agent with a prompt tailored to the tool you use.
- Open your project in Codex.
- Copy and paste the prompt below.
- Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/comet-ml/opik/blob/HEAD/.agents/skills/diagram-generation/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/diagram-generation, but wait for my approval before writing files or running scripts.
Copying this prompt does not install or run the skill. Review third-party files before use.
Diagram Generation
Generate self-contained HTML diagrams that visualize code changes, data flows, and architecture decisions.
When to Use
- Visualizing PR changes for code review
- Explaining architectural decisions
- Documenting data/request flows
- Illustrating before/after comparisons
Output
- Self-contained HTML file at
{MAIN_REPO_ROOT}/diagrams/opik-{TICKET_NUMBER}-diagram.html— always resolved against the main repo root (viagit rev-parse --git-common-dir), even when the session runs inside a worktree, so the file outlives the worktree - Includes "Copy as image" button for sharing in Slack, Jira, PR descriptions
- Dark GitHub theme, semantic color coding, responsive layout
How to Generate
Follow the style guide in style-guide.md and use the HTML template in template.md.
Required Sections (pick what applies)
- Request / Data Flow — how data moves through layers
- Why This Approach — problem vs solution comparison
- Files Changed by Layer — grid of affected files grouped by component
- Key Design Decisions — numbered guards, trade-offs, or constraints
Section Selection
- Bug fix: Focus on before/after flow, root cause, safety guards
- New feature: Focus on data flow, architecture, files changed
- Refactor: Focus on before/after architecture, files changed
- Cross-component: Show all layers with connecting flows
Reference Files
- style-guide.md — Semantic colors, box themes, section labels, flow patterns, architecture trees
- template.md — Base HTML structure, copy-as-image script, section recipes
Common Gotchas
- SRI hash on CDN scripts: The html2canvas
<script>tag must includeintegrityandcrossoriginattributes — see template.md for the current hash - Absolute paths for Playwright screenshots: Playwright saves relative to its own CWD, not the repo root — always use absolute paths when calling
browser_take_screenshot - Max 4 sections: More than 4 sections makes diagrams too tall for screenshots and hard to scan visually
- No raw diff content: Diagrams show high-level summaries (component names, file names, flow descriptions) — never embed verbatim diff hunks or Jira comments
toBlobcan return null: The CanvastoBlobcall in the copy-as-image script needs a null check — see template.md