Eraser dsl
Skill Bit-Blazer/eraser-dsl
Author, fix, and review Eraser Diagram-as-Code DSL from natural language requirements using this repository specs. Use this skill whenever the user asks for Eraser DSL, diagram-as-code, flowcharts, ERD/schema diagrams, architecture/cloud diagrams, sequence diagrams, BPMN/swimlane diagrams, syntax fixes, icon/styling updates, or conversion from plain English process/system descriptions into runnable Eraser code.From its SKILL.md
npx -y skills add Bit-Blazer/eraser-dslAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
7.3 KB, ~1.6k tokens by cl100k_base, as published. Nobody here has run it
Eraser DSL Authoring
Create valid, runnable Eraser Diagram-as-Code and validate it against the specs in ./sources/.
Mission
- Turn ambiguous requests into clear diagram intent.
- Choose the right Eraser diagram type fast.
- Produce syntactically correct DSL on first pass whenever possible.
- Catch semantic mistakes before returning final output.
When to Use
- Convert product/process/system descriptions into Eraser DSL.
- Refactor or fix invalid Eraser DSL syntax.
- Choose an appropriate diagram type when user intent is unclear.
- Add styling, icons, labels, and links without breaking syntax.
- Review an existing diagram for correctness and completeness.
Not for This Skill
- Pixel-perfect visual design requests that require a GUI-only adjustment workflow.
- Non-Eraser notations when the user explicitly asks for Mermaid, PlantUML, or draw.io syntax.
- Unrelated programming tasks that do not involve Eraser diagram DSL.
Inputs to Collect
Ask for missing essentials before authoring:
- Goal: what decision or process the diagram should explain.
- Diagram type (or allow auto-selection).
- Domain nouns and actions (entities, steps, services, actors).
- Required directionality/cardinality/message labels.
- Visual constraints: icons, colors, notation, style mode, typeface.
If details are missing, proceed with explicit assumptions instead of blocking.
Default assumptions when user is vague:
- Keep naming simple and unique.
- Prefer minimal styling over decorative styling.
- Use commonly recognized icons when a clear icon exists; otherwise omit icons.
- Preserve existing semantics over visual embellishment.
Diagram Type Decision
- Use flow chart for process/logic flow with decision nodes and groups.
- Use ERD for data model with entities, attributes, and cardinality.
- Use architecture for cloud/infrastructure components and boundaries.
- Use sequence for time-ordered interactions between actors/systems.
- Use BPMN for business process swimlanes with pools/lanes/events/gateways.
- If multiple types are requested, produce separate blocks and label each clearly.
Quick disambiguation hints:
- If user mentions "tables", "columns", "relationships", prefer ERD.
- If user mentions "request flow over time" or "actor interactions", prefer sequence.
- If user mentions "departments", "roles", "approval process", prefer BPMN.
- If user mentions "services", "VPC", "AWS/GCP/Azure", prefer architecture.
- If user mentions "decision tree" or "workflow steps", prefer flow chart.
Procedure
- Restate the target outcome in one sentence.
- Map requirements to the DSL primitives for the selected type.
- Draft a minimal valid skeleton first.
- Add structure details before visual details.
- Apply properties incrementally:
icon,color,label, then style controls. - Apply type-specific constructs:
- Sequence:
alt/else,opt,loop,par/and,break, andactivate/deactivate. - BPMN: pools and lanes, plus flow object
type: activity|event|gateway. - ERD: attributes inside entities, then attribute-level relationships when needed.
- Apply diagram-level styling at the end:
colorMode,styleMode,typeface. - Run the quality checklist.
- Return final DSL and assumptions.
Fast Start Templates
Use these as scaffolds, then fill in domain details.
Flow chart skeleton:
Start [shape: oval]
Decision? [shape: diamond]
End [shape: oval]
Start > Decision?
Decision? > End: Yes
Decision? > End: No
ERD skeleton:
users {
id string pk
}
orders {
id string pk
userId string
}
orders.userId > users.id
Architecture skeleton:
Client
API [icon: aws-api-gateway]
Service [icon: aws-lambda]
DB [icon: aws-rds]
Client > API > Service > DB
Sequence skeleton:
Client > API: Request
activate API
API > DB: Query
DB > API: Result
API > Client: Response
deactivate API
BPMN skeleton:
Requester {
Submit [type: activity]
}
Approver {
Review [type: activity]
Approved? [type: gateway]
Done [type: event]
}
Submit --> Review
Review > Approved?
Approved? > Done : Yes
Quality Checklist (Completion Criteria)
-
Naming
-
Names are unique where required by the selected diagram type.
-
Quoted names are used for reserved/special characters and URLs.
-
Connectors
-
Connector semantics match intent.
-
Flow/architecture/sequence/BPMN use
>,<,<>,-,--,-->correctly. -
ERD cardinality uses
<,>,-,<>correctly. -
Type-specific validity
-
ERD attributes stay inside entities and relations use
entity.attributewhere relevant. -
Sequence blocks are paired correctly and message labels are added where needed.
-
BPMN pools/lanes nesting is valid and gateway/event
typeis correct. -
Safety and output quality
-
No unsupported properties are introduced.
-
Any undefined reference is intentional, not a typo.
-
Final output is concise and runnable in Eraser.
Review Mode
When asked to review existing Eraser DSL:
- Identify diagram type and intended semantics.
- Flag syntax risks, ambiguity, and likely rendering surprises.
- Provide corrected DSL.
- Provide a short fix log with issue -> correction.
- Keep behavior unchanged unless user asks for redesign.
Failure Recovery
If output is likely invalid or unclear:
- Return a corrected minimal version first.
- List the top 1-3 blocking issues that were fixed.
- Add only essential assumptions needed to unblock execution.
- Avoid introducing new entities, actors, or flows that were not implied.
References
- Core index: Diagram As Code
- Intro and scope: What is diagram as code?
- Flow charts: Flow Charts
- ERD: Entity Relationship Diagrams
- Architecture: Architecture Diagrams
- Sequence: Sequence Diagrams
- BPMN: BPMN Diagrams
- Icons: Icons
- Styling: Styling
Reference loading guidance:
- Load only the doc for the current diagram type plus
07-icons.mdand08-styling.mdwhen needed. - Avoid loading every source file unless the request spans multiple diagram types.
Output Contract
Return results in this order:
- Chosen diagram type (and why in one line).
- Final Eraser DSL in one fenced code block.
- Assumptions (only if needed).
- Optional: one alternative variant if tradeoffs matter.
If user asks for only code, return just the DSL block.
Consistency rules:
- Prefer one canonical naming style per output.
- Prefer deterministic ordering (definitions before connections).
- Avoid duplicate semantic edges unless explicitly requested.
What ships with it: 74 files
8498.8 KB alongside SKILL.md
sources/
- 00-diagram-as-code.md1.2 KB
- 01-what-is-diagram-as-code.md1.3 KB
- 02-flow-charts.md13.5 KB
- 03-entity-relationship-diagrams-erd.md10.6 KB
- 04-architecture-diagrams.md14.9 KB
- 05-sequence-diagrams.md12.0 KB
- 06-bpmn-diagrams-swimlane-diagrams.md14.8 KB
- 07-icons.md42.9 KB
- 08-styling.md2.1 KB
- assets/images/0376a8a-image-2d5e6e685a.png31.8 KB
- assets/images/05e4d54b6fef62879d1f57e1c73b8e410a78769f67cda42a912b64cda68568e5-image-3e25f49c1a.png244.7 KB
- assets/images/0896972-image-8c5adac8db.png18.1 KB
- assets/images/0bce62d-image-6aa22cb316.png178.2 KB
- assets/images/0ef5e94-image-7782840dd2.png138.2 KB
- assets/images/107892f-image-ee7826a9ee.png10.1 KB
- assets/images/110a93b-image-fef974dc56.png29.2 KB
- assets/images/152b6e8-image-f73aebce90.png236.6 KB
- assets/images/167bdc2-image-34c74c950b.png5.8 KB
- assets/images/16b3a2f-Flow_Charts-bc4de1eddd.png413.2 KB
- assets/images/19d4eb8-image-fd21b054a7.png17.9 KB
- assets/images/212e70160b9ee4f98f36004d0b2a4ecaa04eb8f6a5e1b813f454c660b9ca47b3-image-23cb5e00d7.png11.7 KB
- assets/images/2211d42-image-ede848dab0.png18.1 KB
- assets/images/22bc493-image-898139d096.png35.9 KB
- assets/images/235a03b-ERD-afb3f7305d.png375.1 KB
- assets/images/26a8a15-image-69f3bf6f15.png17.1 KB
- assets/images/2a72b9a-sequence_diagram_blocks-94d1c2e449.png15.3 KB
- assets/images/2ec2d41-image-d3382fe6dd.png178.2 KB
- assets/images/2f9153e-image-afa276f934.png4.9 KB
- assets/images/391f7cc-image-2447632a06.png111.2 KB
- assets/images/3eeeac3-image-bbb9c645c1.png10.8 KB
- assets/images/40efa6a-image-b9aaac94c9.png226.9 KB
- assets/images/439a719-image-6a0cf028b3.png9.2 KB
- assets/images/48546b3-image-c5795e1109.png7.6 KB
- assets/images/4d44cf6-image-4f55303484.png10.5 KB
- assets/images/4d5014b-image-1226d643b2.png164.7 KB
- assets/images/4e4048e21bbd03a2a96c1ff4afc2dcaaecf4679474961ea7f6f58d19e32a10cb-diagram-export-11-4-2024-9_31_28-AM-cc001a18a6.png1820.4 KB
- assets/images/53183e1-image-2c7b92713d.png25.6 KB
- assets/images/5f7c92b-image-139440e856.png9.9 KB
34 more files not listed here. See all 74 in the repository.