sad-mcp 0.1.21 → 0.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/skills/bpmn-diagram/SKILL.md +44 -5
package/package.json
CHANGED
|
@@ -5,7 +5,23 @@ description: Create BPMN (Business Process Model and Notation) diagrams as inter
|
|
|
5
5
|
|
|
6
6
|
# BPMN Diagram Creation Skill
|
|
7
7
|
|
|
8
|
-
This skill creates professional
|
|
8
|
+
This skill creates professional BPMN 1.1 diagrams rendered as interactive HTML files with embedded SVG. The diagrams support Hebrew (RTL) and English text.
|
|
9
|
+
|
|
10
|
+
## NON-NEGOTIABLE RULES — READ BEFORE ANYTHING ELSE
|
|
11
|
+
|
|
12
|
+
These rules are violated most often. You MUST follow every one. No exceptions.
|
|
13
|
+
|
|
14
|
+
1. **GATEWAYS**: The diamond shape contains ONLY a marker symbol: **X** (XOR), **+** (AND), or **O** (OR). NEVER put text/labels inside the diamond. Labels go ABOVE the diamond. Every gateway (split AND merge) must have its marker.
|
|
15
|
+
|
|
16
|
+
2. **CUSTOMERS / EXTERNAL PARTIES get their own POOL**: If a customer, patient, citizen, or external company (e.g., חברת אשראי, ספק) acts independently — they are a SEPARATE POOL with message flows (dashed lines) between pools. They are NOT a lane. The only exception: if the organization fully controls the participant's actions within its system (e.g., customer using a bank app).
|
|
17
|
+
|
|
18
|
+
3. **DATA STORES are mandatory**: If any task involves "block account", "generate invoice", "credit account", "update record", "register", "look up", or any read/write to persistent state — you MUST draw a Data Store (cylinder) with data associations connecting it to the relevant tasks.
|
|
19
|
+
|
|
20
|
+
4. **NO ELEMENTS ON LANE BOUNDARIES**: Every task, gateway, and event must be fully inside one lane, centered vertically with clear spacing from lane borders.
|
|
21
|
+
|
|
22
|
+
5. **EVERY PARTICIPANT MUST APPEAR**: If the process description mentions a customer/patient/company — they MUST appear in the diagram. Never omit a participant.
|
|
23
|
+
|
|
24
|
+
6. **OUTPUT STRUCTURAL ANALYSIS FIRST**: Before writing ANY SVG, you must output the structural analysis (participants → pool/lane, data stores, message flows). The SVG must match this analysis.
|
|
9
25
|
|
|
10
26
|
## When to Use
|
|
11
27
|
|
|
@@ -73,6 +89,11 @@ STRUCTURAL ANALYSIS:
|
|
|
73
89
|
- Putting a customer/patient/citizen as a lane when they act independently — they need a separate pool with message flows, not sequence flows
|
|
74
90
|
- Using sequence flows between independent participants instead of message flows between separate pools
|
|
75
91
|
- Forgetting that external companies (e.g., חברת אשראי, ספק, קבלן) also need their own pool — they are not part of the organization
|
|
92
|
+
- Omitting a participant entirely — if the process description mentions a customer/patient/citizen, they MUST appear in the diagram as a pool with their own flow
|
|
93
|
+
|
|
94
|
+
### Element Placement — CRITICAL
|
|
95
|
+
|
|
96
|
+
**Every BPMN element (task, gateway, event) must be fully contained within a single lane or pool.** No element may overlap a lane divider line or sit on the boundary between two lanes. If an element belongs to a lane, it must be clearly centered vertically within that lane's area, with visible spacing from the lane borders above and below.
|
|
76
97
|
|
|
77
98
|
### Color Scheme by Participant Type
|
|
78
99
|
|
|
@@ -109,13 +130,28 @@ Example: If a Resident interacts with both a Delivery Company and a Development
|
|
|
109
130
|
|
|
110
131
|
### Gateways — CRITICAL RULE
|
|
111
132
|
|
|
112
|
-
**
|
|
133
|
+
**Gateway diamonds must contain ONLY the marker symbol — NEVER text.** No labels, descriptions, or questions inside the diamond shape. Gateway labels go ABOVE or BESIDE the diamond, never inside it.
|
|
134
|
+
|
|
135
|
+
- XOR (exclusive): **X** marker inside the diamond
|
|
136
|
+
- AND (parallel): **+** marker inside the diamond
|
|
137
|
+
- OR (inclusive): **O** marker inside the diamond
|
|
138
|
+
|
|
139
|
+
**Every gateway — both split AND merge/join — MUST display its marker symbol.** Merge gateways are never left as blank diamonds. This is a non-negotiable requirement.
|
|
140
|
+
|
|
141
|
+
**Anti-pattern — NEVER do this:**
|
|
142
|
+
```svg
|
|
143
|
+
<!-- WRONG: text inside gateway diamond -->
|
|
144
|
+
<polygon points="..." fill="..." stroke="..."/>
|
|
145
|
+
<text x="CX" y="CY">כמה ימים?</text> <!-- FORBIDDEN -->
|
|
146
|
+
```
|
|
113
147
|
|
|
148
|
+
**Correct pattern:**
|
|
114
149
|
```svg
|
|
115
|
-
<!--
|
|
150
|
+
<!-- RIGHT: X marker inside, label outside -->
|
|
116
151
|
<rect x="X" y="Y" width="34" height="34" class="gateway" transform="rotate(45, CX, CY)"/>
|
|
117
152
|
<line x1="CX-7" y1="CY-10" x2="CX+7" y2="CY+10" class="gateway-x"/>
|
|
118
153
|
<line x1="CX+7" y1="CY-10" x2="CX-7" y2="CY+10" class="gateway-x"/>
|
|
154
|
+
<text x="CX" y="CY-25" text-anchor="middle">כמה ימים?</text> <!-- label ABOVE -->
|
|
119
155
|
```
|
|
120
156
|
|
|
121
157
|
### Intermediate Events (Waiting/Catching)
|
|
@@ -210,7 +246,7 @@ When a process includes an approval step where the participant can reject:
|
|
|
210
246
|
|
|
211
247
|
Output a single self-contained HTML file with:
|
|
212
248
|
|
|
213
|
-
1. **Header bar**: Gradient background with process title in Hebrew + English subtitle
|
|
249
|
+
1. **Header bar**: Gradient background with process title in Hebrew + English subtitle. Must say "BPMN 1.1" (NOT 2.0)
|
|
214
250
|
2. **Legend**: Horizontal bar showing all BPMN symbols used in the diagram (start, end, task, XOR gateway, intermediate event, data object, data store, message flow)
|
|
215
251
|
3. **SVG canvas**: The full BPMN diagram in a scrollable wrapper
|
|
216
252
|
4. **SVG definitions**: Drop shadow filters, arrow markers (sequence, message, data association)
|
|
@@ -225,9 +261,12 @@ Output a single self-contained HTML file with:
|
|
|
225
261
|
|
|
226
262
|
**STOP before delivering the diagram. Verify EVERY item below. If any item fails, you MUST fix it before delivering. Do NOT skip this step.**
|
|
227
263
|
|
|
228
|
-
- [ ] Every gateway (split AND merge) has an X
|
|
264
|
+
- [ ] Every gateway (split AND merge) has ONLY an X/+/O marker inside — no text inside the diamond
|
|
265
|
+
- [ ] Gateway labels (questions, conditions) are positioned ABOVE or BESIDE the diamond, never inside
|
|
266
|
+
- [ ] Every element (task, gateway, event) is fully inside a single lane — nothing sits on a lane boundary
|
|
229
267
|
- [ ] No arrow paths overlap or cross ambiguously
|
|
230
268
|
- [ ] Data objects (📄) and data stores (🗄️) use different icons
|
|
269
|
+
- [ ] Every participant mentioned in the process description appears in the diagram — none are omitted
|
|
231
270
|
- [ ] External participants are in separate pools with message flows
|
|
232
271
|
- [ ] Passive waiting uses intermediate events, not regular tasks
|
|
233
272
|
- [ ] Flow labels (כן/לא) are clearly positioned near their gateway
|