Diagram Design
cathrynlavery/diagram-design
Creates branded diagrams, from architecture, flowchart and sequence to charts and maps, as self-contained HTML with inline SVG, with import from draw.io, Mermaid and Excalidraw.
Create hand-drawn style diagrams and flowcharts using Excalidraw
$ npx skills add aws-samples/sample-strands-agent-with-agentcore --skill excalidraw -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install aws-samples/sample-strands-agent-with-agentcore excalidraw --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/aws-samples/sample-strands-agent-with-agentcore.git skills-src && mkdir -p .claude/skills && cp -r skills-src/chatbot-app/agentcore/skills/excalidraw .claude/skills/excalidraw && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "excalidraw" agent skill from https://github.com/aws-samples/sample-strands-agent-with-agentcore/tree/main/chatbot-app/agentcore/skills/excalidraw into .claude/skills/excalidraw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excalidraw", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/aws-samples/sample-strands-agent-with-agentcore/tree/main/chatbot-app/agentcore/skills/excalidrawType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add aws-samples/sample-strands-agent-with-agentcore --skill excalidraw -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install aws-samples/sample-strands-agent-with-agentcore excalidraw --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aws-samples/sample-strands-agent-with-agentcore.git skills-src && mkdir -p .agents/skills && cp -r skills-src/chatbot-app/agentcore/skills/excalidraw .agents/skills/excalidraw && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "excalidraw" agent skill from https://github.com/aws-samples/sample-strands-agent-with-agentcore/tree/main/chatbot-app/agentcore/skills/excalidraw into .agents/skills/excalidraw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excalidraw", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aws-samples/sample-strands-agent-with-agentcore --skill excalidraw -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install aws-samples/sample-strands-agent-with-agentcore excalidraw --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aws-samples/sample-strands-agent-with-agentcore.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/chatbot-app/agentcore/skills/excalidraw .cursor/skills/excalidraw && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "excalidraw" agent skill from https://github.com/aws-samples/sample-strands-agent-with-agentcore/tree/main/chatbot-app/agentcore/skills/excalidraw into .cursor/skills/excalidraw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excalidraw", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/aws-samples/sample-strands-agent-with-agentcore.git --path chatbot-app/agentcore/skills/excalidraw--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add aws-samples/sample-strands-agent-with-agentcore --skill excalidraw -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install aws-samples/sample-strands-agent-with-agentcore excalidraw --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aws-samples/sample-strands-agent-with-agentcore.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/chatbot-app/agentcore/skills/excalidraw .gemini/skills/excalidraw && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "excalidraw" agent skill from https://github.com/aws-samples/sample-strands-agent-with-agentcore/tree/main/chatbot-app/agentcore/skills/excalidraw into .gemini/skills/excalidraw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excalidraw", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install aws-samples/sample-strands-agent-with-agentcore excalidrawInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add aws-samples/sample-strands-agent-with-agentcore --skill excalidraw -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/aws-samples/sample-strands-agent-with-agentcore.git skills-src && mkdir -p .github/skills && cp -r skills-src/chatbot-app/agentcore/skills/excalidraw .github/skills/excalidraw && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "excalidraw" agent skill from https://github.com/aws-samples/sample-strands-agent-with-agentcore/tree/main/chatbot-app/agentcore/skills/excalidraw into .github/skills/excalidraw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excalidraw", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aws-samples/sample-strands-agent-with-agentcore --skill excalidraw -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install aws-samples/sample-strands-agent-with-agentcore excalidraw --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aws-samples/sample-strands-agent-with-agentcore.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/chatbot-app/agentcore/skills/excalidraw .opencode/skills/excalidraw && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "excalidraw" agent skill from https://github.com/aws-samples/sample-strands-agent-with-agentcore/tree/main/chatbot-app/agentcore/skills/excalidraw into .opencode/skills/excalidraw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "excalidraw", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
excalidrawCreate hand-drawn style diagrams and flowcharts using Excalidraw
Excalidraw is an agent skill from aws-samples/sample-strands-agent-with-agentcore, published by the product's own GitHub organization. Create hand-drawn style diagrams and flowcharts using Excalidraw
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `diagram-patterns.md`).
It sits in Development, covering Diagrams. It works with Excalidraw. The repository describes itself as: Reference architecture for agentic AI chatbots with Strands Agents and Amazon Bedrock AgentCore. The licence is MIT.
Read from SKILL.md and the folder at commit 6dd9d13. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are json).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Excalidraw loads about 2.4k tokens when it runs. Until then it costs about 19 tokens; SKILL.md has 813 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from aws-samples/sample-strands-agent-with-agentcore at commit 6dd9d13, republished under its MIT licence (© aws-samples). 813 words, ~2,362 tokens.
.claude/skills/excalidraw/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Create hand-drawn style diagrams, flowcharts, architecture diagrams, and mind maps using the Excalidraw format. Diagrams are rendered interactively in the Canvas panel.
Use create_excalidraw_diagram when the user wants to visualize structure, flow, or relationships — not raw numbers.
| Use this skill for... | Use visualization skill for... |
|---|---|
| System architecture diagram | Sales figures by quarter |
| Flowchart or decision tree | Survey response percentages |
| Sequence / interaction diagram | Stock price over time |
| Mind map or concept map | Market share breakdown |
| Shapes, boxes, arrows, labels | Any x/y or segment/value data |
Choose based on user intent. For Swimlane, Class, Sequence, ER, and DFD diagrams, read diagram-patterns.md before generating.
| Intent | Type | Pattern |
|---|---|---|
| Process steps, workflow, decisions | Flowchart | Rectangles + diamonds + arrows (see Example) |
| System components, dependencies | Architecture | Zone rectangles + boxes + arrows |
| Concept hierarchy, brainstorming | Mind Map | Center node + radial branch arrows |
| Entity connections, associations | Relationship | Boxes + labeled arrows |
| Cross-functional workflow, actor responsibilities | Swimlane | diagram-patterns.md |
| OOP class structure, inheritance | Class Diagram | diagram-patterns.md |
| Object interactions over time | Sequence Diagram | diagram-patterns.md |
| Database entities and relationships | ER Diagram | diagram-patterns.md |
| Data transformation, data movement | DFD | diagram-patterns.md |
Use these colors consistently across all diagrams.
| Name | Hex | Use |
|---|---|---|
| Blue | #4a9eed | Primary actions, links |
| Amber | #f59e0b | Warnings, highlights |
| Green | #22c55e | Success, positive |
| Red | #ef4444 | Errors, negative |
| Purple | #8b5cf6 | Accents, special items |
| Cyan | #06b6d4 | Info, secondary |
| Color | Hex | Good For |
|---|---|---|
| Light Blue | #a5d8ff | Input, sources, primary nodes |
| Light Green | #b2f2bb | Success, output, completed |
| Light Orange | #ffd8a8 | Warning, pending, external |
| Light Purple | #d0bfff | Processing, middleware |
| Light Red | #ffc9c9 | Error, critical |
| Light Yellow | #fff3bf | Notes, decisions |
| Light Teal | #c3fae8 | Storage, data |
opacity: 35 for layer grouping)| Color | Hex | Good For |
|---|---|---|
| Blue zone | #dbe4ff | UI / frontend layer |
| Purple zone | #e5dbff | Logic / agent layer |
| Green zone | #d3f9d8 | Data / tool layer |
type, id (unique string), x, y, width, height
strokeColor="#1e1e1e", backgroundColor="transparent", fillStyle="solid", strokeWidth=2, roughness=1, opacity=100
Rectangle
{ "type": "rectangle", "id": "r1", "x": 100, "y": 100, "width": 200, "height": 80,
"roundness": { "type": 3 }, "backgroundColor": "#a5d8ff", "fillStyle": "solid" }roundness: { type: 3 } for rounded cornersEllipse
{ "type": "ellipse", "id": "e1", "x": 100, "y": 100, "width": 150, "height": 150 }Diamond
{ "type": "diamond", "id": "d1", "x": 100, "y": 100, "width": 150, "height": 150 }Label on shape (PREFERRED — no separate text element needed)
{ "type": "rectangle", "id": "r1", "x": 100, "y": 100, "width": 200, "height": 80,
"label": { "text": "My Label", "fontSize": 20 } }"label": { "text": "connects" }Standalone Text (titles, annotations only)
{ "type": "text", "id": "t1", "x": 150, "y": 50, "text": "Title", "fontSize": 24 }x is the LEFT edge. To center at position cx: set x = cx - text.length × fontSize × 0.25Arrow
{ "type": "arrow", "id": "a1", "x": 300, "y": 150, "width": 150, "height": 0,
"points": [[0,0],[150,0]], "endArrowhead": "arrow",
"startBinding": { "elementId": "r1", "fixedPoint": [1, 0.5] },
"endBinding": { "elementId": "r2", "fixedPoint": [0, 0.5] } }points: [dx, dy] offsets from element x, yendArrowhead: null | "arrow" | "bar" | "dot" | "triangle"strokeStyle: "solid" | "dashed" | "dotted"fixedPoint for bindings: top [0.5,0], bottom [0.5,1], left [0,0.5], right [1,0.5]cameraUpdate — sets the viewport
{ "type": "cameraUpdate", "width": 800, "height": 600, "x": 0, "y": 0 }x, y: top-left corner of visible area (scene coordinates)cameraUpdate as the first element to frame the diagramid neededdelete — removes elements by ID
{ "type": "delete", "ids": "r1,a1,t2" }The diagram displays at ~700px width. Use these standard sizes:
| Size | Width × Height | Use When |
|---|---|---|
| S | 400 × 300 | 2–3 elements, close-up |
| M | 600 × 450 | Small diagram section |
| L | 800 × 600 | Standard (default) |
| XL | 1200 × 900 | Large overview |
| XXL | 1600 × 1200 | Very complex diagrams |
Font size rules:
Element sizing rules:
When the user asks to modify a diagram, you will receive the current elements in context. Respond with the complete updated elements array:
id for unchanged elements[
{ "type": "cameraUpdate", "width": 800, "height": 600, "x": 0, "y": 0 },
{ "type": "rectangle", "id": "el-1",
"x": 300, "y": 60, "width": 160, "height": 60,
"strokeColor": "#4a9eed", "backgroundColor": "#a5d8ff",
"fillStyle": "solid", "roundness": { "type": 3 },
"label": { "text": "Start", "fontSize": 18 } },
{ "type": "diamond", "id": "el-2",
"x": 280, "y": 170, "width": 200, "height": 90,
"strokeColor": "#f59e0b", "backgroundColor": "#fff3bf",
"fillStyle": "solid",
"label": { "text": "Decision?", "fontSize": 16 } },
{ "type": "arrow", "id": "el-3",
"x": 380, "y": 120, "width": 0, "height": 50,
"points": [[0,0],[0,50]], "endArrowhead": "arrow",
"startBinding": { "elementId": "el-1", "fixedPoint": [0.5, 1] },
"endBinding": { "elementId": "el-2", "fixedPoint": [0.5, 0] } },
{ "type": "rectangle", "id": "el-4",
"x": 300, "y": 320, "width": 160, "height": 60,
"strokeColor": "#22c55e", "backgroundColor": "#b2f2bb",
"fillStyle": "solid", "roundness": { "type": 3 },
"label": { "text": "End", "fontSize": 18 } },
{ "type": "arrow", "id": "el-5",
"x": 380, "y": 260, "width": 0, "height": 60,
"points": [[0,0],[0,60]], "endArrowhead": "arrow",
"startBinding": { "elementId": "el-2", "fixedPoint": [0.5, 1] },
"endBinding": { "elementId": "el-4", "fixedPoint": [0.5, 0] } }
]elements must be valid JSON. Never add // or /* */ comments inside the array; they break JSON parsing#757575. For text on light fills use dark variants (#15803d not #22c55e)Element Format:
© aws-samples, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in chatbot-app/agentcore/skills/excalidraw of aws-samples/sample-strands-agent-with-agentcore.
Open the folder on GitHubat commit 6dd9d13
Excalidraw next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Excalidraw this skillaws-samples/sample-strands-agent-with-agentcore | 194 | — | ~2.4k | Automated safety check: Pass | MIT | |
| Diagram Designcathrynlavery/diagram-design | 44k | 1 repos | ~7.5k | Automated safety check: Pass | MIT | |
| Excalidraw Diagramcoleam00/excalidraw-diagram-skill | 4.9k | 2 repos | ~6.1k | Automated safety check: Pass | None | |
| Excalidraw Diagrambreferrari/obsidian-mind | 4.9k | — | ~3.9k | Automated safety check: Pass | MIT | |
| Excalidraw Skillyctimlin/mcp_excalidraw | 2.5k | — | ~4.6k | Automated safety check: Pass | MIT | |
| Lanshu Animated Architecture Diagramcclank/lanshu-animated-architecture-diagram | 991 | — | ~1.1k | Automated safety check: Pass | MIT |
cathrynlavery/diagram-design
Creates branded diagrams, from architecture, flowchart and sequence to charts and maps, as self-contained HTML with inline SVG, with import from draw.io, Mermaid and Excalidraw.
coleam00/excalidraw-diagram-skill
Create Excalidraw diagram JSON files that make visual arguments.
breferrari/obsidian-mind
Generate Excalidraw diagrams from text content. An agent skill from breferrari/obsidian-mind.
yctimlin/mcp_excalidraw
Excalidraw canvas toolkit for creating, editing, and refining diagrams on a live canvas.
cclank/lanshu-animated-architecture-diagram
Create premium hand-drawn architecture and process diagrams in the Lanshu animated GIF style, with editable .excalidraw files, static PNG previews, and genuinely animated GIFs with moving flow…
tech-leads-club/agent-skills
Generates Excalidraw diagram files from plain descriptions, choosing among flowcharts, mind maps, architecture, swimlane, class, sequence and ER diagrams.
aws-samples/sample-strands-agent-with-agentcore
Guide users through a structured workflow for co-authoring documentation.
aws-samples/sample-strands-agent-with-agentcore
Test and prototype code in a sandboxed environment. An agent skill from aws-samples/sample-strands-agent-with-agentcore.
aws-samples/sample-strands-agent-with-agentcore
Deep research with structured reports and charts. An agent skill from aws-samples/sample-strands-agent-with-agentcore.
aws-samples/sample-strands-agent-with-agentcore
Read and write files in the shared session workspace. An agent skill from aws-samples/sample-strands-agent-with-agentcore.
aws-samples/sample-strands-agent-with-agentcore
Autonomous coding agent. An agent skill from aws-samples/sample-strands-agent-with-agentcore.
aws-samples/sample-strands-agent-with-agentcore
Delegate one independent, context-heavy task to an isolated asynchronous analyst or reviewer.
Works with
Categories
Create hand-drawn style diagrams and flowcharts using Excalidraw. Excalidraw is an agent skill from aws-samples/sample-strands-agent-with-agentcore, published by the product's own GitHub organization.
Excalidraw fits situations like: tasks that involve Diagrams.
Run `npx skills add aws-samples/sample-strands-agent-with-agentcore --skill excalidraw -a claude-code`. Or copy the skill folder (chatbot-app/agentcore/skills/excalidraw in aws-samples/sample-strands-agent-with-agentcore) into .claude/skills/excalidraw in your project. Claude Code loads it when a task matches its description.
Run `npx skills add aws-samples/sample-strands-agent-with-agentcore --skill excalidraw -a codex`. Or copy the skill folder (chatbot-app/agentcore/skills/excalidraw in aws-samples/sample-strands-agent-with-agentcore) into .agents/skills/excalidraw in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aws-samples/sample-strands-agent-with-agentcore --skill excalidraw -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/excalidraw, .gemini/skills/excalidraw, .github/skills/excalidraw and .opencode/skills/excalidraw in your project.
SKILL.md names no scripts, command-line tools or credentials: Excalidraw is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Excalidraw is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Excalidraw: Diagram Design (cathrynlavery/diagram-design, 44k stars), Excalidraw Diagram (coleam00/excalidraw-diagram-skill, 4.9k stars), Excalidraw Diagram (breferrari/obsidian-mind, 4.9k stars) and Excalidraw Skill (yctimlin/mcp_excalidraw, 2.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
aws-samples (a GitHub organization, an official publisher) maintains it in aws-samples/sample-strands-agent-with-agentcore, which has 194 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 6, 2026.
Source: aws-samples/sample-strands-agent-with-agentcore on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.