---
name: legal-architecture
description: 生成专业的法律结构可视化图,输出为自包含 HTML 文件(内嵌 SVG,浅色主题,适合打印和嵌入文档)。适用场景:(1) 用户要求"画结构图""生成可视化""做流程图""法律图示"时;(2) 涉及诉讼推理结构(当事人→证据→事实→法律→判决);(3) 合同关系图(甲乙方权利义务、履约节点、违约责任);(4) 法规程序图(申请→审查→决定→救济);(5) 证据链图、请求权基础分析图、法律体系层级图。Use when the user asks for litigation flow diagrams, contract relationship diagrams, legal reasoning structure diagrams, evidence chain diagrams, or any legal visualization.
license: MIT
metadata:
version: "1.1"
author: JeeC (adapted from architecture-diagram by Cocoon AI)
---
# Legal Diagram Skill
Create professional legal structure diagrams as self-contained HTML files with inline SVG. Designed for court document analysis, contract review, legal knowledge management, and client presentations. Output is light-themed and print-ready.
## Design System
### Color Palette
Use these semantic colors for legal component types:
| Component Type | Fill (rgba) | Stroke | Use Case |
|---|---|---|---|
| 当事人/主体 (Party) | `rgba(219,234,254,0.9)` | `#2563eb` (blue-600) | 原告、被告、甲方、乙方、第三人 |
| 事实/行为 (Fact) | `rgba(241,245,249,0.9)` | `#475569` (slate-600) | 侵权行为、违约事实、案件经过 |
| 证据 (Evidence) | `rgba(254,243,199,0.9)` | `#b45309` (amber-700) | 书证、物证、证人证言、鉴定意见 |
| 法律规范 (Law) | `rgba(209,250,229,0.9)` | `#047857` (emerald-700) | 法条、司法解释、行政法规 |
| 程序节点 (Procedure) | `rgba(237,233,254,0.9)` | `#6d28d9` (violet-700) | 立案、开庭、举证、质证、裁定 |
| 裁判/结论 (Judgment) | `rgba(254,226,226,0.9)` | `#b91c1c` (red-700) | 判决主文、责任认定、风险结论 |
| 争议焦点 (Issue) | `rgba(255,237,213,0.9)` | `#c2410c` (orange-700) | 争议焦点、待查明事实 |
### Typography
Use Inter for all text — clean, professional, print-friendly:
```html
```
Font sizes: 12px for primary labels, 10px for secondary, 9px for annotations, 8px for tiny labels.
### Visual Elements
**Background:** `#f8fafc` with subtle light grid:
```svg
```
**Component boxes:** Rounded rectangles (`rx="6"`) with 1.5px stroke.
Always draw an opaque white background rect FIRST to mask arrows behind boxes:
```svg
```
**Arrows — standard flow:**
```svg
```
**Arrows — judgment emphasis (red):**
```svg
```
**Cross-layer or indirect logical connections:** Use dashed lines:
```svg
stroke-dasharray="4,3"
```
**Arrow z-order:** ALWAYS draw all arrows BEFORE component boxes in the SVG. SVG renders in document order, so arrows drawn first appear behind boxes drawn later.
### Layout Patterns
Choose the layout based on content type:
**1. 诉讼流程图 (Litigation Flow)** — top-to-bottom layered with group boxes
For: case analysis, judgment structure, evidence → fact → law → judgment chain.
**PREFERRED PATTERN — dashed group boxes + single vertical arrows:**
Each reasoning stage is enclosed in a dashed group box with a badge label straddling its top-left border. Stages connect via a single purely vertical arrow in the center (x=500 for a 1000-wide viewBox). No node-to-node arrows across stages — this avoids visual clutter and false logical implications.
```
┌─────────────────────────────────┐
│ [当事人] 原告 ●●● 被告 │ ← group box, dashed border
└─────────────────────────────────┘
↓ (single arrow at center x)
┌─────────────────────────────────┐
│ [争议焦点] 焦点一 焦点二 │
└─────────────────────────────────┘
↓
... etc through 证据 → 事实认定 → 法律适用 → 判决结果
```
Group box SVG pattern (badge label straddles top-left border):
```svg
争议焦点
```
Vertical gap between group boxes: 28–32px. Place one arrow per gap:
```svg
```
Within each group box, items are arranged horizontally (no intra-group arrows needed — spatial proximity implies relationship). Reserve arrows for cross-group logical flow only.
**2. 合同关系图 (Contract Relationship)** — hub-and-spoke or two-column
For: contract parties, rights/obligations flow, key clause mapping
```
甲方 ←→ 合同核心义务 ←→ 乙方
↓
履约条件/违约责任
```
**3. 法律体系图 (Legal Framework)** — tree or hierarchical
For: legal concepts, regulatory hierarchy, claim basis analysis (请求权基础)
```
上位法 → 下位法 → 实施细则/司法解释
```
### Spacing Rules
**CRITICAL:** Avoid element overlaps:
- Standard component height: 55-60px for single-line, 75-90px for multi-line
- Minimum vertical gap between rows: 38px
- Minimum horizontal gap between same-row items: 15px
- Use equal start/end margins: startX = (viewBoxWidth - totalRowWidth) / 2
**Row width calculation:**
```
totalRowWidth = N * boxWidth + (N-1) * gap
startX = (viewBoxWidth - totalRowWidth) / 2
```
### Legend Placement
Place legend BELOW all diagram content, at least 20px below the lowest element. Use a light rounded-rectangle background. Arrange legend items horizontally.
### Page Structure
1. **Header** — title (with colored status dot), subtitle (case number / date / court)
2. **Diagram card** — white card with border-shadow, contains SVG
3. **Info cards** — 3-column grid with metadata (parties, evidence summary, judgment key points)
4. **Footer** — case number and skill attribution
## Output Format
Always produce a single self-contained `.html` file:
- Embedded CSS only (Google Fonts link allowed)
- Inline SVG (no external images or scripts)
- Light background (`#f8fafc`) — suitable for printing and embedding in Word/PPT
- No JavaScript required
File should open and render correctly in any modern browser, and look professional when printed.