SuperAPI AI Directory

peach-erd

Agents & models

View repository

Updated 10-15 21:39

About this skill

ERD one-stop skill

File path

File Purpose
docs/erd/erd.mmd Mermaid ERD source
docs/erd/erd.png PNG rendering (for git commit)
docs/erd/erd.svg SVG rendering (for git commit)

Workflow

Step 1: Check environment

Check whether the mermaid MCP server is registered.

claude mcp list 2>/dev/null | grep mermaid

If not registered, auto-install:

npm install -g claude-mermaid
claude mcp add --scope user mermaid claude-mermaid

After installation, inform the user: "The claude-mermaid MCP has been installed. You must restart Claude Code for the MCP to be activated."

Step 2: Check erd.mmd

docs/erd/erd.mmd Check whether the file exists.

If the file does not exist → Create folder + create erd.mmd with the default template:

erDiagram
    example["example (예시)"] {
        serial4 example_seq PK "일련번호"
        varchar name "이름"
    }

If the file exists → Read it to understand the current content.

Step 3: Modify

If the user requests modifications, modify erd.mmd. If only preview/save is requested without modifications, skip this step.

Step 4: Execute

First determine whether erd.mmd has been modified.

git diff --name-only | grep "erd.mmd"
  • Output present → Modified
  • No output → Unchanged

If erd.mmd has been modified — run preview + file save in parallel

Task A — Browser preview (mermaid MCP):

mcp__mermaid__mermaid_preview:
  preview_id: "erd-main"
  diagram: {erd.mmd 전체 내용}
  width: 1400
  height: 1200
  scale: 2

Task B — Save PNG/SVG files (Bash, from the project root):

npx @mermaid-js/mermaid-cli@latest \
  -i docs/erd/erd.mmd \
  -o docs/erd/erd.png \
  -s 2 && \
npx @mermaid-js/mermaid-cli@latest \
  -i docs/erd/erd.mmd \
  -o docs/erd/erd.svg

If Task A fails (MCP not connected):

  • Run only Task B (CLI) to guarantee PNG/SVG saving.
  • Inform the user: "To use browser preview, restart Claude Code or claude mcp add --scope user mermaid claude-mermaidregister the MCP with ."

If erd.mmd has not been modified — run preview only

No need to regenerate PNG/SVG. Run only Task A.

mcp__mermaid__mermaid_preview:
  preview_id: "erd-main"
  diagram: {erd.mmd 전체 내용}
  width: 1400
  height: 1200
  scale: 2

Step 5: Report results

  • Browser preview URL (on success)
  • Saved PNG/SVG file paths
  • If further modification iterations are needed, return to Step 3

Step 6: Git follow-up handling

After preview completion, check git status and determine automatically.

git diff --name-only

Criteria:

Situation Judgment Action
erd.mmdhas changed PNG/SVG are also commit targets Stage all 3 files → commit
erd.mmd unchanged (preview only) Ignore PNG/SVG changes No commit needed

Automatic handling procedure:

  1. git diff --name-onlyCheck the list of changed files with
  2. erd.mmd Determine whether it includes
  3. Brief the user:
📊 ERD Git 처리 브리핑

변경된 파일:
  - docs/erd/erd.mmd  ← 수정됨  (또는 미변경)
  - docs/erd/erd.png  ← 재렌더링
  - docs/erd/erd.svg  ← 재렌더링

판단: [erd.mmd 수정됨 → 3개 파일 커밋 권장] 또는 [erd.mmd 미변경 → 커밋 불필요]

커밋 메시지 (안): "docs: ERD 업데이트 - {변경 내용 한 줄 요약}"

진행하시겠습니까?
  A) 커밋 진행
  B) 스테이징만 (커밋 보류)
  C) 처리 안 함
  1. Handle according to the user's choice:
    • Choose A: git add docs/erd/erd.mmd docs/erd/erd.png docs/erd/erd.svg && git commit -m "..."
    • Choose B: git add docs/erd/erd.mmd docs/erd/erd.png docs/erd/erd.svg
    • Choose C: exit without processing

ERD writing rules

Entity name

["영문명 (한글명)"] Write in the format. Use only the entity name on relationship lines (including both causes rendering errors).

employee["employee (직원)"] { ... }            ✅
employee ||--o{ employee_hist : "이력"         ✅
employee["employee (직원)"] ||--o{ ...         ❌ 렌더링 오류

Index marker

Write it in square brackets at the end of the column comment.

Marker Meaning Example
[IDX] Regular index int4 branch_seq FK "branch 참조 [IDX]"
[PIDX] Partial Index (WHERE is_delete='N') varchar status "상태 코드 [PIDX]"
[UIDX] Unique Index varchar cert_no "증명서 번호 [UIDX]"
[PIDX:a+b] Composite Partial Index varchar status "... [PIDX:status+region_seq]"

Audit fields

  • Master table: is_delete, insert_seq, insert_date, update_seq, update_date
  • History table: insert_seq, insert_date (만)