본문으로 건너뛰기
cccskills
무료GitHub에 공개

mermaid-diagram

Turn requirements into Mermaid diagrams, including process flows, system structures, and timelines. Save editable diagram code, a Markdown version, and a PNG preview, then check syntax, arrow directions, labels, and readability.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

원문원문 설명 보기

Generate Mermaid diagrams from user requirements. Save .mmd and .md files to figures/ with syntax verification. Supports flowcharts, sequence diagrams, class diagrams, ER diagrams, Gantt charts, and many more diagram types.

실행 점수 미검증

설치 방법 보기

이럴 때 유용합니다

  • Mapping a business process
  • Illustrating API message sequences
  • Diagramming database relationships
  • Creating a project timeline

포함된 파일(1)

  • SKILL.md11.9 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Mermaid Diagram Generator

Generate high-quality Mermaid diagram code based on user requirements, with file output and verification.

Constants

  • OUTPUT_DIR = figures/ — Output directory for generated files
  • MAX_ITERATIONS = 3 — Maximum refinement rounds for syntax or layout issues

Workflow: MUST EXECUTE ALL STEPS

Step 0: Pre-flight Check

Create output directory

mkdir -p figures

Step 1: Understand Requirements & Select Diagram Type

Parse the input: $ARGUMENTS

  1. Analyze the request and choose the most suitable diagram type
  2. Read the corresponding Mermaid syntax reference below
  3. If the diagram involves mathematical notation, apply the math syntax rules from the Math Formulas in Diagrams section
  4. Identify all components, connections, and data flow
  5. Plan the diagram structure before writing code

Step 2: Read Documentation

Select the appropriate diagram type. Use built-in Mermaid knowledge first; if external documentation is needed and your environment provides it, fetch the up-to-date syntax reference.

Configuration & Themes

Choose theme, colors, and layout before writing code. For academic diagrams, prefer clean white backgrounds, restrained colors, and readable labels over decorative styling.

TypeUse Cases
FlowchartProcesses, decisions, steps
Sequence DiagramInteractions, messaging, API calls
Class DiagramClass structure, inheritance, associations
State DiagramState machines, state transitions
ER DiagramDatabase design, entity relationships
Gantt ChartProject planning, timelines
Pie ChartProportions, distributions
MindmapHierarchical structures, knowledge graphs
TimelineHistorical events, milestones
Git GraphBranches, merges, versions
Quadrant ChartFour-quadrant analysis
Requirement DiagramRequirements traceability
C4 DiagramSystem architecture
Sankey DiagramFlow, conversions
XY ChartLine charts, bar charts
Block DiagramSystem components, modules
Packet DiagramNetwork protocols, data structures
KanbanTask management, workflows
Architecture DiagramSystem architecture
Radar ChartMulti-dimensional comparison
TreemapHierarchical data visualization
User JourneyUser experience flows
ZenUMLSequence diagrams (code style)

Step 3: Generate Mermaid Code & Save Files

Generate the Mermaid code and save two files:

File 1: figures/<diagram-name>.mmd — Raw Mermaid source

The .mmd file contains only raw Mermaid code, no markdown fences.

File 2: figures/<diagram-name>.md — Markdown with embedded Mermaid

The .md file wraps the same Mermaid code in a mermaid code block for preview rendering, plus a short title and description.

Diagram Title

Use a concise title in the .md wrapper that matches the generated diagram name.

Naming convention: use a descriptive kebab-case name derived from the request, such as auth-flow, system-architecture, or database-er.

Step 4: Verify Mermaid Syntax (MANDATORY)

Codex MUST verify the generated Mermaid code by running the Mermaid CLI (mmdc).

Check if mermaid-cli is available

if command -v mmdc >/dev/null 2>&1; then
    mmdc -i figures/<diagram-name>.mmd -o figures/<diagram-name>.png -b transparent \
        && echo "Syntax valid — PNG rendered to figures/<diagram-name>.png"
else
    npx -y @mermaid-js/mermaid-cli@latest -i figures/<diagram-name>.mmd -o figures/<diagram-name>.png -b transparent \
        && echo "Syntax valid — PNG rendered to figures/<diagram-name>.png"
fi

If verification fails:

  1. Read the error carefully
  2. Fix the syntax issue in both .mmd and .md
  3. Re-run verification
  4. Repeat up to MAX_ITERATIONS

Step 5: Codex STRICT Visual Review & Scoring (MANDATORY)

After successful rendering, Codex MUST read the generated PNG and perform a strict review:

## Codex's STRICT Review of <diagram-name>

### What I See
[Describe the rendered diagram in detail]

### Files Generated
- `figures/<diagram-name>.mmd`
- `figures/<diagram-name>.md`
- `figures/<diagram-name>.png`

### ═══════════════════════════════════════════════════════════════
### STRICT VERIFICATION CHECKLIST (ALL must pass for score ≥ 9)
### ═══════════════════════════════════════════════════════════════

#### A. File Correctness
- [ ] `.mmd` contains valid Mermaid syntax
- [ ] `.md` wraps the Mermaid code in ```mermaid fences
- [ ] `.mmd` and `.md` contain identical Mermaid code
- [ ] Diagram renders without errors

ASCII alias for automated checks: score >= 9.

#### B. Arrow Correctness Verification (CRITICAL - any failure = score ≤ 6)
ASCII alias for automated checks: CRITICAL - any failure = score <= 6.

- [ ] Every arrow points to the correct target

#### C. Block Content Verification (any failure = score ≤ 7)
ASCII alias for automated checks: any failure = score <= 7.

- [ ] Every block label is correct
- [ ] Every block contains the intended content

#### D. Completeness
- [ ] All required components are present
- [ ] All required connections are present
- [ ] Labels are meaningful and match the request

#### E. Visual Quality
- [ ] Layout is clean and readable
- [ ] Colors are professional
- [ ] Text is readable at normal zoom
- [ ] Spacing is balanced
- [ ] Data flow is understandable within 5 seconds

### ═══════════════════════════════════════════════════════════════
### Issues Found (BE SPECIFIC)
1. [issue] -> [fix]

### Score: X/10

### Score Breakdown Guide:
- 10: correct, readable, publication-ready
- 9: minor polish only
- 8: usable but one visual/layout weakness remains
- 7: one content or block-label weakness remains
- 6 or below: arrow direction, missing component, syntax, or semantic error

### Verdict
- [ ] ACCEPT
- [ ] FIX

If the verdict is FIX, apply corrections to both .mmd and .md, re-render, and re-review until ACCEPT or MAX_ITERATIONS is reached.

Step 6: Final Output Summary

When accepted, present:

Mermaid diagram generated successfully.

Files:
  figures/<diagram-name>.mmd
  figures/<diagram-name>.md
  figures/<diagram-name>.png

To re-render manually:
  mmdc -i figures/<diagram-name>.mmd -o figures/<diagram-name>.png

Architecture Diagram Best Practices

When generating architecture-beta diagrams, apply these layout techniques for complex diagrams:

Use Junctions for Layout Control

Think of the diagram as an invisible grid. Use junction nodes as virtual anchor points on that grid to precisely control placement. This is especially useful when a direct edge produces unexpected positioning.

Instead of connecting services directly:

lb:R --> L:scim
lb:R --> L:webapi

Route through junctions:

junction j_lb_r
lb:R -- L:j_lb_r
junction j_scim_l
j_lb_r:T -- B:j_scim_l
j_scim_l:R --> L:scim
junction j_webapi_l
j_lb_r:B -- T:j_webapi_l
j_webapi_l:R --> L:webapi

Use Edges out of Groups for Floating Components

For services that have no real logical connection but still need stable placement, use a junction combined with {group} to anchor them without inventing a semantic edge.

CVPR/ICLR/NeurIPS Style Guide (for Academic Diagrams)

When the diagram is intended for academic papers, apply these style standards:

Visual Standards

  • Clean white background
  • Sans-serif fonts
  • Subtle coordinated color palette
  • Print-friendly grayscale readability
  • Thin professional borders

Layout Standards

  • Horizontal flow for pipelines
  • Clear grouping
  • Consistent sizing
  • Balanced whitespace

Arrow Standards (MOST CRITICAL)

  • Thick strokes
  • Clear arrowheads
  • Dark colors
  • Labeled arrows
  • No crossings
  • Correct direction

Color Palette (Academic Professional)

  • Inputs: Green (#10B981 / #34D399)
  • Encoders: Blue (#2563EB / #3B82F6)
  • Fusion: Purple (#7C3AED / #8B5CF6)
  • Outputs: Orange (#EA580C / #F97316)
  • Arrows: Dark gray (#333333 / #1F2937)
  • Background: White (#FFFFFF)

What to AVOID

  • Rainbow color schemes
  • Thin hairline arrows
  • Heavy shadows or glow effects
  • 3D effects
  • Decorative icons that add no meaning
  • Tiny unreadable text

Math Formulas in Diagrams (KaTeX)

Mermaid supports rendering mathematical expressions via KaTeX. When the diagram content involves formulas, equations, Greek letters, subscripts, superscripts, fractions, or matrices, use KaTeX notation instead of plain-text approximations.

Supported Diagram Types for Math

Math rendering with $$...$$ is supported in:

  • Flowcharts — in node labels and edge labels
  • Sequence Diagrams — in participant aliases, messages, and notes

Syntax Rules

  1. Wrap math expressions in $$ inside quoted strings:

    A["$$x^2$$"] -->|"$$\\sqrt{x+3}$$"| B("$$\\frac{1}{2}$$")
    
  2. Node labels with math must be quoted

  3. Mix text and math by placing $$ only around the math portion

  4. Use \text{} for non-math text inside $$

Common Math Patterns for ML/Science Diagrams

ConceptKaTeX Syntax
Subscript$$W_Q$$
Superscript$$x^2$$
Fraction$$\\frac{QK^T}{\\sqrt{d_k}}$$
Greek letters$$\\alpha, \\beta, \\gamma$$
Square root$$\\sqrt{d_k}$$
Summation$$\\sum_{i=1}^{n} x_i$$
Matrix$$\\begin{bmatrix} a & b \\\\ c & d \\end{bmatrix}$$
Softmax$$\\text{softmax}(z_i)$$
Norm`$$\
Hat/tilde$$\\hat{y}, \\tilde{x}$$

Example: Attention Mechanism with Math

flowchart TD
    Q["$$Q \\in \\mathbb{R}^{n \\times d_k}$$"]
    K["$$K \\in \\mathbb{R}^{n \\times d_k}$$"]
    V["$$V \\in \\mathbb{R}^{n \\times d_v}$$"]
    scores["$$\\frac{QK^T}{\\sqrt{d_k}}$$"]
    softmax["$$\\text{softmax}(\\cdot)$$"]
    output["$$\\text{Attention}(Q,K,V)$$"]

    Q --> scores
    K --> scores
    scores --> softmax
    softmax --> weighted["$$\\alpha V$$"]
    V --> weighted
    weighted --> output

When to Use Math vs Plain Text

  • Use math when the diagram is for academic or technical audiences and precision matters
  • Use plain text when the diagram is for general audiences or math would add clutter
  • Default to KaTeX automatically if the request already contains math notation

Gotchas

  • $$ delimiters must be inside quoted strings
  • Very long formulas may overflow node boxes
  • Always verify rendering with mmdc

Code Quality Rules

Generated Mermaid code MUST:

  1. Have correct syntax that renders directly
  2. Have clear structure with proper indentation
  3. Use semantic node naming, not A, B, C
  4. Include styling when needed
  5. Use <br/> for line breaks inside node labels, never \n
  6. Avoid special characters that break Mermaid parsing unless properly quoted

Output Structure

figures/
├── <diagram-name>.mmd
├── <diagram-name>.md
└── <diagram-name>.png

Key Rules (MUST FOLLOW)

  1. Always save files to figures/
  2. Always generate both .mmd and .md
  3. Always read the relevant syntax guidance before generating code
  4. Always verify syntax before accepting
  5. Always review the rendered PNG
  6. Never accept score < 9
  7. Verify every arrow direction
  8. Verify every block content
  9. Be specific in feedback
  10. Fix errors before accepting
  11. Use descriptive kebab-case file names

User requirements: $ARGUMENTS

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Plan ablation studies, experiments that remove or replace parts of a machine learning method to test their contribution. Define reviewer questions, expected outcomes, priorities, execution order, and compute estimates, then implement experiments and record findings.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Testing the contribution of individual method components
  • Planning additional experiments before paper submission
  • Prioritizing experiments within a GPU budget
wanshuiyin/Auto-claude-code-research-in-sleep1.8만2026년 10월 22일 업데이트

Plan and run ablation studies, experiments that remove or replace parts of a method to test their contribution. Organize reviewer questions, priorities, expected outcomes, and compute costs, then record results and findings.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Test how much each component contributes
  • Plan experiments that address reviewer questions
  • Prioritize comparisons within a compute budget
wanshuiyin/Auto-claude-code-research-in-sleep1.8만2026년 10월 22일 업데이트

alphaxiv

무료

Understand a single arXiv paper through an AlphaXiv summary, with full text and LaTeX source available when needed. Use it to identify key findings or ask specific questions about methods, experiments, and equations.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Get a quick overview of a paper from its URL
  • Check a paper's methods and experimental results
  • Ask about equations, proofs, or appendix details
wanshuiyin/Auto-claude-code-research-in-sleep1.8만2026년 10월 22일 업데이트

Compare machine learning experiment results from JSON or CSV files. Calculate improvements over a baseline, summarize variation across repeated runs, identify trends and unusual results, and suggest experiments to test possible explanations.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Compare model performance across experimental conditions
  • Check variation across runs with different random seeds
  • Identify trends as a parameter changes
wanshuiyin/Auto-claude-code-research-in-sleep1.8만2026년 10월 22일 업데이트

arxiv

무료

Search arXiv papers by topic or paper ID, review authors and abstracts, and summarize contributions stated in the abstracts. Download selected papers or all search results as PDFs to build a local paper library.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Find arXiv papers on a research topic
  • Retrieve details for a known arXiv paper ID
  • Download all PDFs from a set of search results
wanshuiyin/Auto-claude-code-research-in-sleep1.8만2026년 10월 22일 업데이트

Improve a compiled paper through two rounds of external model review, source edits, and PDF rebuilding. Check claims against evidence, resolve inconsistencies, and refine figures and layout, with optional checkpoints and restrictions on which edits are allowed.

한국어 요약은 준비 중입니다. 영어 요약을 표시하고 있습니다.

  • Revising a generated paper before submission
  • Correcting mismatches between claims and evidence
  • Improving notation, figures, tables, and layout
wanshuiyin/Auto-claude-code-research-in-sleep1.8만2026년 10월 22일 업데이트

wanshuiyin의 스킬 모두 보기

이 스킬의 문제 신고