跳到正文
cccskills
免费在 GitHub 公开

Excalidraw Flowchart

Create Excalidraw flowcharts from descriptions. Use when user asks to "create a flowchart", "draw a diagram", "visualize a process", "make a flow diagram", "architecture diagram", or discusses workflow/process visualization. Supports DSL, DOT/Graphviz, and JSON formats.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(3)

  • SKILL.md8.0 KB
  • .clawhub/origin.json152 B
  • README.md2.4 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Excalidraw Flowchart Skill

Create professional flowcharts and diagrams as Excalidraw files that can be opened in Excalidraw.

When to Use This Skill

  • User asks to create a flowchart or diagram
  • User wants to visualize a process or workflow
  • User needs an architecture diagram
  • User mentions "excalidraw" or "flow diagram"
  • User wants to document decision trees

Prerequisites

The @swiftlysingh/excalidraw-cli tool must be installed:

npm install -g @swiftlysingh/excalidraw-cli

Or use via npx (no installation needed):

npx @swiftlysingh/excalidraw-cli create --inline "DSL" -o output.excalidraw

How to Create a Flowchart

Step 1: Analyze the Request

Identify from the user's description:

  • What are the main steps/nodes?
  • What are the decision points?
  • What is the flow direction?
  • Are there any loops or branches?

Step 2: Write the DSL

Use this DSL syntax to describe the flowchart:

SyntaxElementUse For
[Label]RectangleProcess steps, actions
{Label?}DiamondDecisions, conditionals
(Label)EllipseStart/End points
[[Label]]DatabaseData storage
![path]ImageInline images
![path](WxH)Sized ImageImages with explicit dimensions
->ArrowConnections
-> "text" ->Labeled ArrowConnections with labels
-->Dashed ArrowOptional/alternative paths

DSL Directives

DirectiveDescriptionExample
@directionSet flow direction@direction LR
@spacingSet node spacing@spacing 60
@imagePosition image@image logo.png at 100,50
@decorateAttach decoration to node@decorate icon.png top-right
@stickerAdd sticker from library@sticker checkmark at 200,100
@librarySet sticker library path@library ./assets/stickers
@scatterScatter images on canvas@scatter star.png count:5

Step 3: Generate the File

Run the CLI to create the .excalidraw file:

npx @swiftlysingh/excalidraw-cli create --inline "YOUR_DSL_HERE" -o flowchart.excalidraw

Or for multi-line DSL, use a heredoc:

npx @swiftlysingh/excalidraw-cli create --inline "$(cat <<'EOF'
(Start) -> [Step 1] -> {Decision?}
{Decision?} -> "yes" -> [Step 2] -> (End)
{Decision?} -> "no" -> [Step 3] -> [Step 1]
EOF
)" -o flowchart.excalidraw

Step 4: Inform the User

Tell the user:

  1. The file was created at the specified path
  2. They can open it in Excalidraw (https://excalidraw.com) via File > Open
  3. They can edit it further in Excalidraw if needed

DSL Examples

Simple Linear Flow

(Start) -> [Initialize] -> [Process Data] -> [Save Results] -> (End)

Decision Tree

(Start) -> [Receive Request] -> {Authenticated?}
{Authenticated?} -> "yes" -> [Process Request] -> (Success)
{Authenticated?} -> "no" -> [Return 401] -> (End)

Loop/Retry Pattern

(Start) -> [Attempt Operation] -> {Success?}
{Success?} -> "yes" -> [Continue] -> (End)
{Success?} -> "no" -> {Retry Count < 3?}
{Retry Count < 3?} -> "yes" -> [Increment Counter] -> [Attempt Operation]
{Retry Count < 3?} -> "no" -> [Log Failure] -> (Error)

Multi-Branch Flow

(User Input) -> {Input Type?}
{Input Type?} -> "text" -> [Parse Text] -> [Process]
{Input Type?} -> "file" -> [Read File] -> [Process]
{Input Type?} -> "url" -> [Fetch URL] -> [Process]
[Process] -> [Output Result] -> (Done)

With Database

[API Request] -> {Cache Hit?}
{Cache Hit?} -> "yes" -> [[Read Cache]] -> [Return Data]
{Cache Hit?} -> "no" -> [[Query Database]] -> [[Update Cache]] -> [Return Data]

CLI Options

  • -o, --output <file> - Output file path (default: flowchart.excalidraw)
  • -f, --format <type> - Input format: dsl, json, dot (default: auto-detected)
  • -d, --direction <TB|BT|LR|RL> - Flow direction (default: TB = top to bottom)
  • -s, --spacing <number> - Node spacing in pixels (default: 50)
  • --inline <dsl> - Inline DSL/DOT string
  • --stdin - Read input from stdin
  • --verbose - Verbose output

Example with options:

npx @swiftlysingh/excalidraw-cli create --inline "[A] -> [B] -> [C]" --direction LR --spacing 80 -o horizontal-flow.excalidraw

DOT/Graphviz Format (New in v1.1.0)

The CLI now supports DOT/Graphviz format for creating diagrams. This is useful when working with existing DOT files or when you prefer the DOT syntax.

DOT Syntax

digraph {
    rankdir=LR

    start [shape=ellipse label="Start"]
    process [shape=box label="Process Data"]
    decision [shape=diamond label="Valid?"]
    end [shape=ellipse label="End"]

    start -> process
    process -> decision
    decision -> end [label="yes"]
    decision -> process [label="no" style=dashed]
}

Supported DOT Features

FeatureDOT SyntaxMaps To
Rectangleshape=box or shape=rect[Label]
Diamondshape=diamond{Label}
Ellipseshape=ellipse or shape=circle(Label)
Databaseshape=cylinder[[Label]]
Directionrankdir=TB|BT|LR|RL@direction
Edge labels[label="text"]-> "text" ->
Dashed edges[style=dashed]-->
Colors[fillcolor="..." color="..."]Node styling

Using DOT Files

# From file (auto-detected by .dot or .gv extension)
npx @swiftlysingh/excalidraw-cli create diagram.dot -o output.excalidraw

# Inline DOT
npx @swiftlysingh/excalidraw-cli create --format dot --inline "digraph { A -> B -> C }" -o output.excalidraw

Images and Decorations (New in v1.1.0)

Image Nodes

Include images as flow elements:

(Start) -> ![logo.png](100x50) -> [Process] -> (End)

Positioned Images

Place images at specific positions:

@image background.png at 0,0
@image logo.png near (Start) top-right

(Start) -> [Process] -> (End)

Node Decorations

Attach small icons/badges to nodes:

[Deploy to Production]
@decorate checkmark.png top-right

[Review Required]
@decorate warning.png top-left

Decoration anchors: top, bottom, left, right, top-left, top-right, bottom-left, bottom-right

Sticker Library

Use a library of reusable stickers:

@library ./assets/stickers
@sticker success at 100,100
@sticker warning near (Error) top-right

Scatter Images

Distribute images randomly across the canvas:

@scatter confetti.png count:10
@scatter star.png count:5 width:20 height:20

Common Patterns

API Request Flow

[Client Request] -> [API Gateway] -> {Auth Valid?}
{Auth Valid?} -> "yes" -> [Route to Service] -> [[Database]] -> [Response]
{Auth Valid?} -> "no" -> [401 Unauthorized]

CI/CD Pipeline

(Push) -> [Build] -> [Test] -> {Tests Pass?}
{Tests Pass?} -> "yes" -> [Deploy Staging] -> {Manual Approval?}
{Manual Approval?} -> "yes" -> [Deploy Production] -> (Done)
{Manual Approval?} -> "no" -> (Cancelled)
{Tests Pass?} -> "no" -> [Notify Team] -> (Failed)

User Registration

(Start) -> [Enter Details] -> {Email Valid?}
{Email Valid?} -> "no" -> [Show Error] -> [Enter Details]
{Email Valid?} -> "yes" -> {Password Strong?}
{Password Strong?} -> "no" -> [Show Password Requirements] -> [Enter Details]
{Password Strong?} -> "yes" -> [[Save to Database]] -> [Send Verification Email] -> (Success)

Tips

  1. Keep labels concise - Use short, action-oriented text
  2. End decisions with ? - Makes it clear it's a conditional
  3. Use consistent naming - Helps with node deduplication
  4. Start with (Start) - Makes the entry point clear
  5. Test complex flows - Break into smaller parts if needed

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

1password

免费

Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.

中文简介正在准备中。当前显示原文说明。

danstrem2/clawdbot-skill-master-pack22026年2月1日 更新

Expert in building 3D experiences for the web - Three.js, React Three Fiber, Spline, WebGL, and interactive 3D scenes. Covers product configurators, 3D portfolios, immersive websites, and bringing depth to web experiences. Use when: 3D website, three.js, WebGL, react three fiber, 3D experience.

中文简介正在准备中。当前显示原文说明。

danstrem2/clawdbot-skill-master-pack22026年2月1日 更新

When the user wants to plan, design, or implement an A/B test or experiment. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," or "hypothesis." For tracking implementation, see analytics-tracking.

中文简介正在准备中。当前显示原文说明。

danstrem2/clawdbot-skill-master-pack22026年2月1日 更新

accli

免费

This skill should be used when interacting with Apple Calendar on macOS. Use it for listing calendars, viewing events, creating/updating/deleting calendar events, and checking availability/free-busy times. Triggers on requests like "check my calendar", "schedule a meeting", "what's on my schedule", "am I free tomorrow", or any calendar-related operations.

中文简介正在准备中。当前显示原文说明。

danstrem2/clawdbot-skill-master-pack22026年2月1日 更新

This skill should be used when the user asks to "attack Active Directory", "exploit AD", "Kerberoasting", "DCSync", "pass-the-hash", "BloodHound enumeration", "Golden Ticket", "Silver Ticket", "AS-REP roasting", "NTLM relay", or needs guidance on Windows domain penetration testing.

中文简介正在准备中。当前显示原文说明。

danstrem2/clawdbot-skill-master-pack22026年2月1日 更新

ActiveCampaign CRM integration for lead management, deal tracking, and email automation. Use for syncing demo leads, managing clinic sales pipeline, and triggering follow-up sequences.

中文简介正在准备中。当前显示原文说明。

danstrem2/clawdbot-skill-master-pack22026年2月1日 更新

查看 danstrem2 的全部技能

报告此技能的问题