Skip to content

Add new skill :excalidraw-diagram-generator skill#635

Merged
aaronpowell merged 10 commits intogithub:mainfrom
jun-shiromizu:add-new-skill-clean
Feb 3, 2026
Merged

Add new skill :excalidraw-diagram-generator skill#635
aaronpowell merged 10 commits intogithub:mainfrom
jun-shiromizu:add-new-skill-clean

Conversation

@jun-shiromizu
Copy link
Copy Markdown
Contributor

Pull Request Checklist

  • I have read and followed the CONTRIBUTING.md guidelines.
  • My contribution adds a new instruction, prompt, agent, or skill file in the correct directory.
  • The file follows the required naming convention.
  • The content is clearly structured and follows the example format.
  • I have tested my instructions, prompt, agent, or skill with GitHub Copilot.
  • I have run npm start and verified that README.md is up to date.

Description

Summary

Add a new skill, excalidraw-diagram-generator, to generate Excalidraw .excalidraw JSON diagrams from natural language requests. It supports multiple diagram types (flowcharts, relationship diagrams, mind maps, architecture, DFD, swimlane, class, sequence, ER) and provides step-by-step guidance and templates. Includes guidance for optional icon library usage via bundled scripts.

Why / Use cases

  • Create diagrams directly from Copilot prompts without manual drawing
  • Quickly visualize workflows, system architecture, data flows, and entity relations
  • Produce reusable .excalidraw files that open in Excalidraw or the VS Code extension

How to use (quick start)

  1. Use the skill when asked to “create a diagram / flowchart / architecture / mind map”.
  2. Provide a clear description of key entities, steps, and relationships.
  3. Output a .excalidraw JSON file and open it in Excalidraw (web or VS Code extension).

Validation / Tests

  • npm run skill:validate
  • npm run build
  • bash scripts/fix-line-endings.sh

Distinct from existing skills

  • Focuses specifically on generating Excalidraw-format diagram files (not Mermaid/PlantUML/ASCII).
  • Includes templates, scripts, and guidance for diagram construction and optional icon library workflows.

Type of Contribution

  • New instruction file.
  • New prompt file.
  • New agent file.
  • New collection file.
  • New skill file.
  • Update to existing instruction, prompt, agent, collection or skill.
  • Other (please specify):

Additional Notes


By submitting this pull request, I confirm that my contribution abides by the Code of Conduct and will be licensed under the MIT License.

- Improved error messages within the `find_library_file` function to include directory names
- Organized comments within the `sanitize_filename` function
- Improved error messages within the `split_library` function to include directory names
Deleted .gitkeep in skills/excalidraw-diagram-generator/libraries/.
Copilot AI review requested due to automatic review settings February 2, 2026 04:21
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a new skill called excalidraw-diagram-generator that enables generating Excalidraw diagrams from natural language descriptions. The skill supports multiple diagram types including flowcharts, relationship diagrams, mind maps, architecture diagrams, data flow diagrams, swimlane diagrams, class diagrams, sequence diagrams, and ER diagrams. It includes comprehensive templates, reference documentation, and Python scripts for working with Excalidraw icon libraries.

Changes:

  • Added complete skill implementation with SKILL.md, templates, references, and helper scripts
  • Integrated skill into the skills documentation table
  • Provided 8 diagram templates as starting points for different diagram types

Reviewed changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated no comments.

Show a summary per file
File Description
skills/excalidraw-diagram-generator/SKILL.md Main skill documentation with workflow, guidelines, and icon library integration instructions
skills/excalidraw-diagram-generator/templates/*.excalidraw 8 diagram templates for different use cases (flowchart, relationship, mindmap, etc.)
skills/excalidraw-diagram-generator/references/*.md Schema and element type reference documentation
skills/excalidraw-diagram-generator/scripts/*.py Python utilities for library splitting, icon insertion, and arrow creation
skills/excalidraw-diagram-generator/scripts/README.md Documentation for the Python scripts
docs/README.skills.md Added skill entry to skills table
docs/README.instructions.md Unrelated formatting change (row reordering)

Copy link
Copy Markdown
Contributor

@aaronpowell aaronpowell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it be worth including a .gitignore file in the scripts folder to avoid the skill generating python artifacts that are inadvertently added to a repo when the skill is used?

@jun-shiromizu
Copy link
Copy Markdown
Contributor Author

Would it be worth including a .gitignore file in the scripts folder to avoid the skill generating python artifacts that are inadvertently added to a repo when the skill is used?

Thank you for your review. The .gitignore file under the scripts folder has now been removed. I received a similar report yesterday via PR#624 and have cleaned it up in this PR. Please verify.

@aaronpowell
Copy link
Copy Markdown
Contributor

I was suggesting to include one in the skill's script folder

@jun-shiromizu
Copy link
Copy Markdown
Contributor Author

I was suggesting to include one in the skill's script folder

Based on your suggestion, I came up with the following plan. Does it align with your intent?

  • Create a new .gitignore file in the skills/excalidraw-diagram-generator/scripts folder
  • The contents of that file are as follows:
# Avoid accidentally committing local Python artifacts produced when running these scripts.

# Byte-compiled / cache files
__pycache__/
*.py[cod]
*$py.class

# Virtual environments (people often create these next to scripts)
.venv/
venv/
env/
ENV/

# Tool caches
.pytest_cache/
.mypy_cache/
.ruff_cache/
.tox/
.nox/

# Coverage outputs
.coverage
.coverage.*
htmlcov/

# Packaging/build outputs (rare here, but harmless)
build/
dist/
*.egg-info/
.eggs/

# OS cruft
.DS_Store
Thumbs.db

@aaronpowell
Copy link
Copy Markdown
Contributor

Looks good

@aaronpowell aaronpowell merged commit b12dc28 into github:main Feb 3, 2026
3 checks passed
@jun-shiromizu jun-shiromizu deleted the add-new-skill-clean branch February 3, 2026 21:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants