Skip to content
cccskills
FreePublished on GitHub

markdown-mermaid-writing

Create reports, guides, and project documents in Markdown with Mermaid, a text-based diagram format. Use document templates and style guides to explain workflows, relationships, and timelines while keeping text and diagrams editable and suitable for version control.

OriginalShow the original description

Comprehensive markdown and Mermaid diagram writing skill that establishes text-based diagrams as the DEFAULT documentation standard. Use this skill when creating ANY scientific document, report, analysis, or visualization — it ensures all outputs are in version-controlled, token-efficient markdown with embedded Mermaid diagrams as the source of truth, with clear pathways to downstream Python or AI-generated images. Includes full style guides (markdown + mermaid), 24 diagram type references, and 9 document templates ready to use.

Works withNotionGitLab

Run score Not tested

See how to install

Good for

  • Writing research reports with explanatory diagrams
  • Documenting workflows and system relationships
  • Preparing project timelines and status reports
  • Standardizing guides and decision records

Files included (37)

  • SKILL.md14.8 KB
  • assets/examples/example-research-report.md8.8 KB
  • references/diagrams/architecture.md4.3 KB
  • references/diagrams/block.md4.7 KB
  • references/diagrams/c4.md6.1 KB
  • references/diagrams/class.md8.3 KB
  • references/diagrams/complex_examples.md16.7 KB
  • references/diagrams/er.md7.4 KB
  • references/diagrams/flowchart.md6.8 KB
  • references/diagrams/gantt.md5.7 KB
  • references/diagrams/git_graph.md2.0 KB
  • references/diagrams/kanban.md3.5 KB
  • references/diagrams/mindmap.md2.2 KB
  • references/diagrams/packet.md1.7 KB
  • references/diagrams/pie.md1.5 KB
  • references/diagrams/quadrant.md2.1 KB
  • references/diagrams/radar.md2.1 KB
  • references/diagrams/requirement.md2.4 KB
  • references/diagrams/sankey.md2.1 KB
  • references/diagrams/sequence.md5.4 KB
  • references/diagrams/state.md5.3 KB
  • references/diagrams/timeline.md4.1 KB
  • references/diagrams/treemap.md2.0 KB
  • references/diagrams/user_journey.md4.9 KB
  • references/diagrams/xy_chart.md1.8 KB
  • references/diagrams/zenuml.md2.2 KB
  • references/markdown_style_guide.md34.3 KB
  • references/mermaid_style_guide.md25.8 KB
  • templates/decision_record.md7.0 KB
  • templates/how_to_guide.md6.9 KB
  • templates/issue.md12.5 KB
  • templates/kanban.md11.1 KB
  • templates/presentation.md7.9 KB
  • templates/project_documentation.md11.2 KB
  • templates/pull_request.md12.6 KB
  • templates/research_paper.md9.9 KB
  • templates/status_report.md7.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Markdown and Mermaid Writing

Overview

This skill teaches you — and enforces a standard for — creating scientific documentation using markdown with embedded Mermaid diagrams as the default and canonical format.

The core bet: a relationship expressed as a Mermaid diagram inside a .md file is more valuable than any image. It is text, so it diffs cleanly in git. It requires no build step. It renders natively on GitHub, GitLab, Notion, VS Code, and any markdown viewer. It uses fewer tokens than a prose description of the same relationship. And it can always be converted to a polished image later — but the text version remains the source of truth.

"The more you get your reports and files in .md in just regular text, which mermaid is as well as being a simple 'script language'. This just helps with any downstream rendering and especially AI generated images (using mermaid instead of just long form text to describe relationships < tokens). Additionally mermaid can render along with markdown for easy use almost anywhere by humans or AI."

— Clayton Young (@borealBytes), K-Dense Discord, 2026-02-19

When to Use This Skill

Use this skill when:

  • Creating any scientific document — reports, analyses, manuscripts, methods sections
  • Writing any documentation — READMEs, how-tos, decision records, project docs
  • Producing any diagram — workflows, data pipelines, architectures, timelines, relationships
  • Generating any output that will be version-controlled — if it's going into git, it should be markdown
  • Working with any other skill — this skill defines the documentation layer that wraps every other output
  • Someone asks you to "add a diagram" or "visualize the relationship" — Mermaid first, always

Do NOT start with Python matplotlib, seaborn, or AI image generation for structural or relational diagrams. Those are Phase 2 and Phase 3 — only used when Mermaid cannot express what's needed (e.g., scatter plots with real data, photorealistic images).

🎨 The Source Format Philosophy

Why text-based diagrams win

What mattersMermaid in MarkdownPython / AI Image
Git diff readable✅❌ binary blob
Editable without regenerating✅❌
Token efficient vs. prose✅ smaller❌ larger
Renders without a build step✅❌ needs hosting
Parseable by AI without vision✅❌
Works in GitHub / GitLab / Notion✅⚠️ if hosted
Accessible (screen readers)✅ accTitle/accDescr⚠️ needs alt text
Convertible to image later✅ anytime— already image

The three-phase workflow

flowchart LR
    accTitle: Three-Phase Documentation Workflow
    accDescr: Phase 1 Mermaid in markdown is always required and is the source of truth. Phases 2 and 3 are optional downstream conversions for polished output.

    p1["📄 Phase 1<br/>Mermaid in Markdown<br/>(ALWAYS — source of truth)"]
    p2["🐍 Phase 2<br/>Python Generated<br/>(optional — data charts)"]
    p3["🎨 Phase 3<br/>AI Generated Visuals<br/>(optional — polish)"]
    out["📊 Final Deliverable"]

    p1 --> out
    p1 -.->|"when needed"| p2
    p1 -.->|"when needed"| p3
    p2 --> out
    p3 --> out

    classDef required fill:#dbeafe,stroke:#2563eb,stroke-width:2px,color:#1e3a5f
    classDef optional fill:#fef9c3,stroke:#ca8a04,stroke-width:2px,color:#713f12
    classDef output fill:#dcfce7,stroke:#16a34a,stroke-width:2px,color:#14532d

    class p1 required
    class p2,p3 optional
    class out output

Phase 1 is mandatory. Even if you proceed to Phase 2 or 3, the Mermaid source stays committed.

What Mermaid can express

Mermaid covers 24 diagram types. Almost every scientific relationship fits one:

Use caseDiagram typeFile
Experimental workflow / decision logicFlowchartreferences/diagrams/flowchart.md
Service interactions / API calls / messagingSequencereferences/diagrams/sequence.md
Data model / schemaER diagramreferences/diagrams/er.md
State machine / lifecycleStatereferences/diagrams/state.md
Project timeline / roadmapGanttreferences/diagrams/gantt.md
Proportions / compositionPiereferences/diagrams/pie.md
System architecture (zoom levels)C4references/diagrams/c4.md
Concept hierarchy / brainstormMindmapreferences/diagrams/mindmap.md
Chronological events / historyTimelinereferences/diagrams/timeline.md
Class hierarchy / type relationshipsClassreferences/diagrams/class.md
User journey / satisfaction mapUser Journeyreferences/diagrams/user_journey.md
Two-axis comparison / prioritizationQuadrantreferences/diagrams/quadrant.md
Requirements traceabilityRequirementreferences/diagrams/requirement.md
Flow magnitude / resource distributionSankeyreferences/diagrams/sankey.md
Numeric trends / bar + line chartsXY Chartreferences/diagrams/xy_chart.md
Component layout / spatial arrangementBlockreferences/diagrams/block.md
Work item status / task columnsKanbanreferences/diagrams/kanban.md
Cloud infrastructure / service topologyArchitecturereferences/diagrams/architecture.md
Multi-dimensional comparison / skills radarRadarreferences/diagrams/radar.md
Hierarchical proportions / budgetTreemapreferences/diagrams/treemap.md
Binary protocol / data formatPacketreferences/diagrams/packet.md
Git branching / merge strategyGit Graphreferences/diagrams/git_graph.md
Code-style sequence (programming syntax)ZenUMLreferences/diagrams/zenuml.md
Multi-diagram composition patternsComplex Examplesreferences/diagrams/complex_examples.md

💡 Pick the right type, not the easy one. Don't default to flowcharts for everything. A timeline beats a flowchart for chronological events. A sequence beats a flowchart for service interactions. Scan the table and match.


🔧 Core workflow

Step 1: Identify the document type

Check if a template exists before writing from scratch:

Document typeTemplate
Pull request recordtemplates/pull_request.md
Issue / bug / feature requesttemplates/issue.md
Sprint / project boardtemplates/kanban.md
Architecture decision (ADR)templates/decision_record.md
Presentation / briefingtemplates/presentation.md
Research paper / analysistemplates/research_paper.md
Project documentationtemplates/project_documentation.md
How-to / tutorialtemplates/how_to_guide.md
Status reporttemplates/status_report.md

Step 2: Read the style guide

Before writing any .md file: read references/markdown_style_guide.md.

Key rules to internalize:

  • One H1 per document — the title. Never more.
  • Emoji on H2 headings only — one emoji per H2, none in H3/H4
  • Cite everything — every external claim gets a footnote [^N] with full URL
  • Bold sparingly — max 2-3 bold terms per paragraph, never full sentences
  • Horizontal rule after every </details> — mandatory
  • Tables over prose for comparisons, configurations, structured data
  • Diagrams over walls of text — if it describes flow, structure, or relationships, add Mermaid

Step 3: Pick the diagram type and read its guide

Before creating any Mermaid diagram: read references/mermaid_style_guide.md.

Then open the specific type file (e.g., references/diagrams/flowchart.md) for the exemplar, tips, and copy-paste template.

Mandatory rules for every diagram:

accTitle: Short Name 3-8 Words
accDescr: One or two sentences explaining what this diagram shows.
  • No %%{init} directives — breaks GitHub dark mode
  • No inline style — use classDef only
  • One emoji per node max — at the start of the label
  • snake_case node IDs — match the label

Step 4: Write the document

Start from the template. Apply the markdown style guide. Place diagrams inline with related text — not in a separate "Figures" section.

Step 5: Commit as text

The .md file with embedded Mermaid is what gets committed. If you also generated a PNG or AI image, those are supplementary — the markdown is the source.


⚠️ Common pitfalls

Radar chart syntax (radar-beta)

WRONG:

radar
title Example
x-axis ["A", "B", "C"]
"Series" : [1, 2, 3]

CORRECT:

radar-beta
title Example
axis a["A"], b["B"], c["C"]
curve series["Series"]{1, 2, 3}
max 3
  • Use radar-beta not radar (the bare keyword doesn't exist)
  • Use axis to define dimensions, not x-axis
  • Use curve to define data series, not quoted labels with colon
  • No accTitle/accDescr — radar-beta doesn't support accessibility annotations; always add a descriptive italic paragraph above the diagram

XY Chart vs Radar confusion

DiagramKeywordAxis syntaxData syntax
XY Chart (bars/lines)xychart-betax-axis ["Label1", "Label2"]bar [10, 20] or line [10, 20]
Radar (spider/web)radar-betaaxis id["Label"]curve id["Label"]{10, 20}

Forgetting accTitle/accDescr on supported types

Only some diagram types support accTitle/accDescr. For those that don't, always place a descriptive italic paragraph directly above the code block:

Radar chart comparing three methods across five performance dimensions. Note: Radar charts do not support accTitle/accDescr.

radar-beta
...

🔗 Integration with other skills

With scientific-schematics

scientific-schematics generates AI-powered publication-quality images (PNG). Use the Mermaid diagram as the brief for the schematic:

Workflow:
1. Create the concept as Mermaid in .md (this skill — Phase 1)
2. Describe the same concept to scientific-schematics for a polished PNG (Phase 3)
3. Commit both — the .md as source, the PNG as a supplementary figure

With scientific-writing

When scientific-writing produces a manuscript, all diagrams and structural figures should use this skill's standards. The writing skill handles prose and citations; this skill handles visual structure.

Workflow:
1. Use scientific-writing to draft the manuscript
2. For every figure that shows a workflow, architecture, or relationship:
   - Replace placeholder with a Mermaid diagram following this skill's guide
3. Use scientific-schematics only for figures that truly need photorealistic/complex rendering

With literature-review

Literature review produces summaries with lots of relationship data. Use this skill to:

  • Create concept maps (Mindmap) of the literature landscape
  • Show publication timelines (Timeline or Gantt)
  • Compare methodologies (Quadrant or Radar)
  • Diagram data flows described in papers (Sequence or Flowchart)

With any skill that produces output documents

Before finalizing any document from any skill, apply this skill's checklist:

  • Does the document use a template? If so, did I start from the right one?
  • Are all diagrams in Mermaid with accTitle + accDescr?
  • No %%{init}, no inline style, only classDef?
  • Are all external claims cited with [^N]?
  • One H1, emoji on H2 only?
  • Horizontal rules after every </details>?

📚 Reference index

Style guides

GuidePathLinesWhat it covers
Markdown Style Guidereferences/markdown_style_guide.md~733Headings, formatting, citations, tables, Mermaid integration, templates, quality checklist
Mermaid Style Guidereferences/mermaid_style_guide.md~458Accessibility, emoji set, color classes, theme neutrality, type selection, complexity tiers

Diagram type guides (24 types)

Each file contains: production-quality exemplar, tips specific to that type, and a copy-paste template.

references/diagrams/ — architecture, block, c4, class, complex_examples, er, flowchart, gantt, git_graph, kanban, mindmap, packet, pie, quadrant, radar, requirement, sankey, sequence, state, timeline, treemap, user_journey, xy_chart, zenuml

Document templates (9 types)

templates/ — decision_record, how_to_guide, issue, kanban, presentation, project_documentation, pull_request, research_paper, status_report

Examples

assets/examples/example-research-report.md — a complete scientific research report demonstrating proper heading hierarchy, multiple diagram types (flowchart, sequence, gantt), tables, footnote citations, collapsible sections, and all style guide rules applied.


📝 Attribution

All style guides, diagram type guides, and document templates in this skill are ported from the SuperiorByteWorks-LLC/agent-project repository under the Apache-2.0 License.

This skill (as part of claude-scientific-skills) is distributed under the MIT License. The included Apache-2.0 content is compatible for downstream use with attribution retained, as preserved in the file headers throughout this skill.


Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

adaptyv

FreeSummary

Support experimental validation of designed proteins through a cloud laboratory. Prepare and optimize sequences, submit tests for binding, expression, thermal stability, or enzyme activity, track experiment progress, and retrieve results through the API.

  • Submit designed proteins for binding tests
  • Request expression, thermal stability, or enzyme activity tests
  • Optimize sequences for solubility before experiments
foryourhealth111-pixel/Vibe-Skills3.8KUpdated Oct 23, 2026

aeon

FreeSummary

Analyze time series, observations ordered over time, using aeon in Python. Build classification, prediction, and clustering workflows, detect unusual patterns or changes, and compare methods through an interface compatible with scikit-learn.

  • Classifying time series by their patterns
  • Forecasting future values from past observations
  • Detecting anomalies and change points
foryourhealth111-pixel/Vibe-Skills3.8KUpdated Oct 23, 2026

algorithmic-art

FreeSummary

Create original generative art with p5.js, using code to produce patterns and motion. Receive a written artistic concept and an interactive HTML viewer with adjustable parameters, reproducible random variations, seed navigation, and PNG downloads.

  • Create art from particle motion and flow fields
  • Explore patterns by adjusting sliders
  • Reproduce a favorite variation with the same seed
foryourhealth111-pixel/Vibe-Skills3.8KUpdated Oct 23, 2026

alpha-vantage

FreeSummary

Retrieve stock prices, exchange rates, cryptocurrency prices, company financial statements, and economic indicators through the Alpha Vantage API. It also covers historical data, news sentiment, and technical indicators, which summarize price and trading patterns.

  • Retrieve historical stock prices and trading volumes
  • Collect company financial statements and earnings data
  • Check foreign exchange and cryptocurrency prices
foryourhealth111-pixel/Vibe-Skills3.8KUpdated Oct 23, 2026

Design backend systems with clear boundaries between business rules, databases, and external services. Use Clean Architecture, Hexagonal Architecture, and Domain-Driven Design to organize new applications, refactor existing code, and make core logic easier to test.

  • Planning the structure of a new backend
  • Refactoring tightly coupled applications
  • Testing business rules independently of external services
foryourhealth111-pixel/Vibe-Skills3.8KUpdated Oct 23, 2026

astropy

FreeSummary

Helps process astronomical data in Python by converting coordinates, units, and time scales, working with FITS observation files, matching object catalogs, and calculating distances using cosmological models.

  • Converting celestial coordinates
  • Reading and editing FITS observation files
  • Matching objects across astronomical catalogs
foryourhealth111-pixel/Vibe-Skills3.8KUpdated Oct 23, 2026

See all skills by foryourhealth111-pixel

Report a problem with this skill