Mermaid
Generate Mermaid diagrams in the README to visualise architecture, flows, or relationships from the codebase.From its SKILL.md
npx -y skills add eugeniosegala/claude-connoisseur --skill mermaidAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 9 stars9 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.7 KB, as published. Nobody here has run it
Mermaid — Generate Mermaid Diagrams for the README
Generate clear, accurate Mermaid diagrams in the project README (or a specified Markdown file) to visualise architecture, data flows, class relationships, or other structures derived from the codebase.
Files and instructions: $ARGUMENTS
Core principles
Accuracy over aesthetics
- Every element in the diagram must reflect the actual codebase. Do not invent components, connections, or flows that do not exist
- Read the source files thoroughly before drawing anything. If a relationship is ambiguous, trace it in the code rather than guessing
Clarity and readability
- Keep diagrams focused. A diagram that tries to show everything communicates nothing
- Use meaningful node labels derived from actual file, function, class, or module names in the codebase
- Prefer short, descriptive edge labels. Omit labels when the relationship is obvious from context
- Group related nodes with subgraphs when it improves readability, but do not over-nest
Diagram type selection
Choose the Mermaid diagram type that best fits the subject:
- flowchart (
flowchart TD/LR) — request flows, pipelines, decision trees, process steps - sequence diagram (
sequenceDiagram) — interactions between components over time (API calls, message passing) - class diagram (
classDiagram) — class hierarchies, interfaces, type relationships - entity-relationship (
erDiagram) — database schemas, data models, entity relationships - state diagram (
stateDiagram-v2) — lifecycle states, state machines, status transitions - architecture (
architecture-beta) — high-level system or infrastructure topology
If the user specifies a diagram type, use it. Otherwise, select the most appropriate one based on the code being visualised.
Integration with the README
- Place the diagram in a logical section of the README. If a relevant section already exists, add the diagram there. If not, create a section with a clear heading
- Use a fenced Mermaid code block (
```mermaid) so the diagram renders natively on GitHub and other Markdown renderers - If the README already contains a Mermaid diagram for the same subject, update it rather than adding a duplicate
How to interpret arguments
The arguments are free-form and flexible. They may contain:
- File references of any type and in any format:
@service.ts,src/models/,handler.go, router.go - Natural language describing what to diagram, such as:
- "the request flow through the API"
- "the class hierarchy"
- "how auth works end to end"
- "the database schema"
- A target Markdown file:
put it in docs/architecture.md(defaults toREADME.mdif not specified) - A preferred diagram type:
as a sequence diagram,use a flowchart
Parse the arguments to identify which file(s) to read, what to visualise, where to place the diagram, and any additional instructions.
Examples
/mermaid @service.ts @handler.ts the request flow— diagram the request flow through these files/mermaid src/models/ the entity relationships as an ER diagram— generate an ER diagram from model files/mermaid @auth.ts how authentication works end to end— diagram the full auth flow/mermaid @router.go @middleware.go as a sequence diagram— visualise middleware and routing interactions/mermaid src/ high-level architecture, put it in docs/architecture.md— architecture overview in a specific file
Style reference
Use the following diagram as a reference for style, tone, and formatting when generating flowcharts. Note how it uses emojis for input/output nodes, multi-line labels for steps that involve an external service or tool, decision nodes for branching logic, and a clean top-down layout:
flowchart TD
A["📂 Folder of page photos"] --> B["Scan images and sort by name or date"]
B --> C["Process pages with bounded concurrency"]
C --> D["Load image and auto-rotate from EXIF"]
D --> E["Layout OCR
AWS Textract"]
D --> F["Page number + figure analysis
Vision LLM via OpenRouter"]
E --> G["Merge OCR blocks with vision results"]
F --> G
G --> H["Crop figures and attach captions"]
H --> I["Fix reading order
and deduplicate caption text"]
I --> J["Repair cross-page hyphen splits"]
J --> K["Structured processed pages"]
K --> L["Build Word document"]
L --> M["📄 output.docx"]
K --> N{"Translate?"}
N -- Yes --> O["Clone pages"]
O --> P["Translate text blocks in batches
with neighboring-page context"]
P --> Q["Build translated Word document"]
Q --> R["📄 output.lang.docx"]
N -- No --> S(("Done"))
M --> S
R --> S
Apply the same patterns to other diagram types where applicable (e.g. emojis for key entities, multi-line labels for steps with external dependencies).
How to proceed
- Read the specified file(s) to understand the code structure, components, and relationships
- If no files are specified, use the natural language description to search the codebase for relevant files
- Identify the key components, flows, or relationships to visualise based on the user's description
- Select the most appropriate Mermaid diagram type (or use the one the user requested)
- Generate the Mermaid diagram, ensuring every node and edge maps to something real in the codebase
- Add the diagram to the target Markdown file (README.md by default) in a logical section with a clear heading
- Review the diagram for accuracy, readability, and correct Mermaid syntax