Source profileQuality 91/100

JimLiu/baoyu-skills/skills/baoyu-diagram/SKILL.md

baoyu-diagram

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 th

Source repository stars
24,555
Declared platforms
0
Static risk flags
3
Last source update
2026-07-04
Source checked
2026-08-04

Decision brief

What it does—and where it fits

Create professional SVG diagrams across multiple diagram types. All output is a single self-contained .svg file with embedded styles and fonts.

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/JimLiu/baoyu-skills --skill "skills/baoyu-diagram"
    Safe inspection promptEditorial

    Inspect the Agent Skill "baoyu-diagram" from https://github.com/JimLiu/baoyu-skills/blob/6b7a2e417500561a5ecdd0b168332f4142584617/skills/baoyu-diagram/SKILL.md at commit 6b7a2e417500561a5ecdd0b168332f4142584617. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Process

      1. Identify the diagram type from the user's request 2. Read the relevant reference file if one exists for that type 3. Plan the layout: list all components, determine grouping and flow direction, calculate positions 4. Write the SVG following the layering order above 5. Verify…

      Identify the diagram type from the user's requestRead the relevant reference file if one exists for that typePlan the layout: list all components, determine grouping and flow direction, calculate positions
    2. 02

      Supported Diagram Types

      Review the “Supported Diagram Types” section in the pinned source before continuing.

      Review and apply the “Supported Diagram Types” source section.
    3. 03

      Design System

      Semantic colors for component categories:

      Title: 16px, weight 700Component name: 11-12px, weight 600Sublabel / description: 9px, weight 400, color 94a3b8
    4. 04

      Color Palette

      Semantic colors for component categories:

      Semantic colors for component categories:For flowcharts and sequence diagrams, assign colors by role (actor, decision, process) rather than by technology.
    5. 05

      Typography

      Use embedded SVG @font-face or system monospace fallback:

      Title: 16px, weight 700Component name: 11-12px, weight 600Sublabel / description: 9px, weight 400, color 94a3b8

    Permission review

    Static risk signals and limitations

    Network access

    medium · line 45

    The documentation includes network, browsing, or remote request actions.

    @import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&display=swap');

    Reads files

    low · line 174

    The documentation asks the agent to read local files, directories, or repositories.

    Determine 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 ex

    Writes files

    medium · line 213

    The documentation asks the agent to create, modify, or delete local files.

    **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

    Reads files

    low · line 237

    The documentation asks the agent to read local files, directories, or repositories.

    Read the relevant reference file if one exists for that type

    Writes files

    medium · line 241

    The documentation asks the agent to create, modify, or delete local files.

    Save the SVG file

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score91/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars24,555SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    JimLiu/baoyu-skills
    Skill path
    skills/baoyu-diagram/SKILL.md
    Commit
    6b7a2e417500561a5ecdd0b168332f4142584617
    License
    MIT
    Collected
    2026-08-04
    Default branch
    main
    View the original SKILL.md

    Diagram Generator

    Create professional SVG diagrams across multiple diagram types. All output is a single self-contained .svg file with embedded styles and fonts.

    Supported Diagram Types

    TypeWhen to UseKey Characteristics
    ArchitectureSystem components & relationshipsGrouped boxes, connection arrows, region boundaries
    FlowchartDecision logic, process stepsDiamond decisions, rounded step boxes, directional flow
    SequenceTime-ordered interactions between actorsVertical lifelines, horizontal messages, activation bars
    StructuralClass diagrams, ER diagrams, org chartsCompartmented boxes, typed relationships (inheritance, composition)
    Mind MapBrainstorming, topic explorationCentral node, radiating branches, organic layout
    TimelineChronological eventsHorizontal/vertical axis, event markers, period spans
    IllustrativeConceptual explanations, comparisonsFree-form layout, icons, annotations, visual metaphors
    State MachineState transitions, lifecycleRounded state nodes, labeled transitions, start/end markers
    Data FlowData transformation pipelinesProcess bubbles, data stores, external entities

    Design System

    Color Palette

    Semantic colors for component categories:

    CategoryFill (rgba)StrokeUse For
    Primaryrgba(8, 51, 68, 0.4)#22d3ee (cyan)Frontend, user-facing, inputs
    Secondaryrgba(6, 78, 59, 0.4)#34d399 (emerald)Backend, services, processing
    Tertiaryrgba(76, 29, 149, 0.4)#a78bfa (violet)Database, storage, persistence
    Accentrgba(120, 53, 15, 0.3)#fbbf24 (amber)Cloud, infrastructure, regions
    Alertrgba(136, 19, 55, 0.4)#fb7185 (rose)Security, errors, warnings
    Connectorrgba(251, 146, 60, 0.3)#fb923c (orange)Buses, queues, middleware
    Neutralrgba(30, 41, 59, 0.5)#94a3b8 (slate)External, generic, unknown
    Highlightrgba(59, 130, 246, 0.3)#60a5fa (blue)Active state, focus, current step

    For flowcharts and sequence diagrams, assign colors by role (actor, decision, process) rather than by technology.

    Typography

    Use embedded SVG @font-face or system monospace fallback:

    <style>
      @import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700&amp;display=swap');
      text { font-family: 'JetBrains Mono', 'SF Mono', 'Cascadia Code', monospace; }
    </style>
    

    Font sizes by role:

    • Title: 16px, weight 700
    • Component name: 11-12px, weight 600
    • Sublabel / description: 9px, weight 400, color #94a3b8
    • Annotation / note: 8px, weight 400
    • Tiny label (on arrows): 7-8px

    Core Visual Elements

    Background: #0f172a (slate-900) with subtle grid:

    <defs>
      <pattern id="grid" width="40" height="40" patternUnits="userSpaceOnUse">
        <path d="M 40 0 L 0 0 0 40" fill="none" stroke="#1e293b" stroke-width="0.5"/>
      </pattern>
    </defs>
    <rect width="100%" height="100%" fill="#0f172a"/>
    <rect width="100%" height="100%" fill="url(#grid)"/>
    

    Arrowhead marker (standard):

    <marker id="arrow" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
      <polygon points="0 0, 10 3.5, 0 7" fill="#64748b"/>
    </marker>
    

    Arrowhead marker (colored) — create per-color as needed:

    <marker id="arrow-cyan" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
      <polygon points="0 0, 10 3.5, 0 7" fill="#22d3ee"/>
    </marker>
    

    Open arrowhead (for async/return messages):

    <marker id="arrow-open" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto">
      <polyline points="0 0, 10 3.5, 0 7" fill="none" stroke="#64748b" stroke-width="1.5"/>
    </marker>
    

    SVG Structure & Layering

    Draw elements in this order to get correct z-ordering (SVG paints back-to-front):

    1. Background fill + grid pattern
    2. Region/group boundaries (dashed outlines)
    3. Connection arrows and lines
    4. Opaque masking rects (same position as component boxes, fill="#0f172a")
    5. Component boxes (semi-transparent fill + stroke)
    6. Text labels
    7. Legend (bottom-right or bottom area, outside all boundaries)
    8. Title block (top-left)

    The opaque masking rect trick is essential — semi-transparent component fills will show arrows underneath without it:

    <!-- Mask layer: opaque background to hide arrows -->
    <rect x="100" y="100" width="160" height="60" rx="6" fill="#0f172a"/>
    <!-- Visual layer: styled component -->
    <rect x="100" y="100" width="160" height="60" rx="6" fill="rgba(8,51,68,0.4)" stroke="#22d3ee" stroke-width="1.5"/>
    <text x="180" y="125" fill="white" font-size="11" font-weight="600" text-anchor="middle">API Gateway</text>
    <text x="180" y="141" fill="#94a3b8" font-size="9" text-anchor="middle">Kong / Nginx</text>
    

    Spacing Rules

    These prevent overlapping — follow them strictly:

    • Component box height: 50-70px (standard), 80-120px (large/complex)
    • Minimum gap between components: 40px vertical, 30px horizontal
    • Arrow label clearance: 10px from any box edge
    • Region boundary padding: 20px inside edges around contained components
    • Legend placement: At least 20px below the lowest diagram element
    • Title block: 20px from top-left, outside diagram content area
    • viewBox: Always extend to fit all content + 30px padding on all sides

    Component Patterns

    Standard box (service/process):

    <rect x="X" y="Y" width="160" height="60" rx="6" fill="#0f172a"/>
    <rect x="X" y="Y" width="160" height="60" rx="6" fill="FILL" stroke="STROKE" stroke-width="1.5"/>
    <text x="CX" y="Y+24" fill="white" font-size="11" font-weight="600" text-anchor="middle">Name</text>
    <text x="CX" y="Y+40" fill="#94a3b8" font-size="9" text-anchor="middle">description</text>
    

    Decision diamond (flowchart):

    <g transform="translate(CX, CY)">
      <polygon points="0,-35 50,0 0,35 -50,0" fill="#0f172a"/>
      <polygon points="0,-35 50,0 0,35 -50,0" fill="rgba(120,53,15,0.3)" stroke="#fbbf24" stroke-width="1.5"/>
      <text y="4" fill="white" font-size="10" font-weight="600" text-anchor="middle">Condition?</text>
    </g>
    

    Database cylinder:

    <g transform="translate(X, Y)">
      <rect x="0" y="10" width="120" height="50" rx="2" fill="#0f172a"/>
      <ellipse cx="60" cy="10" rx="60" ry="12" fill="#0f172a"/>
      <ellipse cx="60" cy="60" rx="60" ry="12" fill="#0f172a"/>
      <rect x="0" y="10" width="120" height="50" fill="rgba(76,29,149,0.4)"/>
      <ellipse cx="60" cy="10" rx="60" ry="12" fill="rgba(76,29,149,0.4)" stroke="#a78bfa" stroke-width="1.5"/>
      <ellipse cx="60" cy="60" rx="60" ry="12" fill="rgba(76,29,149,0.4)" stroke="#a78bfa" stroke-width="1.5"/>
      <line x1="0" y1="10" x2="0" y2="60" stroke="#a78bfa" stroke-width="1.5"/>
      <line x1="120" y1="10" x2="120" y2="60" stroke="#a78bfa" stroke-width="1.5"/>
      <text x="60" y="40" fill="white" font-size="11" font-weight="600" text-anchor="middle">PostgreSQL</text>
    </g>
    

    Region boundary:

    <rect x="X" y="Y" width="W" height="H" rx="12" fill="none" stroke="#fbbf24" stroke-width="1" stroke-dasharray="8,4"/>
    <text x="X+12" y="Y+16" fill="#fbbf24" font-size="9" font-weight="600">AWS us-east-1</text>
    

    Security group:

    <rect x="X" y="Y" width="W" height="H" rx="8" fill="none" stroke="#fb7185" stroke-width="1" stroke-dasharray="4,4"/>
    <text x="X+10" y="Y+14" fill="#fb7185" font-size="8" font-weight="500">VPC / Security Group</text>
    

    Type-Specific Layout Guidance

    Determine 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.

    Architecture Diagrams

    → Read {baseDir}/references/architecture.md

    Key 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.

    Flowcharts

    → Read {baseDir}/references/flowchart.md

    Key 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.

    Sequence Diagrams

    → Read {baseDir}/references/sequence.md

    Key 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.

    Structural Diagrams

    → Read {baseDir}/references/structural.md

    Key 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.

    Mind Maps

    Free-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.

    Timelines

    Horizontal 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.

    State Machines

    Rounded-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.

    Output Rules

    1. Output a single .svg file — no external dependencies except the Google Fonts import
    2. Set viewBox to fit all content with 30px padding; do NOT set fixed width/height attributes (let the SVG scale responsively)
    3. Include xmlns="http://www.w3.org/2000/svg" on the root <svg> element
    4. Put all <style>, <defs>, markers, and patterns at the top of the SVG
    5. Use text-anchor="middle" for centered labels; ensure text doesn't overflow boxes
    6. 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
    7. 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

    Script

    Determine this SKILL.md file's directory path as {baseDir}. Script path: {baseDir}/scripts/main.ts.

    Resolve ${BUN_X} runtime: if bun installed → bun; if npx available → npx -y bun; else suggest installing bun.

    SVG → @2x PNG

    After saving the SVG, convert it to a @2x PNG:

    ${BUN_X} {baseDir}/scripts/main.ts <svg-path> [options]
    

    Options:

    • -s, --scale <n> — Scale factor (default: 2)
    • -o, --output <path> — Custom output path (default: <input>@2x.png)
    • --json — JSON output

    Process

    1. Identify the diagram type from the user's request
    2. Read the relevant reference file if one exists for that type
    3. Plan the layout: list all components, determine grouping and flow direction, calculate positions
    4. Write the SVG following the layering order above
    5. Verify spacing rules — no overlaps, legends outside boundaries, viewBox large enough
    6. Save the SVG file
    7. Run ${BUN_X} {baseDir}/scripts/main.ts <svg-path> to generate @2x PNG
    8. Present both files to the user

    Alternatives

    Compare before choosing

    Computed 10042,968

    coreyhaines31/marketingskills

    ab-testing

    When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program

    Computed 10042,968

    coreyhaines31/marketingskills

    churn-prevention

    When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers o

    Computed 100165

    JasonColapietro/suede-creator-skills

    suede-ab-testing

    Suede-owned experimentation discipline for hypotheses, sample sizing, test duration, significance, and repeatable experiment programs. Use when comparing variants, deciding whether a result is reliable, or building an experiment backlog and cadence. NOT FOR: analytics instrumentation (use suede-analytics), post-click conversion diagnosis (use suede-site-alchemy), or writing the variant copy itself (use suede-copy).

    Computed 1007

    narrative-io/narrative-skills-marketplace

    design-analysis

    Translate a fuzzy analytical question into a rigorous investigation plan. Interrogates the ask, grounds the plan in the available data dictionary, applies analytical best practices, and produces a structured brief of query specifications for a downstream query-writing skill. Plans, does not write SQL. Use when: "why did X drop", "is there a relationship between A and B", "who are our highest-value customers", "what's driving the change in Y", "investigate this trend", "design an analysis for", "