{"id":"c0455725-3d92-4a11-8070-465dbd8af812","shortId":"dt8F6N","kind":"skill","title":"baoyu-diagram","tagline":"Create professional, dark-themed SVG diagrams of any type — architecture diagrams, flowcharts, sequence diagrams, structural diagrams, mind maps, timelines, illustrative/conceptual diagrams, and more. Use this skill whenever the user asks for any kind of technical or conceptual d","description":"# Diagram Generator\n\nCreate professional SVG diagrams across multiple diagram types. All output is a single self-contained `.svg` file with embedded styles and fonts.\n\n## Supported Diagram Types\n\n| Type | When to Use | Key Characteristics |\n|------|-------------|-------------------|\n| **Architecture** | System components & relationships | Grouped boxes, connection arrows, region boundaries |\n| **Flowchart** | Decision logic, process steps | Diamond decisions, rounded step boxes, directional flow |\n| **Sequence** | Time-ordered interactions between actors | Vertical lifelines, horizontal messages, activation bars |\n| **Structural** | Class diagrams, ER diagrams, org charts | Compartmented boxes, typed relationships (inheritance, composition) |\n| **Mind Map** | Brainstorming, topic exploration | Central node, radiating branches, organic layout |\n| **Timeline** | Chronological events | Horizontal/vertical axis, event markers, period spans |\n| **Illustrative** | Conceptual explanations, comparisons | Free-form layout, icons, annotations, visual metaphors |\n| **State Machine** | State transitions, lifecycle | Rounded state nodes, labeled transitions, start/end markers |\n| **Data Flow** | Data transformation pipelines | Process bubbles, data stores, external entities |\n\n## Design System\n\n### Color Palette\n\nSemantic colors for component categories:\n\n| Category | Fill (rgba) | Stroke | Use For |\n|----------|-------------|--------|---------|\n| Primary | `rgba(8, 51, 68, 0.4)` | `#22d3ee` (cyan) | Frontend, user-facing, inputs |\n| Secondary | `rgba(6, 78, 59, 0.4)` | `#34d399` (emerald) | Backend, services, processing |\n| Tertiary | `rgba(76, 29, 149, 0.4)` | `#a78bfa` (violet) | Database, storage, persistence |\n| Accent | `rgba(120, 53, 15, 0.3)` | `#fbbf24` (amber) | Cloud, infrastructure, regions |\n| Alert | `rgba(136, 19, 55, 0.4)` | `#fb7185` (rose) | Security, errors, warnings |\n| Connector | `rgba(251, 146, 60, 0.3)` | `#fb923c` (orange) | Buses, queues, middleware |\n| Neutral | `rgba(30, 41, 59, 0.5)` | `#94a3b8` (slate) | External, generic, unknown |\n| Highlight | `rgba(59, 130, 246, 0.3)` | `#60a5fa` (blue) | Active state, focus, current step |\n\nFor flowcharts and sequence diagrams, assign colors by role (actor, decision, process) rather than by technology.\n\n### Typography\n\nUse embedded SVG `@font-face` or system monospace fallback:\n\n```svg\n<style>\n  @import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&amp;display=swap');\n  text { font-family: 'JetBrains Mono', 'SF Mono', 'Cascadia Code', monospace; }\n</style>\n```\n\nFont sizes by role:\n- **Title:** 16px, weight 700\n- **Component name:** 11-12px, weight 600\n- **Sublabel / description:** 9px, weight 400, color `#94a3b8`\n- **Annotation / note:** 8px, weight 400\n- **Tiny label (on arrows):** 7-8px\n\n### Core Visual Elements\n\n**Background:** `#0f172a` (slate-900) with subtle grid:\n```svg\n<defs>\n  <pattern id=\"grid\" width=\"40\" height=\"40\" patternUnits=\"userSpaceOnUse\">\n    <path d=\"M 40 0 L 0 0 0 40\" fill=\"none\" stroke=\"#1e293b\" stroke-width=\"0.5\"/>\n  </pattern>\n</defs>\n<rect width=\"100%\" height=\"100%\" fill=\"#0f172a\"/>\n<rect width=\"100%\" height=\"100%\" fill=\"url(#grid)\"/>\n```\n\n**Arrowhead marker (standard):**\n```svg\n<marker id=\"arrow\" markerWidth=\"10\" markerHeight=\"7\" refX=\"9\" refY=\"3.5\" orient=\"auto\">\n  <polygon points=\"0 0, 10 3.5, 0 7\" fill=\"#64748b\"/>\n</marker>\n```\n\n**Arrowhead marker (colored) — create per-color as needed:**\n```svg\n<marker id=\"arrow-cyan\" markerWidth=\"10\" markerHeight=\"7\" refX=\"9\" refY=\"3.5\" orient=\"auto\">\n  <polygon points=\"0 0, 10 3.5, 0 7\" fill=\"#22d3ee\"/>\n</marker>\n```\n\n**Open arrowhead (for async/return messages):**\n```svg\n<marker id=\"arrow-open\" markerWidth=\"10\" markerHeight=\"7\" refX=\"9\" refY=\"3.5\" orient=\"auto\">\n  <polyline points=\"0 0, 10 3.5, 0 7\" fill=\"none\" stroke=\"#64748b\" stroke-width=\"1.5\"/>\n</marker>\n```\n\n### SVG Structure & Layering\n\nDraw elements in this order to get correct z-ordering (SVG paints back-to-front):\n\n1. Background fill + grid pattern\n2. Region/group boundaries (dashed outlines)\n3. Connection arrows and lines\n4. Opaque masking rects (same position as component boxes, `fill=\"#0f172a\"`)\n5. Component boxes (semi-transparent fill + stroke)\n6. Text labels\n7. Legend (bottom-right or bottom area, outside all boundaries)\n8. Title block (top-left)\n\nThe opaque masking rect trick is essential — semi-transparent component fills will show arrows underneath without it:\n```svg\n<!-- Mask layer: opaque background to hide arrows -->\n<rect x=\"100\" y=\"100\" width=\"160\" height=\"60\" rx=\"6\" fill=\"#0f172a\"/>\n<!-- Visual layer: styled component -->\n<rect x=\"100\" y=\"100\" width=\"160\" height=\"60\" rx=\"6\" fill=\"rgba(8,51,68,0.4)\" stroke=\"#22d3ee\" stroke-width=\"1.5\"/>\n<text x=\"180\" y=\"125\" fill=\"white\" font-size=\"11\" font-weight=\"600\" text-anchor=\"middle\">API Gateway</text>\n<text x=\"180\" y=\"141\" fill=\"#94a3b8\" font-size=\"9\" text-anchor=\"middle\">Kong / Nginx</text>\n```\n\n### Spacing Rules\n\nThese prevent overlapping — follow them strictly:\n\n- **Component box height:** 50-70px (standard), 80-120px (large/complex)\n- **Minimum gap between components:** 40px vertical, 30px horizontal\n- **Arrow label clearance:** 10px from any box edge\n- **Region boundary padding:** 20px inside edges around contained components\n- **Legend placement:** At least 20px below the lowest diagram element\n- **Title block:** 20px from top-left, outside diagram content area\n- **viewBox:** Always extend to fit all content + 30px padding on all sides\n\n### Component Patterns\n\n**Standard box (service/process):**\n```svg\n<rect x=\"X\" y=\"Y\" width=\"160\" height=\"60\" rx=\"6\" fill=\"#0f172a\"/>\n<rect x=\"X\" y=\"Y\" width=\"160\" height=\"60\" rx=\"6\" fill=\"FILL\" stroke=\"STROKE\" stroke-width=\"1.5\"/>\n<text x=\"CX\" y=\"Y+24\" fill=\"white\" font-size=\"11\" font-weight=\"600\" text-anchor=\"middle\">Name</text>\n<text x=\"CX\" y=\"Y+40\" fill=\"#94a3b8\" font-size=\"9\" text-anchor=\"middle\">description</text>\n```\n\n**Decision diamond (flowchart):**\n```svg\n<g transform=\"translate(CX, CY)\">\n  <polygon points=\"0,-35 50,0 0,35 -50,0\" fill=\"#0f172a\"/>\n  <polygon points=\"0,-35 50,0 0,35 -50,0\" fill=\"rgba(120,53,15,0.3)\" stroke=\"#fbbf24\" stroke-width=\"1.5\"/>\n  <text y=\"4\" fill=\"white\" font-size=\"10\" font-weight=\"600\" text-anchor=\"middle\">Condition?</text>\n</g>\n```\n\n**Database cylinder:**\n```svg\n<g transform=\"translate(X, Y)\">\n  <rect x=\"0\" y=\"10\" width=\"120\" height=\"50\" rx=\"2\" fill=\"#0f172a\"/>\n  <ellipse cx=\"60\" cy=\"10\" rx=\"60\" ry=\"12\" fill=\"#0f172a\"/>\n  <ellipse cx=\"60\" cy=\"60\" rx=\"60\" ry=\"12\" fill=\"#0f172a\"/>\n  <rect x=\"0\" y=\"10\" width=\"120\" height=\"50\" fill=\"rgba(76,29,149,0.4)\"/>\n  <ellipse cx=\"60\" cy=\"10\" rx=\"60\" ry=\"12\" fill=\"rgba(76,29,149,0.4)\" stroke=\"#a78bfa\" stroke-width=\"1.5\"/>\n  <ellipse cx=\"60\" cy=\"60\" rx=\"60\" ry=\"12\" fill=\"rgba(76,29,149,0.4)\" stroke=\"#a78bfa\" stroke-width=\"1.5\"/>\n  <line x1=\"0\" y1=\"10\" x2=\"0\" y2=\"60\" stroke=\"#a78bfa\" stroke-width=\"1.5\"/>\n  <line x1=\"120\" y1=\"10\" x2=\"120\" y2=\"60\" stroke=\"#a78bfa\" stroke-width=\"1.5\"/>\n  <text x=\"60\" y=\"40\" fill=\"white\" font-size=\"11\" font-weight=\"600\" text-anchor=\"middle\">PostgreSQL</text>\n</g>\n```\n\n**Region boundary:**\n```svg\n<rect x=\"X\" y=\"Y\" width=\"W\" height=\"H\" rx=\"12\" fill=\"none\" stroke=\"#fbbf24\" stroke-width=\"1\" stroke-dasharray=\"8,4\"/>\n<text x=\"X+12\" y=\"Y+16\" fill=\"#fbbf24\" font-size=\"9\" font-weight=\"600\">AWS us-east-1</text>\n```\n\n**Security group:**\n```svg\n<rect x=\"X\" y=\"Y\" width=\"W\" height=\"H\" rx=\"8\" fill=\"none\" stroke=\"#fb7185\" stroke-width=\"1\" stroke-dasharray=\"4,4\"/>\n<text x=\"X+10\" y=\"Y+14\" fill=\"#fb7185\" font-size=\"8\" font-weight=\"500\">VPC / Security Group</text>\n```\n\n## Type-Specific Layout Guidance\n\nDetermine this SKILL.md file's directory path as `{baseDir}`. Read the reference file for the specific diagram type before starting layout. Reference files are located at `{baseDir}/references/` and contain detailed layout algorithms and examples.\n\n### Architecture Diagrams\n→ Read `{baseDir}/references/architecture.md`\n\nKey points: left-to-right or top-to-bottom data flow. Group related services in region boundaries. Use buses/connectors between layers. Place databases at the bottom or right.\n\n### Flowcharts\n→ Read `{baseDir}/references/flowchart.md`\n\nKey points: top-to-bottom primary flow. Diamonds for decisions with Yes/No labels on exit arrows. Rounded rectangles for start/end. Use the Highlight color for the happy path.\n\n### Sequence Diagrams\n→ Read `{baseDir}/references/sequence.md`\n\nKey points: actors as boxes at top, vertical dashed lifelines, horizontal arrows for messages (solid=sync, dashed=return). Time flows downward. Activation bars show processing. Number messages if complex.\n\n### Structural Diagrams\n→ Read `{baseDir}/references/structural.md`\n\nKey points: compartmented boxes (name / attributes / methods for class diagrams). Relationship lines: solid with filled diamond=composition, solid with empty diamond=aggregation, dashed arrow=dependency, solid triangle=inheritance.\n\n### Mind Maps\nFree-form radiating layout from a central concept. Use organic curves (`<path>` with cubic beziers) for branches. Vary branch colors using the palette. Larger font for central node, decreasing as you go outward.\n\n### Timelines\nHorizontal or vertical axis line. Event markers as circles or diamonds on the axis. Description text offset to alternating sides to avoid overlap. Use color to categorize event types.\n\n### State Machines\nRounded-rect states with double-border for composite states. Filled circle for initial state, bullseye for final state. Curved arrows for self-transitions. Label all transitions with `event [guard] / action` format.\n\n## Output Rules\n\n1. Output a **single `.svg` file** — no external dependencies except the Google Fonts import\n2. Set `viewBox` to fit all content with 30px padding; do NOT set fixed `width`/`height` attributes (let the SVG scale responsively)\n3. Include `xmlns=\"http://www.w3.org/2000/svg\"` on the root `<svg>` element\n4. Put all `<style>`, `<defs>`, markers, and patterns at the top of the SVG\n5. Use `text-anchor=\"middle\"` for centered labels; ensure text doesn't overflow boxes\n6. **Chinese text support:** When labels contain Chinese characters, use `font-family: 'JetBrains Mono', 'Noto Sans SC', 'PingFang SC', sans-serif'` and increase box widths — CJK characters are wider\n7. **Save location:** If the input is a file, save to `{inputFileDir}/diagram/`. Otherwise save to `{projectDir}/diagram/{topic-slug}/`. Create the directory if it doesn't exist\n\n## Script\n\nDetermine this SKILL.md file's directory path as `{baseDir}`. Script path: `{baseDir}/scripts/main.ts`.\n\nResolve `${BUN_X}` runtime: if `bun` installed → `bun`; if `npx` available → `npx -y bun`; else suggest installing bun.\n\n### SVG → @2x PNG\n\nAfter saving the SVG, convert it to a @2x PNG:\n\n```bash\n${BUN_X} {baseDir}/scripts/main.ts <svg-path> [options]\n```\n\nOptions:\n- `-s, --scale <n>` — Scale factor (default: 2)\n- `-o, --output <path>` — Custom output path (default: `<input>@2x.png`)\n- `--json` — JSON output\n\n## Process\n\n1. Identify the diagram type from the user's request\n2. Read the relevant reference file if one exists for that type\n3. Plan the layout: list all components, determine grouping and flow direction, calculate positions\n4. Write the SVG following the layering order above\n5. Verify spacing rules — no overlaps, legends outside boundaries, viewBox large enough\n6. Save the SVG file\n7. Run `${BUN_X} {baseDir}/scripts/main.ts <svg-path>` to generate @2x PNG\n8. Present both files to the user","tags":["baoyu","diagram","skills","jimliu","agent-skills","claude-skills","codex-skills","openclaw-skills"],"capabilities":["skill","source-jimliu","skill-baoyu-diagram","topic-agent-skills","topic-claude-skills","topic-codex-skills","topic-openclaw-skills"],"categories":["baoyu-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/JimLiu/baoyu-skills/baoyu-diagram","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add JimLiu/baoyu-skills","source_repo":"https://github.com/JimLiu/baoyu-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 16958 github stars · SKILL.md body (11,490 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-03T00:52:27.146Z","embedding":null,"createdAt":"2026-04-18T21:53:28.789Z","updatedAt":"2026-05-03T00:52:27.146Z","lastSeenAt":"2026-05-03T00:52:27.146Z","tsv":"'-12':326 '-120':493 '-70':489 '-8':347 '-900':355 '/2000/svg':904 '/references':617 '/references/architecture.md':629 '/references/flowchart.md':663 '/references/sequence.md':697 '/references/structural.md':731 '0.3':235,257,279 '0.4':200,213,224,246 '0.5':268 '0f172a':353,425 '1':400,578,863 '10px':507 '11':325 '120':232 '130':277 '136':243 '146':255 '149':223 '15':234 '16px':320 '19':244 '2':405,877 '20px':515,525,533 '22d3ee':201 '246':278 '251':254 '29':222 '3':410,899 '30':265 '30px':502,549,885 '34d399':214 '4':415,909 '400':334,341 '40px':500 '41':266 '5':426 '50':488 '51':198 '53':233 '55':245 '59':212,267,276 '6':210,434 '60':256 '600':329 '60a5fa':280 '68':199 '7':346,437 '700':322 '76':221 '78':211 '8':197,448 '80':492 '8px':339 '94a3b8':269,336 '9px':332 'a78bfa':225 'accent':230 'across':49 'action':859 'activ':110,282,719 'actor':105,296,700 'aggreg':753 'alert':241 'algorithm':622 'altern':814 'alway':543 'amber':237 'annot':154,337 'api':473 'architectur':14,77,625 'area':444,541 'around':518 'arrow':84,345,412,468,504,680,709,755,848 'arrowhead':360,364,375 'ask':34 'assign':292 'async/return':377 'attribut':737,893 'avoid':817 'aw':574 'axi':140,799,809 'back':397 'back-to-front':396 'backend':216 'background':352,401 'baoyu':2 'baoyu-diagram':1 'bar':111,720 'basedir':598,616,628,662,696,730 'bezier':776 'block':450,532 'blue':281 'border':834 'bottom':440,443,640,657,669 'bottom-right':439 'boundari':86,407,447,513,572,648 'box':82,96,120,423,428,486,510,557,702,735 'brainstorm':127 'branch':133,778,780 'bubbl':175 'bullsey':843 'buse':260 'buses/connectors':650 'categor':822 'categori':188,189 'central':130,769,788 'characterist':76 'chart':118 'chronolog':137 'circl':804,839 'class':113,740 'clearanc':506 'cloud':238 'color':182,185,293,335,366,370,688,781,820 'comparison':148 'compart':119,734 'complex':726 'compon':79,187,323,422,427,464,485,499,520,554 'composit':124,748,836 'concept':770 'conceptu':41,146 'condit':566 'connect':83,411 'connector':252 'contain':60,519,619 'content':540,548,883 'core':349 'correct':390 'creat':4,45,367 'cubic':775 'current':285 'curv':773,847 'cyan':202 'cylind':568 'd':42 'dark':7 'dark-them':6 'dash':408,706,714,754 'data':169,171,176,641 'databas':227,567,654 'decis':88,93,297,562,674 'decreas':790 'depend':756,871 'descript':331,561,810 'design':180 'detail':620 'determin':590 'diagram':3,10,15,18,20,25,43,48,51,69,114,116,291,529,539,606,626,694,728,741 'diamond':92,563,672,747,752,806 'direct':97 'directori':595 'doubl':833 'double-bord':832 'downward':718 'draw':383 'east':577 'edg':511,517 'element':351,384,530,908 'embed':64,305 'emerald':215 'empti':751 'entiti':179 'er':115 'error':250 'essenti':460 'event':138,141,801,823,857 'exampl':624 'except':872 'exit':679 'explan':147 'explor':129 'extend':544 'extern':178,271,870 'face':206,309 'fallback':313 'fb7185':247 'fb923c':258 'fbbf24':236 'file':62,593,602,612,868 'fill':190,402,424,432,465,746,838 'final':845 'fit':546,881 'fix':890 'flow':98,170,642,671,717 'flowchart':16,87,288,564,660 'focus':284 'follow':482 'font':67,308,315,786,875 'font-fac':307 'form':151,764 'format':860 'free':150,763 'free-form':149,762 'front':399 'frontend':203 'gap':497 'gateway':474 'generat':44 'generic':272 'get':389 'go':793 'googl':874 'grid':358,403 'group':81,580,584,643 'guard':858 'guidanc':589 'happi':691 'height':487,892 'highlight':274,687 'horizont':108,503,708,796 'horizontal/vertical':139 'icon':153 'illustr':145 'illustrative/conceptual':24 'import':876 'includ':900 'infrastructur':239 'inherit':123,759 'initi':841 'input':207 'insid':516 'interact':103 'key':75,630,664,698,732 'kind':37 'kong':475 'label':165,343,436,505,677,853 'large/complex':495 'larger':785 'layer':382,652 'layout':135,152,588,610,621,766 'least':524 'left':453,537,633 'left-to-right':632 'legend':438,521 'let':894 'lifecycl':161 'lifelin':107,707 'line':414,743,800 'locat':614 'logic':89 'lowest':528 'machin':158,826 'map':22,126,761 'marker':142,168,361,365,802 'mask':417,456 'messag':109,378,711,724 'metaphor':156 'method':738 'middlewar':262 'mind':21,125,760 'minimum':496 'monospac':312 'multipl':50 'name':324,560,736 'need':372 'neutral':263 'nginx':476 'node':131,164,789 'note':338 'number':723 'offset':812 'opaqu':416,455 'open':374 'orang':259 'order':102,387,393 'org':117 'organ':134,772 'outlin':409 'output':54,861,864 'outsid':445,538 'outward':794 'overlap':481,818 'pad':514,550,886 'paint':395 'palett':183,784 'path':596,692 'pattern':404,555 'per':369 'per-color':368 'period':143 'persist':229 'pipelin':173 'place':653 'placement':522 'point':631,665,699,733 'posit':420 'postgresql':570 'prevent':480 'primari':195,670 'process':90,174,218,298,722 'profession':5,46 'put':910 'px':327,348,490,494 'queue':261 'radiat':132,765 'rather':299 'read':599,627,661,695,729 'rect':418,457,829 'rectangl':682 'refer':601,611 'region':85,240,512,571,647 'region/group':406 'relat':644 'relationship':80,122,742 'respons':898 'return':715 'rgba':191,196,209,220,231,242,253,264,275 'right':441,635,659 'role':295,318 'root':907 'rose':248 'round':94,162,681,828 'rounded-rect':827 'rule':478,862 'scale':897 'secondari':208 'secur':249,579,583 'self':59,851 'self-contain':58 'self-transit':850 'semant':184 'semi':430,462 'semi-transpar':429,461 'sequenc':17,99,290,693 'servic':217,645 'service/process':558 'set':878,889 'show':467,721 'side':553,815 'singl':57,866 'size':316 'skill':30 'skill-baoyu-diagram' 'skill.md':592 'slate':270,354 'solid':712,744,749,757 'source-jimliu' 'space':477 'span':144 'specif':587,605 'standard':362,491,556 'start':609 'start/end':167,684 'state':157,159,163,283,825,830,837,842,846 'step':91,95,286 'storag':228 'store':177 'strict':484 'stroke':192,433 'structur':19,112,381,727 'style':65 'sublabel':330 'subtl':357 'support':68 'svg':9,47,61,306,314,359,363,373,379,380,394,472,559,565,569,573,581,867,896 'sync':713 'system':78,181,311 'technic':39 'technolog':302 'tertiari':219 'text':435,811 'theme':8 'time':101,716 'time-ord':100 'timelin':23,136,795 'tini':342 'titl':319,449,531 'top':452,536,638,667,704 'top-left':451,535 'top-to-bottom':637,666 'topic':128 'topic-agent-skills' 'topic-claude-skills' 'topic-codex-skills' 'topic-openclaw-skills' 'transform':172 'transit':160,166,852,855 'transpar':431,463 'triangl':758 'trick':458 'type':13,52,70,71,121,586,607,824 'type-specif':585 'typographi':303 'underneath':469 'unknown':273 'us':576 'us-east':575 'use':28,74,193,304,649,685,771,782,819 'user':33,205 'user-fac':204 'vari':779 'vertic':106,501,705,798 'viewbox':542,879 'violet':226 'visual':155,350 'vpc':582 'warn':251 'weight':321,328,333,340 'whenev':31 'width':891 'without':470 'www.w3.org':903 'www.w3.org/2000/svg':902 'xmlns':901 'yes/no':676 'z':392 'z-order':391","prices":[{"id":"41c61868-494f-4576-bd67-cf9db673a566","listingId":"c0455725-3d92-4a11-8070-465dbd8af812","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"JimLiu","category":"baoyu-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:53:28.789Z"}],"sources":[{"listingId":"c0455725-3d92-4a11-8070-465dbd8af812","source":"github","sourceId":"JimLiu/baoyu-skills/baoyu-diagram","sourceUrl":"https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-diagram","isPrimary":false,"firstSeenAt":"2026-04-18T21:53:28.789Z","lastSeenAt":"2026-05-03T00:52:27.146Z"}],"details":{"listingId":"c0455725-3d92-4a11-8070-465dbd8af812","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"JimLiu","slug":"baoyu-diagram","github":{"repo":"JimLiu/baoyu-skills","stars":16958,"topics":["agent-skills","claude-skills","codex-skills","openclaw-skills"],"license":null,"html_url":"https://github.com/JimLiu/baoyu-skills","pushed_at":"2026-04-25T20:03:31Z","description":null,"skill_md_sha":"9d1cb899f0c7fba66267dd74862c2d4b136dd302","skill_md_path":"skills/baoyu-diagram/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-diagram"},"layout":"multi","source":"github","category":"baoyu-skills","frontmatter":{"name":"baoyu-diagram","description":"Create professional, dark-themed SVG diagrams of any type — architecture diagrams, flowcharts, sequence diagrams, structural diagrams, mind maps, timelines, illustrative/conceptual diagrams, and more. Use this skill whenever the user asks for any kind of technical or conceptual diagram, visualization of a system, process flow, data flow, component relationship, network topology, decision tree, org chart, state machine, or any visual representation of structure/logic/process. Also trigger when the user says \"画个图\" \"画一个架构图\" \"diagram\" \"flowchart\" \"sequence diagram\" \"draw me a ...\" or uploads content and asks to visualize it. Output is always a standalone .svg file."},"skills_sh_url":"https://skills.sh/JimLiu/baoyu-skills/baoyu-diagram"},"updatedAt":"2026-05-03T00:52:27.146Z"}}