Skip to content
Back to skills

Excalidraw

ASecurity

Generate Excalidraw diagrams from a compact DSL with brand-resolved colors. Use for boxes/arrows flow diagrams.

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 5, 2026
ai-agentsbash

Security analysis

A100/100

Pro scans all 13 files and shows the line behind each finding

Scanned September 5, 2026

npx -y skills add marsmike/feinschmiede --skill excalidraw --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Excalidraw?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Excalidraw
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/marsmike-excalidraw-feinschmiede/badge)](https://www.skillsdirectory.com/skills/marsmike-excalidraw-feinschmiede)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: excalidraw
description: Generate Excalidraw diagrams from a compact DSL with brand-resolved colors. Use for boxes/arrows flow diagrams.
---

# feinbild — Excalidraw diagrams

## Quick Start

```
/excalidraw flow.exc.dsl
```

`feinbild` is a command on your PATH. Expand a `.exc.dsl` to `.excalidraw`
(brand colors resolved), then render to PNG.

```bash
feinbild excalidraw expand flow.exc.dsl --brand feinschliff   # -> flow.excalidraw
feinbild excalidraw render flow.excalidraw                    # -> flow.png
feinbild verify flow.excalidraw                               # lint: overflow, overlap, label collision
```

Primitives: `box ellipse diamond dot line zone lane text` and
`arrow <from> -> <to> [label:"…"]`. Set `theme dark` in the DSL for a dark
canvas. `--brand` selects the brand; `render` is brand-agnostic.

## Default to clean

- **≤3 arrows per flow.** More than that means the layout is wrong — re-chunk or pick another visualization.
- **No text over shapes.** Labels live inside boxes or adjacent via a connector — never on a border.
- **Aspect-aware.** Default 16:9 (1920×1080). If the brief specifies a target slot match it; otherwise embeds get squished.
- **Metaphor, not clutter.** Briefs saying "messy" / "tangled" / "stitched" describe a CONCEPT — convey via composition (overlap, dim color, tight grouping), not by drawing actual chaos.

## References

- [Methodology](references/methodology.md) — argue-not-display patterns, depth assessment, hierarchy & arrow-routing rules
- [DSL syntax](references/dsl-syntax.md) — full grammar: primitives, zone/lane, arrow flags, ports, colors, text levels
- [Design system](references/design-system.md) — audience-calibrated complexity, visual vocabulary, 10 arrow-discipline principles
- [Examples](references/examples.md) — fan-out / pipeline-with-decision / multi-zoom blueprints
- [Deep examples](references/examples-deep.md) — large layered architectures (MCU/Linux stacks, OTA flows, audience-contrast pairs); source DSL in `examples/`
- Eval fixtures live in `evals/evals.json`; reusable DSL fixtures in `examples/*.exc.dsl`

### Brand override

Override: inline `@brand <name>`, then `--brand`, then `FEINSCHLIFF_BRAND`. `expand` resolves brand colors; `render` is brand-agnostic.

Files in this skill

  • SKILL.md2.2 KB
  • evals/evals.json1.7 KB
  • examples/embedded-linux-runtime-stack.exc.dsl6.2 KB
  • examples/embedded-mcu-firmware-stack.exc.dsl6.4 KB
  • examples/linux-mcu-heterogeneous-device.exc.dsl6.3 KB
  • examples/ota-update-medium-executive.exc.dsl2 KB
  • examples/ota-update-simple-pupil.exc.dsl645 B
  • examples/secure-boot-ota-ab-flow.exc.dsl6.5 KB
  • references/design-system.md6 KB
  • references/dsl-syntax.md7.3 KB
  • references/examples-deep.md4.6 KB
  • references/examples.md4.6 KB
  • references/methodology.md10.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.