@eventmodelers/cli 1.0.36 → 1.0.37

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.
Files changed (69) hide show
  1. package/package.json +1 -1
  2. package/shared/skills/learn-eventmodelers-api/SKILL.md +12 -10
  3. package/stacks/modeling-kit/templates/.claude/skills/add-next-slice/SKILL.md +2 -23
  4. package/stacks/modeling-kit/templates/.claude/skills/add-next-slice/references/api-fallback.md +11 -0
  5. package/stacks/modeling-kit/templates/.claude/skills/analyze-existing-model/SKILL.md +6 -57
  6. package/stacks/modeling-kit/templates/.claude/skills/analyze-existing-model/references/api-fallback.md +68 -0
  7. package/stacks/modeling-kit/templates/.claude/skills/attributes/SKILL.md +4 -61
  8. package/stacks/modeling-kit/templates/.claude/skills/attributes/references/api-fallback.md +39 -0
  9. package/stacks/modeling-kit/templates/.claude/skills/discover-storyboard/SKILL.md +9 -53
  10. package/stacks/modeling-kit/templates/.claude/skills/discover-storyboard/references/api-fallback.md +63 -0
  11. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-applying-conways-law/SKILL.md +9 -319
  12. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-applying-conways-law/references/examples.md +329 -0
  13. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-brainstorming-events/SKILL.md +23 -199
  14. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-brainstorming-events/references/api-fallback.md +97 -0
  15. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-brainstorming-events/references/examples.md +35 -0
  16. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-checking-completeness/SKILL.md +13 -410
  17. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-checking-completeness/references/api-fallback.md +22 -0
  18. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-checking-completeness/references/examples.md +397 -0
  19. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-designing-automation-chains/SKILL.md +132 -0
  20. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-designing-automation-chains/references/api-fallback.md +21 -0
  21. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-designing-event-models/SKILL.md +9 -236
  22. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-designing-event-models/references/examples.md +257 -0
  23. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-elaborating-scenarios/SKILL.md +28 -302
  24. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-elaborating-scenarios/references/api-fallback.md +31 -0
  25. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-elaborating-scenarios/references/examples.md +216 -0
  26. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-inputs/SKILL.md +30 -343
  27. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-inputs/references/api-fallback.md +79 -0
  28. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-inputs/references/examples.md +282 -0
  29. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-outputs/SKILL.md +51 -400
  30. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-outputs/references/api-fallback.md +67 -0
  31. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-outputs/references/examples.md +273 -0
  32. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-optimizing-stream-design/SKILL.md +45 -152
  33. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-optimizing-stream-design/references/domain-patterns.md +49 -90
  34. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-optimizing-stream-design/references/patterns.md +64 -137
  35. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-orchestrating-event-modeling/SKILL.md +74 -65
  36. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-orchestrating-event-modeling/references/api-fallback.md +51 -0
  37. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-plotting-events/SKILL.md +1 -5
  38. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-plotting-events/references/api-fallback.md +10 -0
  39. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-slicing-event-models/SKILL.md +19 -36
  40. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-slicing-event-models/references/api-fallback.md +41 -0
  41. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-slicing-event-models/references/examples.md +12 -9
  42. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-slicing-event-models/references/patterns.md +1 -10
  43. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-storyboarding-events/SKILL.md +26 -332
  44. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-storyboarding-events/references/api-fallback.md +77 -0
  45. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-storyboarding-events/references/examples.md +271 -0
  46. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-translating-external-events/SKILL.md +9 -294
  47. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-translating-external-events/references/examples.md +306 -0
  48. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-validating-event-models/SKILL.md +12 -11
  49. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-validating-event-models/references/api-fallback.md +14 -0
  50. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-validating-event-models-checklist/SKILL.md +6 -36
  51. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-validating-event-models-checklist/references/api-fallback.md +14 -0
  52. package/stacks/modeling-kit/templates/.claude/skills/examples/SKILL.md +3 -110
  53. package/stacks/modeling-kit/templates/.claude/skills/examples/references/api-fallback.md +118 -0
  54. package/stacks/modeling-kit/templates/.claude/skills/handle-comment/SKILL.md +5 -25
  55. package/stacks/modeling-kit/templates/.claude/skills/handle-comment/references/api-fallback.md +35 -0
  56. package/stacks/modeling-kit/templates/.claude/skills/html-screen/SKILL.md +9 -44
  57. package/stacks/modeling-kit/templates/.claude/skills/html-screen/references/api-fallback.md +51 -0
  58. package/stacks/modeling-kit/templates/.claude/skills/place-element/SKILL.md +23 -183
  59. package/stacks/modeling-kit/templates/.claude/skills/place-element/references/api-fallback.md +193 -0
  60. package/stacks/modeling-kit/templates/.claude/skills/storyboard/SKILL.md +14 -81
  61. package/stacks/modeling-kit/templates/.claude/skills/storyboard/references/api-fallback.md +74 -0
  62. package/stacks/modeling-kit/templates/.claude/skills/storyboard-screen/SKILL.md +4 -45
  63. package/stacks/modeling-kit/templates/.claude/skills/storyboard-screen/references/api-fallback.md +44 -0
  64. package/stacks/modeling-kit/templates/.claude/skills/timeline/SKILL.md +19 -88
  65. package/stacks/modeling-kit/templates/.claude/skills/timeline/references/api-fallback.md +91 -0
  66. package/stacks/modeling-kit/templates/.claude/skills/update-prompt-status/SKILL.md +1 -9
  67. package/stacks/modeling-kit/templates/.claude/skills/update-prompt-status/references/api-fallback.md +14 -0
  68. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-integrating-legacy-systems/SKILL.md +0 -674
  69. package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-optimizing-stream-design/references/snapshotting.md +0 -204
@@ -0,0 +1,282 @@
1
+ # Identifying Inputs — Worked Examples
2
+
3
+ These are conceptual worked examples (Order/Payment domain) illustrating the command-identification reasoning this step applies — useful for understanding the reasoning, but the actual mechanics live in the numbered Workflow sub-steps of the main SKILL.md (placing COMMAND nodes on the board via the API), not in writing a document like this.
4
+
5
+ ## 1. Extract Commands from UI Actions
6
+
7
+ ```text
8
+ Storyboard: Order Creation Screen
9
+ User action: Click "Create Order" button
10
+
11
+ Command: CreateOrder
12
+ Input data from form:
13
+ - customerId
14
+ - items[] (product selections + quantities)
15
+ - shippingAddress
16
+ Validation:
17
+ - customerId must exist
18
+ - items must not be empty
19
+ - quantities must be > 0
20
+ Produces event: OrderCreated
21
+ ```
22
+
23
+ ## 2. Identify Processor Triggers
24
+
25
+ ```text
26
+ Processor trigger: Payment gateway webhook received
27
+
28
+ Command: AuthorizePayment (from Processor, not UI)
29
+ Input data from webhook:
30
+ - orderId
31
+ - paymentId
32
+ - authorizationCode
33
+ Validation:
34
+ - orderId must exist and be in Confirmed state
35
+ - authorizationCode must be valid
36
+ Produces event: PaymentAuthorized
37
+ ```
38
+
39
+ ## 2b. Understand the Processor "Todo List" Pattern
40
+
41
+ ```text
42
+ Event Stream (Domain events):
43
+ PaymentAuthorized → triggers Inventory system
44
+
45
+ Processor: InventoryReserver
46
+
47
+ Todo List:
48
+ When PaymentAuthorized event arrives:
49
+ 1. Add item to todo: "Reserve inventory for order-123"
50
+
51
+ Processor Logic (continuously):
52
+ FOR EACH todo item IN todo_list:
53
+ - Check if inventory available
54
+ - If yes: Reserve inventory, produce InventoryReserved event, mark done
55
+ - If no: Produce InventoryFailed event, mark failed
56
+ - If error: Keep in todo for retry
57
+
58
+ Example:
59
+ Event: PaymentAuthorized(orderId=order-123, items=[{prodId: P1, qty: 2}])
60
+
61
+ Todo added: Reserve P1 qty 2
62
+
63
+ Processor checks: P1 has 5 available, need 2
64
+
65
+ Action: Reserve 2 units
66
+
67
+ Event produced: InventoryReserved(orderId=order-123, reserved=[...])
68
+
69
+ Todo marked done
70
+ ```
71
+
72
+ ## 2c. Document Processor Automation (Gears Symbol)
73
+
74
+ ```text
75
+ Command Catalog with Role Attribution (from Role Catalog):
76
+
77
+ UI-Issued Commands (attributed to specific human roles):
78
+ 1. CreateOrder (Order Entry screen) [ Customer]
79
+ 2. ConfirmOrder (Confirmation screen) [ Customer]
80
+ 3. CancelOrder (Status screen) [ Customer]
81
+ 4. RequestReturn (Order page) [ Customer]
82
+ 5. OverrideOrderStatus (Admin panel) [ Support Agent]
83
+
84
+ Processor-Issued Commands (attributed to system actors):
85
+ 6. AuthorizePayment (Payment gateway webhook) [ Payment Gateway]
86
+ 7. ReserveInventory (Triggered by PaymentAuthorized) [ Inventory System]
87
+ 8. CreateShipment (Triggered by InventoryReserved) [ Fulfillment System]
88
+ 9. NotifyCustomer (Triggered by multiple events) [ Notification Service]
89
+ ```
90
+
91
+ ## 3. Document Command Specifics
92
+
93
+ ```text
94
+ Command: ConfirmOrder
95
+ Source: UI (user clicks button)
96
+ Input:
97
+ orderId: string (from URL/context)
98
+ paymentMethod: enum ('card' | 'transfer')
99
+ [paymentDetails]: depends on method
100
+
101
+ Validation rules:
102
+ - Order must exist
103
+ - Order must be in Draft state
104
+ - Payment method must be supported
105
+ - Funds must be available (pre-check)
106
+
107
+ Preconditions (from stream state):
108
+ - OrderCreated event exists
109
+ - No ConfirmOrder previously processed
110
+
111
+ Success result: OrderConfirmed event
112
+
113
+ Failure results:
114
+ - "Order not found" → Command rejected, no event
115
+ - "Order already confirmed" → Command rejected, no event
116
+ - "Payment method not supported" → Command rejected, no event
117
+ ```
118
+
119
+ ## 4. Create Command Catalog
120
+
121
+ ```text
122
+ Command Catalog: Order System
123
+
124
+ ### UI-Issued Commands
125
+
126
+ 1. CreateOrder
127
+ Source: User (Order Entry screen)
128
+ Input: customerId, items[], shippingAddress
129
+ Produces: OrderCreated event
130
+
131
+ 2. ConfirmOrder
132
+ Source: User (Confirmation screen)
133
+ Input: orderId, paymentMethod
134
+ Produces: OrderConfirmed event
135
+
136
+ 3. CancelOrder
137
+ Source: User (Status screen)
138
+ Input: orderId, reason
139
+ Produces: OrderCancelled event
140
+
141
+ ### Processor-Issued Commands
142
+
143
+ 4. AuthorizePayment
144
+ Source: Payment Processor (webhook)
145
+ Input: orderId, paymentId, authCode
146
+ Produces: PaymentAuthorized event
147
+
148
+ 5. FailPayment
149
+ Source: Payment Processor (webhook)
150
+ Input: orderId, paymentId, reason
151
+ Produces: PaymentFailed event
152
+
153
+ 6. ReserveInventory
154
+ Source: Inventory Processor (triggered by PaymentAuthorized)
155
+ Input: orderId, items[]
156
+ Produces: InventoryReserved event
157
+
158
+ 7. CreateShipment
159
+ Source: Fulfillment Processor (triggered by InventoryReserved)
160
+ Input: orderId, items[]
161
+ Produces: OrderShipped event
162
+ ```
163
+
164
+ ## 5. Map Data Sources
165
+
166
+ ```text
167
+ Command: ConfirmOrder
168
+
169
+ Data origin matrix:
170
+ orderId
171
+ ↑ Source: UI context (from OrderCreated, displayed to user)
172
+ ↑ Captured: Hidden in URL or session
173
+ ↑ Validation: Must match Order from stream
174
+
175
+ paymentMethod
176
+ ↑ Source: UI form selection
177
+ ↑ Captured: User selects checkbox/radio
178
+ ↑ Validation: Must be in allowed list
179
+
180
+ [paymentDetails] (conditional)
181
+ ↑ Source: Depends on paymentMethod
182
+ ↑ For 'card': Card number, CVV, expiry (from payment form)
183
+ ↑ For 'transfer': Bank account, routing number (from form)
184
+ ↑ Validation: Format and validity checks
185
+ ```
186
+
187
+ ## 6. Identify Implicit Context
188
+
189
+ ```text
190
+ Command: ShipOrder
191
+ Explicit input (from UI/Processor):
192
+ orderId
193
+ shipmentId (from fulfillment system)
194
+
195
+ Implicit context (from stream state):
196
+ Order must exist
197
+ Order must be in InventoryReserved state
198
+ Payment must be authorized (from PaymentAuthorized event)
199
+ Inventory must be reserved (from InventoryReserved event)
200
+
201
+ These implicit checks use stream state:
202
+ currentState.orderId === orderId
203
+ currentState.status === 'InventoryReserved'
204
+ currentState.paymentId exists
205
+ currentState.shipmentId can be set
206
+ ```
207
+
208
+ ## Legacy markdown-document format (superseded — kept for reference only)
209
+
210
+ Older versions of this skill wrote the command catalog as a markdown document instead of placing nodes on the board. The actual mechanism today is the board API (the "Output Format" and "Creating a COMMAND node with fields" sections in the main SKILL.md) — this template is kept only so the shape of the information (what a complete command catalog covers) stays documented somewhere.
211
+
212
+ ```markdown
213
+ # Inputs: [Domain Name]
214
+
215
+ ## Commands Summary
216
+
217
+ | Command | Role/Actor | Source | Trigger | Input | Event |
218
+ |---------|------------|--------|---------|-------|-------|
219
+ | CreateOrder | Customer | UI | User action | customerId, items, address | OrderCreated |
220
+ | ConfirmOrder | Customer | UI | User action | orderId, paymentMethod | OrderConfirmed |
221
+ | CancelOrder | Customer | UI | User action | orderId, reason | OrderCancelled |
222
+ | AuthorizePayment | Payment Gateway | Processor | Webhook | orderId, paymentId | PaymentAuthorized |
223
+ | ReserveInventory | Inventory System | Processor | PaymentAuthorized event | orderId, items | InventoryReserved |
224
+ | ShipOrder | Fulfillment System | Processor | InventoryReserved event | orderId, shipmentId | OrderShipped |
225
+
226
+ ---
227
+
228
+ ## Detailed Commands
229
+
230
+ ### Command: CreateOrder
231
+
232
+ **Source**: User (Order Entry screen)
233
+
234
+ **Input Data**:
235
+ - customerId: string
236
+ - items: Array<{productId: string, quantity: number}>
237
+ - shippingAddress: {street, city, state, zip}
238
+
239
+ **Validation**:
240
+ - customerId must exist in system
241
+ - items array must not be empty
242
+ - quantities must be > 0
243
+ - address fields must be non-empty
244
+
245
+ **Preconditions** (from stream state):
246
+ - Stream Order:X does not exist yet
247
+
248
+ **Success**: Produces OrderCreated event
249
+
250
+ **Failure**: Command rejected, no event
251
+ - "Customer not found"
252
+ - "Items invalid"
253
+ - "Address incomplete"
254
+
255
+ --- [Repeat for each command]
256
+
257
+ ---
258
+
259
+ ## Data Completeness Check
260
+
261
+ ### Data Input → Event
262
+
263
+ Verify every command input becomes event data:
264
+
265
+ | Command Input | Event Data | Status |
266
+ |---------------|-----------|--------|
267
+ | customerId | orderId | Stored in OrderCreated |
268
+ | items | items | Stored in OrderCreated |
269
+ | shippingAddress | shippingAddress | Stored in OrderCreated |
270
+
271
+ ### Missing Data
272
+
273
+ Document any input that doesn't make it to events:
274
+ - None identified
275
+
276
+ ---
277
+
278
+ ## Processor Commands
279
+
280
+ Document all processor-triggered commands:
281
+ [List each with source system and trigger condition]
282
+ ```