@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.
- package/package.json +1 -1
- package/shared/skills/learn-eventmodelers-api/SKILL.md +12 -10
- package/stacks/modeling-kit/templates/.claude/skills/add-next-slice/SKILL.md +2 -23
- package/stacks/modeling-kit/templates/.claude/skills/add-next-slice/references/api-fallback.md +11 -0
- package/stacks/modeling-kit/templates/.claude/skills/analyze-existing-model/SKILL.md +6 -57
- package/stacks/modeling-kit/templates/.claude/skills/analyze-existing-model/references/api-fallback.md +68 -0
- package/stacks/modeling-kit/templates/.claude/skills/attributes/SKILL.md +4 -61
- package/stacks/modeling-kit/templates/.claude/skills/attributes/references/api-fallback.md +39 -0
- package/stacks/modeling-kit/templates/.claude/skills/discover-storyboard/SKILL.md +9 -53
- package/stacks/modeling-kit/templates/.claude/skills/discover-storyboard/references/api-fallback.md +63 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-applying-conways-law/SKILL.md +9 -319
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-applying-conways-law/references/examples.md +329 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-brainstorming-events/SKILL.md +23 -199
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-brainstorming-events/references/api-fallback.md +97 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-brainstorming-events/references/examples.md +35 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-checking-completeness/SKILL.md +13 -410
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-checking-completeness/references/api-fallback.md +22 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-checking-completeness/references/examples.md +397 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-designing-automation-chains/SKILL.md +132 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-designing-automation-chains/references/api-fallback.md +21 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-designing-event-models/SKILL.md +9 -236
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-designing-event-models/references/examples.md +257 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-elaborating-scenarios/SKILL.md +28 -302
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-elaborating-scenarios/references/api-fallback.md +31 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-elaborating-scenarios/references/examples.md +216 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-inputs/SKILL.md +30 -343
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-inputs/references/api-fallback.md +79 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-inputs/references/examples.md +282 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-outputs/SKILL.md +51 -400
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-outputs/references/api-fallback.md +67 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-identifying-outputs/references/examples.md +273 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-optimizing-stream-design/SKILL.md +45 -152
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-optimizing-stream-design/references/domain-patterns.md +49 -90
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-optimizing-stream-design/references/patterns.md +64 -137
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-orchestrating-event-modeling/SKILL.md +74 -65
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-orchestrating-event-modeling/references/api-fallback.md +51 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-plotting-events/SKILL.md +1 -5
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-plotting-events/references/api-fallback.md +10 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-slicing-event-models/SKILL.md +19 -36
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-slicing-event-models/references/api-fallback.md +41 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-slicing-event-models/references/examples.md +12 -9
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-slicing-event-models/references/patterns.md +1 -10
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-storyboarding-events/SKILL.md +26 -332
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-storyboarding-events/references/api-fallback.md +77 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-storyboarding-events/references/examples.md +271 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-translating-external-events/SKILL.md +9 -294
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-translating-external-events/references/examples.md +306 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-validating-event-models/SKILL.md +12 -11
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-validating-event-models/references/api-fallback.md +14 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-validating-event-models-checklist/SKILL.md +6 -36
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-validating-event-models-checklist/references/api-fallback.md +14 -0
- package/stacks/modeling-kit/templates/.claude/skills/examples/SKILL.md +3 -110
- package/stacks/modeling-kit/templates/.claude/skills/examples/references/api-fallback.md +118 -0
- package/stacks/modeling-kit/templates/.claude/skills/handle-comment/SKILL.md +5 -25
- package/stacks/modeling-kit/templates/.claude/skills/handle-comment/references/api-fallback.md +35 -0
- package/stacks/modeling-kit/templates/.claude/skills/html-screen/SKILL.md +9 -44
- package/stacks/modeling-kit/templates/.claude/skills/html-screen/references/api-fallback.md +51 -0
- package/stacks/modeling-kit/templates/.claude/skills/place-element/SKILL.md +23 -183
- package/stacks/modeling-kit/templates/.claude/skills/place-element/references/api-fallback.md +193 -0
- package/stacks/modeling-kit/templates/.claude/skills/storyboard/SKILL.md +14 -81
- package/stacks/modeling-kit/templates/.claude/skills/storyboard/references/api-fallback.md +74 -0
- package/stacks/modeling-kit/templates/.claude/skills/storyboard-screen/SKILL.md +4 -45
- package/stacks/modeling-kit/templates/.claude/skills/storyboard-screen/references/api-fallback.md +44 -0
- package/stacks/modeling-kit/templates/.claude/skills/timeline/SKILL.md +19 -88
- package/stacks/modeling-kit/templates/.claude/skills/timeline/references/api-fallback.md +91 -0
- package/stacks/modeling-kit/templates/.claude/skills/update-prompt-status/SKILL.md +1 -9
- package/stacks/modeling-kit/templates/.claude/skills/update-prompt-status/references/api-fallback.md +14 -0
- package/stacks/modeling-kit/templates/.claude/skills/eventmodeling-integrating-legacy-systems/SKILL.md +0 -674
- 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
|
+
```
|