uml-and-software-architecture-visualization

作者: openai

設計、評論、閱讀、撰寫、渲染及實作 UML 及類似 UML 的軟體圖表。當使用者提及 UML、序列圖、類別圖……時使用。

npx skills add https://github.com/openai/plugins --skill uml-and-software-architecture-visualization

UML and Software Architecture Visualization

Overview

Use this skill when the visualization is about system structure, behavior, process, state, data models, dependencies, architecture, or interactions rather than numeric charting alone. The job is to choose the clearest notation, source format, renderer, and interaction model for the audience.

Default assumption: use formal UML when notation precision, methodology alignment, or model interchange matters. Use a UML-like diagram such as C4, ERD, BPMN, flowchart, swimlane, dependency graph, or architecture map when that communicates the user's actual question with less ceremony.

When the main challenge is automatic placement, crossing reduction, routing style, overlap removal, or layout stability rather than notation selection, route through ../node-link-and-diagram-layout/SKILL.md before locking in a renderer.

For browser or app diagrams, use ../../references/foundations/mobile-first-responsive-visualization.md so mobile portrait, optional landscape, touch, keyboard, search, and main-diagram visibility are planned before implementation.

For architecture consoles, schema explorers, state-machine inspectors, dependency maps, or other dense repeated-use diagram products, also use ../../references/foundations/operational-visualization-workspaces.md so the shell, outline, inspector, command bar, mobile panels, URL state, and pan/zoom behavior are designed as part of the diagram.

Core Workflow

  1. Identify the modeling job:
    • static structure, runtime interaction, workflow, lifecycle state, deployment topology, dependency graph, database schema, architecture context, or implementation detail
  2. Identify the audience:
    • business stakeholder, analyst, product owner, architect, developer, operator, auditor, or onboarding reader
  3. Choose formal UML or a UML-like alternative:
    • formal UML for standard semantics, XMI, UMLDI, or tooling interchange
    • C4 for layered software architecture communication
    • ERD or DBML for relational schemas and data model documentation
    • BPMN or swimlane activity diagrams for business processes and handoffs
    • flowcharts or state machines for control flow and lifecycle logic
    • network or dependency diagrams for topology, coupling, and impact analysis
  4. Select the diagram family and scope:
    • one primary question per diagram
    • one abstraction level per view unless the user explicitly needs a bridge diagram
    • source IDs, names, stereotypes, technologies, and relationship labels preserved when available
  5. Choose the source or interchange format:
    • XMI/UMLDI for formal model exchange
    • PlantUML, Mermaid, DOT, D2, Structurizr DSL, DBML, or BPMN XML for source-backed documentation and CI
    • JSON graph models when building a product renderer or interactive editor
  6. Choose the layout strategy when automatic arrangement matters:
    • route to ../node-link-and-diagram-layout/SKILL.md for layered, tree, force, radial, planarization, routing, overlap, and stability decisions
    • preserve source order, port order, and grouping constraints when they are semantically meaningful
  7. Choose the renderer or editor stack:
    • static image generation, documentation embed, notebook/script, web component, interactive explorer, or editable diagramming product
  8. Define the normalized model contract before rendering:
    • nodes, edges, compartments, ports, lanes, groups, hierarchy, labels, metadata, source IDs, layout hints, and validation diagnostics
  9. Plan export, accessibility, and tests:
    • SVG/PNG/PDF/HTML outputs, text alternatives, keyboard paths, deterministic layout fixtures, semantic validation, and visual regression where layout matters
  10. For multi-view architecture explorers, choose a calm default reading state:
  • show one dense subdiagram at a time, especially for schemas and state machines
  • keep side panels as compact controls and outlines, not nested cards
  • render all relationships quietly by default, then emphasize hover and selection paths
  • use a synced navigation tree so users can jump among topology entities, tables, states, and transitions without hunting inside the canvas
  • prefer scrollable intrinsic canvases over shrinking node text below readable size
  • on mobile, show a focused default subdiagram or outline plus detail path instead of stacking every control above the diagram
  • use mobile landscape for wide schema, sequence, or dependency inspection when it improves legibility, while preserving a useful portrait entry point
  • use compact command bars, synchronized outlines, central scrollable canvases, and inspector rails instead of equal-weight cards

Diagram Selection Defaults

  • Sequence diagram: message order across actors, services, or objects.
  • Communication diagram: collaboration topology when the object network matters as much as ordering.
  • Activity diagram or swimlane: workflow, branching, parallel work, ownership, and handoffs.
  • State machine: lifecycle rules, event-driven behavior, allowed transitions, and invalid states.
  • Class or object diagram: code-level structure, interfaces, relationships, snapshots, and domain object shape.
  • Component, package, deployment, or C4 diagram: architecture structure at the right abstraction level.
  • Use case diagram: actor goals and system boundary, usually early requirements or stakeholder alignment.
  • ERD, DBML, or database schema diagram: tables, relationships, keys, constraints, and schema ownership.
  • BPMN: business process execution semantics, events, gateways, pools, tasks, and process interchange.
  • Flowchart: lightweight control flow when UML activity or BPMN would be too formal.
  • Network or dependency diagram: topology, coupling, blast radius, graph traversal, and modularity.

Stack Defaults

  • Documentation-first static diagrams: prefer PlantUML or Mermaid, with SVG export when labels must stay crisp.
  • Formal UML exchange: use XMI plus UMLDI where diagram geometry must travel with model semantics; expect vendor-specific gaps.
  • Architecture model-as-code: prefer Structurizr DSL for C4; use C4-PlantUML or Mermaid C4 when docs integration is more important than a reusable model.
  • Database schema diagrams: prefer DBML, SQL-derived ERD tooling, Mermaid ER, or PlantUML IE/ER.
  • Diagram source rendering: use Mermaid, PlantUML, D2, Graphviz DOT, Structurizr DSL, DBML, BPMN XML, or Kroki when text DSL rendering is needed.
  • TypeScript or web rendering: use Mermaid for simple docs, React Flow for editable node-edge UIs, Cytoscape.js for graph analysis and larger networks, Sprotty for model-driven diagram tools, JointJS or GoJS for full-featured diagram editors, and ELK or Dagre for auto-layout.
  • Bespoke SVG/D3: use only when the diagram needs custom annotation, visual polish, or product-specific composition that diagram DSLs cannot express cleanly.
  • For dense topology, ERD, or state-machine explorers, route layout choice through ../node-link-and-diagram-layout/SKILL.md, then prefer ELK or Dagre when adding a dependency is acceptable; if staying bespoke, implement an explicit layered layout, stable ranks, non-overlap spacing, routed edges, and focus-state filtering instead of relying on hand-placed nodes.

Reference Guide

  • Read references/uml-diagram-types-and-selection.md for formal UML diagram types, alternatives, and selection heuristics.
  • Read ../node-link-and-diagram-layout/SKILL.md when the main issue is node placement, crossing reduction, routing style, or overlap management.
  • Read references/formats-and-interchange.md before reading, writing, converting, or round-tripping diagram formats.
  • Read references/typescript-web-rendering.md for browser, TypeScript, React, and interactive renderer choices.
  • Read references/interactive-diagram-patterns.md before designing interactive explorers or diagram editors.
  • Read references/quality-accessibility-export-testing.md for semantic checks, accessibility, export, and QA.

Output Expectations

  • State the recommended diagram type and one fallback, with the reason tied to audience and modeling job.
  • State whether the output is formal UML, UML-like, architecture model-as-code, graph visualization, or an editable diagram product.
  • Identify the source format, renderer, export path, and any required conversion or validation.
  • For generated diagrams, preserve source IDs and call out inferred relationships rather than presenting them as source truth.
  • For interactive diagrams, define selection, pan/zoom, search, filtering, drill-down, editing, layout recalculation, keyboard access, export, and source round-tripping.
  • For architecture views, keep abstraction levels consistent and label relationships with verbs or data/protocol semantics.
  • For class and schema diagrams, control detail level so attributes, methods, constraints, and relationships do not overwhelm the primary question.
  • For ERDs and database schemas, route foreign keys in dedicated gutters or ports; never let connectors run underneath table boxes or column text.
  • Include a testing and accessibility plan when the diagram is part of a product surface or durable documentation workflow.
  • For mobile diagrams, state portrait and optional landscape behavior, touch/pan/zoom ownership, search or step-through path, keyboard-open behavior, and how controls return users to the diagram.
  • For explorer-style diagram products, state the workspace shell, navigation tree, default selection, inspector synchronization, URL state, pan/zoom/reset controls, and mobile command-panel behavior.

Adjacent Skills

  • Use ../visualization-strategy-and-critique/SKILL.md when deciding whether a UML-like diagram is the right visual form.
  • Use ../node-link-and-diagram-layout/SKILL.md for graph-family classification, layout algorithms, routing, overlap removal, and stability.
  • Use ../typescript-data-visualization-engineering/SKILL.md for typed graph models, renderer contracts, and browser architecture.
  • Use ../react-and-nextjs-data-visualization/SKILL.md for React or Next.js integration.
  • Use ../d3-data-visualization/SKILL.md for bespoke SVG geometry, annotation, and polish.
  • Use ../accessibility-and-inclusive-visualization/SKILL.md for text alternatives, keyboard paths, contrast, and export accessibility.
  • Use ../testing-data-visualizations/SKILL.md for visual regression, interaction, and export test strategy.
  • Use ../reports-pdfs-and-slide-automation/SKILL.md for PDFs, decks, and document embedding.
  • Use ../../references/foundations/mobile-first-responsive-visualization.md for mobile diagram layout, touch, keyboard, and responsive QA.
  • Use ../../references/foundations/operational-visualization-workspaces.md for architecture consoles, schema explorers, state-machine inspectors, and repeated-use diagram workspaces.

Representative Prompts

  • "Choose the right UML or UML-like diagram for this system, process, or data model."
  • "Read this XMI and summarize the class model."
  • "Create a sequence diagram for OAuth login."
  • "Make an interactive React dependency diagram."
  • "Visualize my PostgreSQL schema."
  • "Turn this PostgreSQL schema into an ERD or DBML diagram."
  • "Which diagram should explain this checkout workflow?"
  • "Compare Mermaid, PlantUML, Graphviz, D2, and Structurizr for this documentation site."
  • "Make a state machine diagram and test invalid transitions."
  • "Design a C4 model for this application architecture."

來自 openai 的更多技能

user-context
openai
載入或管理資料分析插件的持久性來源路由偏好設定、入門邏輯、設定進度以及語義層註冊表。
official
notion-research-documentation
openai
研究Notion內容,並將其整合為結構化的簡報、報告或附有引用的比較分析。透過精準查詢搜尋並擷取Notion頁面,然後按主題組織發現,並附上內文來源引用及參考文獻章節。根據範圍與使用者目標,從四種輸出格式(快速簡報、研究摘要、比較分析、綜合報告)中選擇。使用內建範本建立與更新Notion頁面;直接連結來源,並在新資訊到來時追蹤變更。
official
rcsb-pdb-skill
openai
提交精簡的RCSB PDB請求以獲取核心元數據、Search API查詢及FASTA下載。當用戶需要簡潔的RCSB摘要時使用;保存原始JSON或…
official
pdf
openai
PDF 讀取、建立與驗證,支援視覺化渲染與程式化生成。使用 Poppler(pdftoppm)將 PDF 頁面渲染為 PNG,以便在交付前檢查版面、間距與排版。透過 reportlab 程式化生成 PDF,確保格式可靠;使用 pdfplumber 或 pypdf 提取文字與元資料。執行品質標準:無文字裁切、元素重疊、表格破損或渲染瑕疵;僅使用 ASCII 連字號,引用格式需具可讀性。使用...
official
test-coverage-improver
openai
Improve test coverage in the OpenAI Agents JS monorepo: run `pnpm test:coverage`, inspect coverage artifacts, identify low-coverage files and branches, propose…
official
playwright
openai
終端驅動的瀏覽器自動化,具備元素快照與互動式UI工作流程。透過playwright-cli包裝腳本運作(需npx),支援無頭模式與有頭模式以進行視覺化除錯。核心流程:開啟頁面、擷取快照以取得穩定元素參照、使用參照進行互動、在導航或DOM變更後重新擷取快照。包含表單填寫、點擊、輸入、多分頁管理、螢幕截圖/PDF擷取,以及流程除錯的軌跡記錄。元素參照(例如e3、e15)...
official
ukb-topmed-phewas-skill
openai
接受rsID、GRCh37或GRCh38輸入,解析為所需的GRCh38查詢,以獲取單一變異的簡潔UKB-TOPMed PheWAS摘要。當需要…時使用。
official
code-review-context
openai
模型可見上下文
official