本文へ移動
cccskills
無料GitHub で公開日本語紹介

code-to-diagram

ソースコードを読み解き、構成やデータの関係、処理の流れをMermaid.jsの図にしてSVG・PNGで出力するスキルです。

原文原文の説明を見る

Generate architecture diagrams, ER diagrams, sequence diagrams, flowcharts, and class diagrams from codebases using Mermaid.js. Use when users ask to visualize code structure, draw architecture diagrams, create ER diagrams from database models, generate sequence diagrams from API flows, or produce any diagram from source code. Triggers on: 'draw architecture', 'generate diagram', 'visualize code', 'ER diagram', 'sequence diagram', 'class diagram', 'flowchart from code', 'module dependency graph'.

dp-archive/archiveスター 1,107(GitHub 1,107 + cccskills 0)

実行スコア 未検証

インストール方法を見る

こんなときに便利

  • コード構成を図で共有したいとき
  • データベースモデルからER図を作りたいとき
  • APIの処理順を可視化したいとき
  • モジュール間の依存関係を整理したいとき

日本語での紹介

できること

ソースコードを調べ、依頼に合う種類の図をMermaid.jsで作成します。システム構成やモジュール配置には構成図、データベースモデルにはER図、APIの呼び出し順にはシーケンス図、クラスの関係にはクラス図を選びます。コード全体を一度に読むのではなく、ディレクトリ構成や入口となるファイルを確認したうえで、必要なモデルや処理に絞って調べます。.mmdのソースとSVG・PNG画像を出力し、画像を開いて読みやすさや内容を確認します。

こんなときに便利

コードの構造を図で共有したいときや、データモデル、API処理、モジュール依存関係を把握したいときに便利です。既存コードの説明資料を作る場面にも向いています。

使い方の例

  • 「このプロジェクトのアーキテクチャ図を作って」
  • 「ORMモデルからER図を生成して」
  • 「このAPIの処理順をシーケンス図にして」

注意点

Mermaid CLIのmmdcを実行できる環境が必要です。資料ではChromium、Node.js、mmdcを備えたdiagram executorを前提としており、未導入の場合はインストールが必要です。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

含まれるファイル(2)

  • SKILL.md4.1 KB
  • references/mermaid-patterns.md6.0 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Code to Diagram

Generate production-quality diagrams from source code via Mermaid.js, rendered to SVG/PNG with mmdc.

Environment

Executor required: This skill needs the diagram executor (Chromium + Node.js + mmdc pre-installed). If mmdc is not available, install first:

npm install -g @mermaid-js/mermaid-cli

Puppeteer config for headless environments — create at /tmp/puppeteer-config.json if missing:

{"args": ["--no-sandbox", "--disable-setuid-sandbox"]}

Workflow

  1. Analyze — Read the codebase to understand structure (glob, grep, read)
  2. Plan — Decide diagram type(s) based on user request and code patterns
  3. Generate — Write .mmd file with Mermaid syntax
  4. Render — Run mmdc to produce SVG and PNG
  5. Verify — Read the output image and check correctness

Diagram Type Selection

User IntentDiagram TypeMermaid Keyword
System overview, module layoutArchitecturegraph TD + subgraph
Database tables, ORM modelsER DiagramerDiagram
API flow, request lifecycleSequence DiagramsequenceDiagram
Inheritance, interfacesClass DiagramclassDiagram
Business logic, conditionalsFlowchartflowchart TD
Task states, lifecycleState DiagramstateDiagram-v2
Import/dependency treeDependency Graphgraph LR
Timeline, project phasesGantt Chartgantt

Analysis Strategy

Do NOT read every file. Use progressive analysis:

Step 1 — Directory scan: glob("**/*.py") or glob("**/*.ts") to understand module structure.

Step 2 — Entry points:

  • Python: main.py, app.py, __init__.py, pyproject.toml
  • Node.js: package.json, index.ts, app.ts
  • Java: pom.xml, Application.java

Step 3 — Targeted reads by diagram type:

  • ER → ORM models (models.py, schema.prisma, *.entity.ts)
  • Architecture → Router registrations, dependency injection, config
  • Sequence → Specific endpoint handler + service call chain
  • Class → Class definitions via grep("class ")

Step 4 — GitHub repos:

git clone --depth 1 <url> /tmp/repo-name

Then apply the same progressive scan.

Rendering

# SVG (transparent background, good for docs)
mmdc -i diagram.mmd -o diagram.svg -b transparent -p /tmp/puppeteer-config.json

# PNG (white background, 2x scale for sharpness)
mmdc -i diagram.mmd -o diagram.png -b white -s 2 -p /tmp/puppeteer-config.json

Always generate both formats. Use -s 2 for PNG (sharp at any zoom level).

Mermaid Syntax Reference

For detailed patterns and examples per diagram type, see references/mermaid-patterns.md.

Key rules:

  • Short IDs, descriptive labels: DB[("PostgreSQL 16")]
  • Use subgraph for logical grouping in architecture diagrams
  • Limit ER diagrams to ~10 entities — split by domain if larger
  • participant aliases in sequence diagrams for short names
  • Quote labels with special chars: A["Node (v1)"]
  • Max ~20 nodes per diagram — split into multiple if larger

Output Conventions

  • Write .mmd source + rendered files to workspace
  • Descriptive names: architecture.mmd, er-diagram.png, api-sequence.svg
  • Multiple diagrams → create diagrams/ folder with index

Quality Checklist

  • All entities/modules from the code are represented
  • Relationships and data flow directions are correct
  • Labels readable, not truncated or overlapping
  • No Mermaid syntax errors
  • Output image visually verified

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

ai-writing-detection

無料概要あり

文章に含まれる語彙や文の構成、書式、引用の特徴を複数の観点から調べ、AI生成の可能性と根拠を整理します。誤判定を避けるための注意点も示します。

  • 文章のAI生成らしさを複数の観点で調べたいとき
  • 判定の根拠と反証材料を整理したいとき
  • AI文章検出の特徴や限界を知りたいとき
dp-archive/archive1,1072026年3月4日 更新

audio-extractor

無料概要あり

動画や対応サイトの音声を抽出し、MP3やFLACなどに変換して保存します。ポッドキャストやプレイリストの一括取得、曲情報やカバー画像の埋め込みにも使えます。

  • 動画から音声だけを保存したいとき
  • ポッドキャストを音声ファイルにしたいとき
  • プレイリストをまとめてダウンロードしたいとき
dp-archive/archive1,1072026年3月4日 更新

biopython

無料概要あり

DNA・RNA・タンパク質の配列や生物学ファイルをPythonで扱い、配列解析、BLAST、NCBI検索、系統樹作成などの処理を組み立てます。

  • 配列ファイルを読み書き・変換したいとき
  • 配列の統計やアラインメントを調べたいとき
  • NCBIやPubMedの情報をまとめて取得したいとき
dp-archive/archive1,1072026年3月4日 更新

brand-identity

無料概要あり

プロジェクトの説明をもとに、ロゴや配色、書体、名刺、SNSカバー、ブランド仕様書を一貫したビジュアルアイデンティティとしてまとめます。

  • 新しいブランドのロゴを作りたいとき
  • 色と書体のルールを決めたいとき
  • 名刺とSNSカバーをそろえたいとき
dp-archive/archive1,1072026年3月4日 更新

canvas-design

無料概要あり

ポスターや静的なアートを、色・形・余白の方針づくりから制作するスキル。デザイン思想をまとめたMarkdownと、文字を抑えたPNG・PDFの作品を作ります。

  • オリジナルのポスター制作
  • テーマを抽象アートで表現したいとき
  • デザイン方針と作品をそろえたいとき
dp-archive/archive1,1072026年3月4日 更新

copywriting

無料概要あり

ブランドの声や個性に合わせ、文字数・語数の制約を守ったタグライン、プロフィール文、名刺文面などを作成するスキルです。

  • ブランドのタグラインを考えたいとき
  • SNSプロフィールを短くまとめたいとき
  • ブランドの声やトーンを定義したいとき
dp-archive/archive1,1072026年3月4日 更新

dp-archive のスキルをすべて見る

このスキルの問題を報告する