# Mermaid Diagram Generator

> Use when users need Mermaid diagrams for Arduino code structure, state machines, timing diagrams,…

Use when users need Mermaid diagrams for Arduino code structure, state machines, timing diagrams, task architecture, or workflow documentation.

- Page: https://ss33.ai/skills/wedsamuel1230/mermaid-diagram-generator-20304387186
- Publisher: wedsamuel1230
- Category: [Software Development](https://ss33.ai/skills/category/software-development-t44z8z) › [Developer docs & tooling](https://ss33.ai/skills/category/software-development-t44z8z/developer-docs-and-tooling-nich6w)
- License: MIT
- Source: https://github.com/wedsamuel1230/embedded-engineering-skills/blob/869710ec3b9a40a4f14615b68ca1f1d3dfc88323/skills/mermaid-diagram-generator/SKILL.md

## Skill

SKILL.md: https://ss33.ai/api/v1/ss33/download/wedsamuel1230/mermaid-diagram-generator-20304387186

# Mermaid Diagram Generator

Generate Mermaid diagrams from Arduino and embedded-system concepts without
loading unnecessary detail up front.

## Resources

- `scripts/generate_diagram.py` - CLI generator for diagram output
- `references/diagram-templates.md` - Mermaid templates by diagram type
- `references/code-patterns.md` - code-to-diagram extraction heuristics
- `references/validation-checklist.md` - rendering and syntax checks

## When to Use

Use this skill when the request asks to:

- visualize a state machine
- turn code into a flowchart
- document timing or protocol sequences
- show FreeRTOS task relationships
- add a diagram to project documentation

Do not use it for tiny code snippets where a diagram adds no clarity.

## Workflow

1. Identify the diagram type:
   - state flow -> open `references/code-patterns.md`
   - timing or protocol sequence -> open `references/diagram-templates.md`
   - task architecture -> open both `code-patterns.md` and
     `diagram-templates.md`
2. Prefer the simplest diagram that explains the behavior.
3. Use `scripts/generate_diagram.py` when the input is structured enough for
   automation.
4. Run through `references/validation-checklist.md` before presenting the final
   Mermaid output.

## Verification

- Mermaid syntax parses without errors.
- The diagram uses the correct abstraction level for the request.
- State names, transitions, or signals match the source material exactly.
- The output is readable without reverse-engineering the code.

## Integration

- Pair with `freertos-patterns` for task and synchronization diagrams.
- Pair with `arduino-code-generator` when a generated sketch also needs visual
  documentation.
- Pair with `readme-generator` when the diagram should ship in repository docs.

## Shared Output Contract

Use [the shared Arduino skill contract](../../docs/arduino-skill-contract.md):
state assumptions, required tools and versions, implementation steps,
tests/evidence by proof stage, known limitations, and recovery/security notes.
