Token导航 LogoToken导航TokenDH.com
研究检索执行命令github未标认证来源可访问许可证需确认审计通过

excalidraw-diagramExcalidraw 图表开发

Agent Skill

excalidraw-diagram 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

447

周安装

19

GitHub Stars

9

下载量

157
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:excalidraw-diagram(Excalidraw 图表开发)
来源仓库:https://github.com/aiagentwithdhruv/skills
仓库路径:skills/excalidraw-diagram
安装命令:
npx skills add https://github.com/aiagentwithdhruv/skills --skill excalidraw-diagram
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/aiagentwithdhruv/skills --skill excalidraw-diagram

简介

excalidraw-diagram 用于绘制技术性图表,支持架构图、流程图等多种可视化表达形式。

  • 在生成前会主动澄清需求细节,并在必要时进行外部知识检索以确保准确性。
  • 通过 npx skills add 命令安装,具体绘图指令请参考其 SKILL.md 文档。
  • 输出结果为 Excalidraw JSON 格式,可直接导入编辑器查看或二次编辑。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Workflow

Step 1: Understand the request

Before generating anything, make sure you know:

  • What concept or system are they diagramming?
  • What are the major components or sections?
  • What is the flow or relationship between them?

If the request is vague (e.g., "make a diagram of Docker"), ask 1-2 clarifying questions:

  • What specific aspect? (architecture, networking, volumes, etc.)
  • What level of detail? (high-level overview vs. detailed internals)

Step 2: Research if needed

If you're not confident about the technical accuracy of the concept, research it before diagramming. Verify:

  • Correct component names and relationships
  • Proper hierarchy and nesting
  • Accurate data flow direction

Step 3: Plan the layout

Before writing any JSON, sketch the layout mentally:

  • What are the major sections? (left-to-right or top-to-bottom)
  • What is nested inside what?
  • What arrows connect what?

Write down the section plan:

[Section A: w=170] --40px gap-- [Section B: w=170] --40px gap-- [Section C: w=640]

Step 4: Generate elements

Build elements in order:

  1. Outer boxes / containers first
  2. Section header text
  3. Nested elements (top to bottom within each section)
  4. Arrows and arrow labels last

Step 5: Save and deliver

  1. Save to [concept-slug].excalidraw in the current directory
  2. Show the full JSON in a code block so the user can copy it directly
  3. Briefly describe what the diagram shows and what each color zone represents
  4. Tell the user how to use the file:
How to view and edit your diagram: - Go to excalidraw.com (free, no account needed) - Option A: Click the menu (top-left hamburger icon) > "Open" > select the .excalidraw file - Option B: Copy the JSON code block above, open excalidraw.com, and paste it with Ctrl+V / Cmd+V - Every element is fully editable -- drag to move, grab handles to resize, double-click to edit text

Step 6: Handle feedback

If the user asks for changes:

  • Shifting an element = update x/y on that element + all elements that depend on it
  • Changing text = update both text and originalText fields
  • Adding a zone = assign it a new color from the palette, keep spacing consistent
  • If a diagram gets complex (20+ elements), build it section by section to avoid coordinate errors

Critical Rule: Text Contrast

Text inside colored shapes must be readable. Use #1e1e1e (near-black) or #343a40 (dark charcoal) for all text inside filled shapes. Never use the zone's stroke color for text sitting on that zone's background (e.g., yellow text on a yellow card is unreadable). Reserve the zone's strokeColor for shape borders and arrows only.


Design Principles

Color tells the story: One color per logical zone. Everything in the "input" zone is blue. Everything in the "output" zone is green. The viewer should understand structure before reading a word.

Nesting shows containment: If X lives inside Y, X's box is drawn inside Y's box with consistent padding. Coordinates are absolute, not relative: child_x = parent_x + padding.

Labels are short: 2-5 words per label. Longer explanations become annotations with smaller fontSize and muted color (#868e96).

White space is structure: 15px minimum gap between siblings. 40px minimum between major sections.

Arrows carry intent: Color arrows to match purpose. Label every non-obvious arrow.


Layout System

Always plan coordinates before writing JSON.

  1. Identify major sections (left-to-right or top-to-bottom)
  2. Assign fixed width and starting x to each section
  3. Calculate gaps: 40-60px between major sections, 15-25px between siblings
  4. Work top-to-bottom within sections: next_y = current_y + current_height + gap

Padding rules:

  • Outer box to inner label: 8-10px top offset
  • Outer box to nested box: 10-15px offset on all sides
  • Sibling elements: 10-15px gap

Text width trick: Set text width = parent box width. Text centers automatically when textAlign: "center".

Arrow labels: Position as separate text elements, 20-25px above the arrow's midpoint y, with width and x matching the arrow.

Coordinate math example:

Section A: x=30,  w=170  -> right edge = 200
Gap:                        40px
Section B: x=240, w=170  -> right edge = 410
Gap:                        40px
Section C: x=450, w=600  -> right edge = 1050

Color System

ZoneUse forstrokeColorbackgroundColor
BlueInput, source, external services#1971c2#e7f5ff
YellowProcessing, transformation#f59f00#fff9db
GreenOutput, containers, success#2f9e44#d3f9d8
PurpleShared layers, infrastructure#862e9c#f3d9fa
RedHost OS, warnings, errors#c92a2a#ffe3e3
GrayHardware, neutral containers#495057#f8f9fa

For nested elements, vary the fill intensity:

  • Outer: lightest (e.g., #d3f9d8)
  • Inner: medium (e.g., #8ce99a)
  • Deep inner: light-medium (e.g., #b2f2bb)

Typography Scale

RolefontSizefontFamily
Diagram title32-361 (Virgil)
Section header20-241
Element label16-181
Annotation14-151
Small note12-131
Code label14-163 (Cascadia)

Text width = parent box width. Text x/y offset ~8-10px from box x/y for padding.


Element Schema

Every element needs these base fields. Do not omit any.

Base fields (all types)

{
  "id": "unique-string",
  "type": "rectangle|ellipse|diamond|arrow|line|text|freedraw",
  "x": 0, "y": 0,
  "width": 100, "height": 50,
  "angle": 0,
  "strokeColor": "#1e1e1e",
  "backgroundColor": "transparent",
  "fillStyle": "solid",
  "strokeWidth": 2,
  "strokeStyle": "solid",
  "roughness": 1,
  "opacity": 100,
  "groupIds": [],
  "frameId": null,
  "roundness": null,
  "boundElements": [],
  "updated": 1,
  "link": null,
  "locked": false
}

Text fields (add to base)

{
  "text": "Label text",
  "fontSize": 16,
  "fontFamily": 1,
  "textAlign": "center",
  "verticalAlign": "top",
  "containerId": null,
  "originalText": "Label text",
  "lineHeight": 1.25
}

Arrow fields (add to base)

{
  "points": [[0, 0], [100, 0]],
  "lastCommittedPoint": null,
  "startBinding": null,
  "endBinding": null,
  "startArrowhead": null,
  "endArrowhead": "arrow"
}

Key values

  • fontFamily: 1 = Virgil (handwritten, default), 2 = Helvetica, 3 = Cascadia (monospace)
  • roughness: 0 = smooth, 1 = slightly rough (default Excalidraw feel), 2 = very rough
  • fillStyle: "solid" for clean diagrams, "hachure" for classic Excalidraw hatching
  • roundness: null = sharp corners, {"type": 3} = rounded rectangles, {"type": 2} = curved arrows
  • strokeStyle: "solid", "dashed" (optional connections), "dotted"

Common Patterns

Labeled box

[Rect: x, y, w, h]
[Title text: x, y+10, w, fontSize=18]
[Subtitle: x, y+38, w, fontSize=14, strokeColor=#868e96]

Nested container

[Host rect: x=0, y=0, w=640, h=500]
[Host label: x=0, y=10, w=640]
[Item 1: x=15, y=50, w=190, h=200]
[Item 2: x=225, y=50, w=190, h=200]
[Item 3: x=435, y=50, w=190, h=200]

Arrow with label

[Arrow: x=start_x, y=mid_y, width=gap_width, points=[[0,0],[gap_width,0]]]
[Label: x=start_x, y=mid_y-25, width=gap_width, textAlign=center]

JSON Wrapper

Every diagram uses this shell:

{
  "type": "excalidraw",
  "version": 2,
  "source": "https://excalidraw.com",
  "elements": [ ... ],
  "appState": {
    "gridSize": null,
    "viewBackgroundColor": "#ffffff"
  },
  "files": {}
}

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.83%
按下载量换算59

Claude

32.96%
按下载量换算52

Cursor

17.2%
按下载量换算27

Gemini CLI

8.74%
按下载量换算14

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/aiagentwithdhruv/skills --skill excalidraw-diagram 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills