xenodium/emacs-skills/d2
Claude Code and agent skill by xenodium/emacs-skills
- community
Checking that the SKILL.md file is still in the repository.
This skill should be used when the user invokes "/d2" to create a diagram from the current context using D2 and output the resulting image path.
Install
npx vskill@latest install xenodium/emacs-skills/d2SKILL.md
Create diagrams with D2
Create a diagram from the most recent interaction context using D2. Generate a PNG image and output it as a markdown image so it renders inline.
How to create a diagram
- Extract or derive diagrammable data from the current context.
- If the Emacs foreground color and background mode are not already known from a previous diagram in this session, query them:
``sh 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.
- Write a D2 file to a temporary file using the foreground color.
- Run D2 with
--theme 200if background mode isdark, or--theme 0iflight. - Output the result as a markdown image on its own line:
``  ``
D2 template
Use --theme 200 for dark or --theme 0 for light, based on the Emacs background mode. Apply the queried foreground color to style.font-color and style.stroke on nodes and edges.
Rules
- Query the Emacs foreground color once per session and reuse it for all subsequent diagrams. Only query again if the color is not already known.
- Query the Emacs background mode once per session via
(frame-parameter nil 'background-mode). Use--theme 200fordarkor--theme 0forlight. Always use--pad 40. - Always use a timestamp in the filename (e.g.,
/tmp/agent-diagram-$(date +%s).png). Never use descriptive names. - Set the queried foreground color on
style.font-colorandstyle.strokefor all nodes and edges so the diagram is readable on the user's Emacs background. - Use meaningful fill colors to distinguish different types of elements.
- After D2 runs successfully, output a markdown image (
) on its own line. - Choose an appropriate layout direction and structure for the data.
- Include labels on edges when they add clarity.
- If no diagrammable data exists in the recent context, inform the user.
Security
- Security scanPassed, 85 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/d2/SKILL.md
Popularity
- Repository stars
- 65
- Repository forks
- 8
- 7-day trend score
- 21
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 18 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/xenodium/emacs-skills/d2)