---
title: "Study note diagram maker"
type: "skill"
url: "https://useaiblocks.com/skills/study-note-diagrams"
updated: "2026-10-28"
first_published: "2026-10-25"
job: "Study and check your understanding"
tested: true
licence: "MIT"
source: "https://github.com/Mohamed-El-Sharqawy/agent-tutor/tree/5651e2eec062785967d07bcb4752a59f1bcf0eee/skills/agent-tutor-visualize"
instructions: "https://useaiblocks.com/skills/study-note-diagrams/SKILL.md"
---

# Study note diagram maker

> Turn a lesson concept into a clear study note diagram: a flowchart, table or simple drawing, with a caption, placed right beside your explanation.

Share the lesson section and the idea readers need to see. It chooses a table, flowchart or simple drawing to match the idea. You get a compact visual with a caption, ready to place beside the explanation in your notes.

Free skill for the job "Study and check your understanding" · Level: beginner · Thinking: medium · Tested · Updated 2026-10-28

## Links

- Page: https://useaiblocks.com/skills/study-note-diagrams
- Instructions (SKILL.md): https://useaiblocks.com/skills/study-note-diagrams/SKILL.md
- All files (zip): https://useaiblocks.com/skills/study-note-diagrams.zip
- JSON version: https://useaiblocks.com/skills/study-note-diagrams.json
- In your AI: connect https://useaiblocks.com/mcp and ask "Use AI Blocks to get study-note-diagrams"

## What it does

Share the lesson section and the idea readers need to see. It chooses a table, flowchart or simple drawing to match the idea. You get a compact visual with a caption, ready to place beside the explanation in your notes.

## What you give it

- A lesson section and the concept to explain.
- Your note folder and the learner level.

## What you get

- A compact Mermaid diagram, SVG drawing or table.
- A caption saying what to notice.
- An embed path suited to your local lesson notes.

## Example: what goes in and what comes out

### What goes in

- The lesson section that explains the concept
- The one idea the reader needs to see
- The learner level, such as beginner (optional)
- Your notes folder, if your AI can save files (optional)

### Before you start

- An AI that can write Mermaid code. A viewer like Obsidian shows the diagram.
- An AI that can save files, only if you want an SVG drawing saved to your notes folder

### What comes out

- **Chosen visual form**: The type that fits your idea, such as a flowchart, timeline, mind map, table or SVG drawing.
- **Mermaid diagram**: A small diagram in a code block, under about 15 boxes, with short labels.
- **SVG drawing**: A static picture file for layouts Mermaid cannot show, only when the idea needs one.
- **Caption**: One line under the visual that tells the reader what to notice.
- **Placement**: Where the visual goes in your note, right after the idea it explains, plus the embed link for an SVG.

## Skip it when

- You need a full lesson plan: ask your AI to write the plan first, then come back for the pictures.
- Your idea is plain text with no steps or parts: use a short paragraph or a plain bullet list instead of a diagram.
- You want a table to compare features: ask your AI for a plain table, no diagram needed.

## How to use it

1. Paste this skill into a chat with Claude, ChatGPT or Gemini. No code running is needed for a Mermaid diagram.
2. Paste the lesson section and name the one idea you want to show. Add the learner level if you know it.
3. Your AI picks the form: flowchart, timeline, mind map, table or drawing. Ask it to explain the choice if you disagree.
4. In a plain chat, the reply comes in this order: one Mermaid code block, a one-line caption on what to notice, then one sentence on where it goes in your notes.
5. Check the diagram. It should have about 15 boxes or fewer, with short labels. Ask for a split if it is too busy.
6. Paste the diagram code into your notes right after the explanation. Add the caption under it.
7. Then check that the caption matches your explanation and that every label is true to the lesson. If a label differs from the lesson, stop and fix it before you study from it. To turn the notes into practice, ask for flashcards with the flashcard maker.
8. For an SVG file, use an AI that can save files, and save it in your notes folder.
9. A plain chat works fine. You do not need a notes vault, a Mermaid checker or a file-saving tool. The skill's dashboard chart and helper agent sections are for a full learning vault, so ignore them for one diagram.

## What to do next

- [Study notebook reviewer](https://useaiblocks.com/skills/study-notebook-review): Study notebook reviewer
- [Study gap tracker](https://useaiblocks.com/skills/study-gap-tracker): Study gap tracker
- [Study revision coach](https://useaiblocks.com/skills/study-revision-coach): Study revision coach

## Sources and credits

- From Mohamed El-Sharqawy: https://github.com/Mohamed-El-Sharqawy/agent-tutor/tree/5651e2eec062785967d07bcb4752a59f1bcf0eee/skills/agent-tutor-visualize, shared under the MIT licence (original name: agent-tutor-visualize).
- [agent-tutor-visualize skill](https://github.com/Mohamed-El-Sharqawy/agent-tutor/tree/5651e2eec062785967d07bcb4752a59f1bcf0eee/skills/agent-tutor-visualize), Mohamed El-Sharqawy: Copied under the MIT licence. We gave it a plain name. We added Before you start and After this sections that link to other AI Blocks steps.

## Instructions (SKILL.md)

## Agent Tutor — Visualize

Good visuals are not decoration — they encode structure that text can't. Use this skill whenever a lesson note would benefit from a picture.

**Vault root:** `OBSIDIAN_VAULT` env var, else `learning/` in the current workspace. Subject assets go to `<vault>/Learning/<Subject>/assets/`.

**If you work in a plain chat:** there is no vault and no `mermaid_lint` or `svg_save` tool. Give the diagram as a code block, check it against the rules below, and tell the user where to paste it. Sections 4 and 5 are for a full learning vault only. Skip them when the user asks for one diagram.

<!-- needs: written by tools/add-needs.mjs for AI Blocks; not part of the original skill. Edit that tool, not this section. -->
### Before you start
Use the material below to do this job. If facts or tool access are missing, explain what you can finish and what must wait.

**What you need** (use your own material or the linked skill):
- **Source text** (yours): a long source in full: an article, a video or talk transcript, or notes from a book, with its title, author and link.

How to start:
1. **Look first.** Use what they've already attached, pasted or put in their about-me note. In a coding assistant with file access, look in the project too for these by name.
2. **Check what's missing.** Look for source text. They can attach files, paste the details, or share a file path your assistant can read. Ask only for missing facts that change the result. If they ask you to start with what they have, complete the parts you can and mark the gaps.
3. **Do the job.** Follow the skill below with the facts and tools you have. Mark each gap with `MISSING:` where it belongs and never invent a fact to fill it.
<!-- /needs -->

### 1. Choose the right form

| The concept is... | Use | Mermaid type |
|---|---|---|
| A process, flow, or decision | Flowchart | `flowchart LR` / `TB` |
| A taxonomy or breakdown | Mind map | `mindmap` |
| Interactions over time | Sequence diagram | `sequenceDiagram` |
| A chronology or evolution | Timeline | `timeline` |
| System structure / behavior | Class / state diagram | `classDiagram`, `stateDiagram-v2` |
| Data relationships | ER diagram | `erDiagram` |
| A 2×2 comparison of options | Quadrant chart | `quadrantChart` |
| Proportions | Pie chart | `pie` |
| Side-by-side feature comparison | **Table** (not a diagram) | — |
| A spatial layout, annotated figure, or custom illustration | **SVG** | — |

If none fits, don't force it. A crisp table often beats a mediocre diagram.

### 2. Mermaid rules

1. **Validate before embedding.** If a `mermaid_lint` tool is available, run it on the code and fix all errors. Otherwise self-check against this list (and prefer simple constructs — they render everywhere).
2. Keep it under **~15 nodes**. Split into two diagrams if needed.
3. Short labels (< 20 chars). Detail belongs in the note text, not in boxes.
4. Direction: `LR` for pipelines/steps, `TB` for hierarchies and mindmaps.
5. Quote labels containing special characters: `A["Node (with parens)"]`.
6. Renderers support core Mermaid only — no `init` directives, no plugins, no icon packs, no HTML inside labels (except `<br/>`).
7. One diagram per idea. A diagram that needs a paragraph of explanation is too complicated.

Embed directly in the note:

````
```mermaid
flowchart LR
    A[Input] --> B{Decision}
    B -- yes --> C[Path 1]
    B -- no --> D[Path 2]
```
````

### 3. SVG rules

Use SVG when Mermaid can't express it: spatial layouts, annotated figures, simple scenes, custom concept maps with precise positioning.

1. **If an `svg_save` tool is available**, use it — it validates the markup and writes to `<vault>/Learning/<Subject>/assets/<name>.svg`. Otherwise write the file yourself after checking the requirements below.
2. Requirements: `xmlns` attribute, `viewBox`, `width="100%"`, `font-size ≥ 14`, inline attributes only (no CSS classes), transparent background, works on light **and** dark themes. Security: no `<script>` elements, no `<foreignObject>`, no references to remote URLs (no external `href`). SVG files are static pictures only.
3. Embed with a relative link or wikilink to `Learning/<Subject>/assets/<name>.svg`.
4. Keep it under ~100 elements. Simple shapes + text beat elaborate art every time.

### 4. Dashboard charts (skip for a single diagram)

Only use this section when the user asks for a progress dashboard in a learning vault. The three chart files named below (`progress.svg`, `completion.svg`, `forecast.svg`) are not in this folder. You draw them yourself from the recipes, or skip them.

The Dashboard is not a report. Text tables carry the data (links, dates); charts carry the state at a glance. **All dashboard charts are SVG images** — full color control, they render in Obsidian, on GitHub, and in any browser, and the agent writes them with plain file tools. Mermaid stays for lesson diagrams (section 2); the Dashboard grid is SVG only, because Mermaid code blocks cannot sit inside a table cell.

**Html-mode dashboards are the exception** (`output_format.dashboard: html` in the learner profile): their charts are the inline SVG progress rings rendered by the tutor skill's html dashboard templates (Cards overview + per-subject focus pages) — no `assets/` chart files, no markdown grid, none of the recipes below. The fixed palette carries over: the html rings use the same hues. Everything else in this section applies to markdown dashboards (the default).

#### Fixed palette — vibrant, no variety

| Role | Color |
|---|---|
| Accent — progress arcs, pie slices, bars | `#22d3ee` |
| Accent-deep — big numbers | `#0891b2` |
| Neutral — tracks, remainder slices, gridlines, zero-stubs | `#3f3f46` |
| Muted — labels and captions | `#8b8b8b` |

One cyan hue plus neutrals, chosen to work on light and dark themes. Do not introduce other colors.

#### The grid

Embed the charts in a markdown table so they render side by side in Obsidian and on GitHub:

```markdown
| Progress | Completion | Reviews due |
|---|---|---|
| ![](<subject>/assets/progress.svg) | ![](<subject>/assets/completion.svg) | ![](<subject>/assets/forecast.svg) |

(These three image files do not exist in this copy. The line above shows the layout only. You draw each one from the recipes below.)
```

- Use standard image syntax with paths **relative to `Learning/Dashboard.md`** — portable everywhere (wikilink embeds do not render on GitHub).
- Multiple active subjects: one `progress.svg` per subject — donuts first, then `completion.svg` and `forecast.svg`. Start a new row after three cells.
- Update the charts whenever the tables change — a stale chart is worse than text.

#### Donut — `<subject>/assets/progress.svg`

Deterministic, ~15 elements:

- Circle `r="45"`, `stroke-width="16"`, `fill="none"`.
- Track circle: full ring, neutral `#3f3f46`.
- Progress arc: same radius, accent `#22d3ee`, `stroke-dasharray="<dash> 282.7"` where `dash = 282.7 · fraction` (`C = 2·π·45 ≈ 282.7`). Rotate `-90°` around center so it starts at 12 o'clock.
- Center text: the percentage (font-size ≥ 28, `#0891b2`). Labels under the donut in `#8b8b8b`: subject, n/m topics, phase.
- Obey the SVG rules in section 3 (transparent background, no scripts, no remote references).

#### Completion pie — `<subject>/assets/completion.svg`

Two slices, `viewBox="0 0 200 200"`, center (100,100), radius 80:

- Completed fraction `f = done / total`, angle `a = f · 360°` from 12 o'clock clockwise.
- Arc end point: `x = 100 + 80·sin(a)`, `y = 100 − 80·cos(a)`.
- Completed slice (accent): `M 100 100 L 100 20 A 80 80 0 {1 if a > 180° else 0} 1 {x} {y} Z`
- Remainder (neutral): `M 100 100 L {x} {y} A 80 80 0 {1 if a < 180° else 0} 1 100 20 Z`
- Center: `done/total` (font-size ≥ 28, `#0891b2`). Caption in `#8b8b8b`.

#### Review forecast — `<subject>/assets/forecast.svg`

Bars, one per day for the next 7 days, `viewBox="0 0 340 200"`:

- 7 bars: width 28, spacing 42, baseline `y=150`. Scale: 1 note = 60 px (`height = value · 60`).
- Value 0 → a 3 px neutral stub at the baseline.
- Bars accent `#22d3ee`, baseline and stubs `#3f3f46`, day labels (font-size 14) and title `#8b8b8b`.

### 5. Delegating to subagents (skip for a single diagram)

Optional. Skip this section if your AI has no subagents.

If the agent supports delegation/subagents (e.g. pi's `subagent` tool with `mermaid-maker` / `svg-maker` agents, or Claude Code subagents), hand off complex or high-effort visuals so the main conversation stays focused:

- Pass the concept, the audience level, and relevant note content.
- Review and validate the returned diagram before embedding.

The diagram and illustration work can run in parallel when a lesson needs both.

### 6. Placement in notes

- Diagram goes right after the concept it explains — never in an "appendix" at the bottom.
- Give every visual a one-line caption explaining what to notice (`*Figure: notice how X feeds back into Y*`).
- Reference the figure in the text ("as shown below").

<!-- next: written by tools/add-needs.mjs for AI Blocks; not part of the original skill. Edit that tool, not this section. -->
### After this
When you've handed it back, suggest what they could do next in one short question. It's a suggestion: if they're done, that's fine. Offer these, and say they can type their own:
- The [Study notebook reviewer](https://useaiblocks.com/skills/study-notebook-review). It takes the document.
- The [Study gap tracker](https://useaiblocks.com/skills/study-gap-tracker). It takes the document.
- The [Study revision coach](https://useaiblocks.com/skills/study-revision-coach). It takes the document.
If they pick one and that skill is added here, carry straight on with what you just made. If not, give the link and say what to bring.
<!-- /next -->
