From emacs-skills
Generates Mermaid diagrams from current context as PNG images with Emacs color theme matching and transparent backgrounds. Invoke via /mermaid for inline markdown rendering.
npx claudepluginhub xenodium/emacs-skillsThis skill uses the workspace's default tool permissions.
Create a diagram from the most recent interaction context using Mermaid. Generate a PNG image with a transparent background and output it as a markdown image so it renders inline.
Generates PlantUML diagrams from current context as transparent PNG images with Emacs theme-matched colors, outputs inline Markdown image via /plantuml.
Generates Mermaid diagrams—flowcharts, sequence, ERD, class, state, Gantt—from text using mmdc CLI. Outputs SVG, PNG, PDF for Markdown docs and READMEs.
Generates Mermaid diagrams from text descriptions by analyzing intent to select types like activity, sequence, deployment, architecture, class, ER, or state.
Share bugs, ideas, or general feedback.
Create a diagram from the most recent interaction context using Mermaid. Generate a PNG image with a transparent background and output it as a markdown image so it renders inline.
emacsclient --eval '(face-foreground (quote default))'
emacsclient --eval '(frame-parameter nil (quote background-mode))'
The first returns a hex color like "#eeffff". The second returns dark or light. Reuse both for all subsequent diagrams."theme" to "dark" or "default" based on the background mode.mmdc with -t dark if background mode is dark, or -t default if light.
# Use -t dark for dark, -t default for light
PUPPETEER_EXECUTABLE_PATH=/opt/homebrew/bin/chromium mmdc \
-i /tmp/agent-diagram-XXXX.mmd \
-o /tmp/agent-diagram-XXXX.png \
-t dark -b transparent --scale 2 \
--configFile /tmp/agent-diagram-XXXX-config.json
Write this JSON config file to apply the Emacs foreground color. Replace #eeffff with the queried color. Set "theme" to "dark" or "default" based on the Emacs background mode.
{
"theme": "dark",
"themeVariables": {
"primaryTextColor": "#eeffff",
"secondaryTextColor": "#eeffff",
"tertiaryTextColor": "#eeffff",
"primaryBorderColor": "#eeffff",
"lineColor": "#eeffff",
"textColor": "#eeffff",
"actorTextColor": "#eeffff",
"actorBorder": "#eeffff",
"signalColor": "#eeffff",
"signalTextColor": "#eeffff",
"labelTextColor": "#eeffff",
"loopTextColor": "#eeffff",
"noteTextColor": "#eeffff",
"noteBorderColor": "#eeffff",
"sectionTextColor": "#eeffff",
"titleColor": "#eeffff"
}
}
sequenceDiagram
participant a as Alice
participant b as Bob
a->>b: Hello
b-->>a: Hi back
(frame-parameter nil 'background-mode). Use -t dark for dark or -t default for light. Always use -b transparent --scale 2.PUPPETEER_EXECUTABLE_PATH=/opt/homebrew/bin/chromium when invoking mmdc.themeVariables set to the queried foreground color and pass it via --configFile./tmp/agent-diagram-$(date +%s).png). Never use descriptive names.) on its own line.