sad-mcp 0.1.21 → 0.1.22
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 +26 -3
package/package.json
CHANGED
|
@@ -73,6 +73,11 @@ STRUCTURAL ANALYSIS:
|
|
|
73
73
|
- Putting a customer/patient/citizen as a lane when they act independently — they need a separate pool with message flows, not sequence flows
|
|
74
74
|
- Using sequence flows between independent participants instead of message flows between separate pools
|
|
75
75
|
- Forgetting that external companies (e.g., חברת אשראי, ספק, קבלן) also need their own pool — they are not part of the organization
|
|
76
|
+
- 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
|
|
77
|
+
|
|
78
|
+
### Element Placement — CRITICAL
|
|
79
|
+
|
|
80
|
+
**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
81
|
|
|
77
82
|
### Color Scheme by Participant Type
|
|
78
83
|
|
|
@@ -109,13 +114,28 @@ Example: If a Resident interacts with both a Delivery Company and a Development
|
|
|
109
114
|
|
|
110
115
|
### Gateways — CRITICAL RULE
|
|
111
116
|
|
|
112
|
-
**
|
|
117
|
+
**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.
|
|
118
|
+
|
|
119
|
+
- XOR (exclusive): **X** marker inside the diamond
|
|
120
|
+
- AND (parallel): **+** marker inside the diamond
|
|
121
|
+
- OR (inclusive): **O** marker inside the diamond
|
|
122
|
+
|
|
123
|
+
**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.
|
|
124
|
+
|
|
125
|
+
**Anti-pattern — NEVER do this:**
|
|
126
|
+
```svg
|
|
127
|
+
<!-- WRONG: text inside gateway diamond -->
|
|
128
|
+
<polygon points="..." fill="..." stroke="..."/>
|
|
129
|
+
<text x="CX" y="CY">כמה ימים?</text> <!-- FORBIDDEN -->
|
|
130
|
+
```
|
|
113
131
|
|
|
132
|
+
**Correct pattern:**
|
|
114
133
|
```svg
|
|
115
|
-
<!--
|
|
134
|
+
<!-- RIGHT: X marker inside, label outside -->
|
|
116
135
|
<rect x="X" y="Y" width="34" height="34" class="gateway" transform="rotate(45, CX, CY)"/>
|
|
117
136
|
<line x1="CX-7" y1="CY-10" x2="CX+7" y2="CY+10" class="gateway-x"/>
|
|
118
137
|
<line x1="CX+7" y1="CY-10" x2="CX-7" y2="CY+10" class="gateway-x"/>
|
|
138
|
+
<text x="CX" y="CY-25" text-anchor="middle">כמה ימים?</text> <!-- label ABOVE -->
|
|
119
139
|
```
|
|
120
140
|
|
|
121
141
|
### Intermediate Events (Waiting/Catching)
|
|
@@ -225,9 +245,12 @@ Output a single self-contained HTML file with:
|
|
|
225
245
|
|
|
226
246
|
**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
247
|
|
|
228
|
-
- [ ] Every gateway (split AND merge) has an X
|
|
248
|
+
- [ ] Every gateway (split AND merge) has ONLY an X/+/O marker inside — no text inside the diamond
|
|
249
|
+
- [ ] Gateway labels (questions, conditions) are positioned ABOVE or BESIDE the diamond, never inside
|
|
250
|
+
- [ ] Every element (task, gateway, event) is fully inside a single lane — nothing sits on a lane boundary
|
|
229
251
|
- [ ] No arrow paths overlap or cross ambiguously
|
|
230
252
|
- [ ] Data objects (📄) and data stores (🗄️) use different icons
|
|
253
|
+
- [ ] Every participant mentioned in the process description appears in the diagram — none are omitted
|
|
231
254
|
- [ ] External participants are in separate pools with message flows
|
|
232
255
|
- [ ] Passive waiting uses intermediate events, not regular tasks
|
|
233
256
|
- [ ] Flow labels (כן/לא) are clearly positioned near their gateway
|