@wipal/agent-team 1.0.4 → 1.1.0

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 (124) hide show
  1. package/.claude/commands/skills/discover.md +127 -0
  2. package/.claude/commands/skills/install.md +225 -0
  3. package/.claude/commands/skills/review.md +234 -0
  4. package/.claude/commands/utils/learn.md +142 -0
  5. package/.claude/commands/utils/retrospect.md +62 -0
  6. package/.claude/commands/utils/switch.md +113 -0
  7. package/.claude/commands/utils/sync.md +183 -0
  8. package/.claude/rules/common/general-rules.md +6 -0
  9. package/.claude/rules/role-rules/dev-be-rules.md +241 -0
  10. package/.claude/rules/role-rules/dev-fe-rules.md +76 -0
  11. package/.claude/skills/SKILL-INDEX.md +24 -5
  12. package/.claude/skills/core/knowledge-graph/SKILL.md +214 -0
  13. package/.claude/skills/core/sequential-thinking/SKILL.md +112 -0
  14. package/.claude/skills/core/sequential-thinking/references/advanced.md +122 -0
  15. package/.claude/skills/core/sequential-thinking/references/examples.md +274 -0
  16. package/.claude/skills/domain/architecture/c4-architecture/SKILL.md +314 -0
  17. package/.claude/skills/domain/architecture/c4-architecture/references/advanced-patterns.md +552 -0
  18. package/.claude/skills/domain/architecture/c4-architecture/references/c4-syntax.md +492 -0
  19. package/.claude/skills/domain/architecture/c4-architecture/references/common-mistakes.md +437 -0
  20. package/.claude/skills/domain/architecture/mermaid-diagrams/SKILL.md +238 -0
  21. package/.claude/skills/domain/architecture/mermaid-diagrams/references/advanced-features.md +556 -0
  22. package/.claude/skills/domain/architecture/mermaid-diagrams/references/architecture-diagrams.md +192 -0
  23. package/.claude/skills/domain/architecture/mermaid-diagrams/references/c4-diagrams.md +410 -0
  24. package/.claude/skills/domain/architecture/mermaid-diagrams/references/class-diagrams.md +361 -0
  25. package/.claude/skills/domain/architecture/mermaid-diagrams/references/erd-diagrams.md +510 -0
  26. package/.claude/skills/domain/architecture/mermaid-diagrams/references/flowcharts.md +450 -0
  27. package/.claude/skills/domain/architecture/mermaid-diagrams/references/sequence-diagrams.md +394 -0
  28. package/.claude/skills/domain/backend/testing-be/SKILL.md +121 -17
  29. package/.claude/skills/domain/design/design-system/SKILL.md +169 -0
  30. package/.claude/skills/domain/design/html-css-output/SKILL.md +253 -0
  31. package/.claude/skills/domain/design/mockup-creation/SKILL.md +230 -0
  32. package/.claude/skills/domain/design/responsive-design/SKILL.md +207 -0
  33. package/.claude/skills/domain/design/ui-design/SKILL.md +124 -0
  34. package/.claude/skills/domain/frontend/testing-fe/SKILL.md +143 -38
  35. package/.claude/skills/domain/frontend/ui-ux-pro-max/README.md +45 -0
  36. package/.claude/skills/domain/frontend/ui-ux-pro-max/SKILL.md +404 -0
  37. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/charts.csv +26 -0
  38. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/colors.csv +97 -0
  39. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/icons.csv +101 -0
  40. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/landing.csv +31 -0
  41. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/products.csv +97 -0
  42. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/react-performance.csv +45 -0
  43. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  44. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  45. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  46. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  47. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  48. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  49. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  50. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  51. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/react.csv +54 -0
  52. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  53. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  54. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  55. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  56. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/styles.csv +68 -0
  57. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/typography.csv +58 -0
  58. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  59. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  60. package/.claude/skills/domain/frontend/ui-ux-pro-max/data/web-interface.csv +31 -0
  61. package/.claude/skills/domain/frontend/ui-ux-pro-max/scripts/core.py +253 -0
  62. package/.claude/skills/domain/frontend/ui-ux-pro-max/scripts/design_system.py +1067 -0
  63. package/.claude/skills/domain/frontend/ui-ux-pro-max/scripts/search.py +114 -0
  64. package/.claude/skills/domain/product/requirements-clarity/SKILL.md +340 -0
  65. package/.claude/skills/skills-registry.yaml +103 -8
  66. package/README.md +107 -33
  67. package/README.npm.md +252 -0
  68. package/TUTORIAL.md +256 -0
  69. package/bin/agent-team.js +26 -7
  70. package/config/roles.yaml +107 -0
  71. package/docs/01-architecture.md +699 -0
  72. package/docs/02-setup-guide.md +634 -0
  73. package/docs/03-skills-guide.md +628 -0
  74. package/docs/04-workflows.md +792 -0
  75. package/docs/05-model-strategy.md +550 -0
  76. package/docs/06-extend-guide.md +1226 -0
  77. package/docs/07-quick-reference.md +578 -0
  78. package/docs/08-skills-discovery.md +342 -0
  79. package/docs/README.md +134 -0
  80. package/docs/rqm.md +560 -0
  81. package/package.json +9 -3
  82. package/scripts/postinstall.js +46 -0
  83. package/src/commands/add.js +131 -67
  84. package/src/commands/init.js +419 -9
  85. package/src/commands/list.js +20 -16
  86. package/src/commands/projects.js +127 -0
  87. package/src/commands/setup-hooks.js +261 -0
  88. package/src/index.js +0 -1
  89. package/src/utils/file-utils.js +147 -50
  90. package/src/utils/global-registry.js +224 -0
  91. package/templates/CLAUDE.md.tmpl +128 -20
  92. package/templates/MEMORY.md.tmpl +119 -0
  93. package/templates/agent.md.tmpl +205 -0
  94. package/templates/code/nestjs-controller.ts.tmpl +49 -0
  95. package/templates/code/nestjs-dto.ts.tmpl +63 -0
  96. package/templates/code/nestjs-service.ts.tmpl +45 -0
  97. package/templates/code/react-component.tsx.tmpl +24 -0
  98. package/templates/code/react-hook.ts.tmpl +54 -0
  99. package/templates/code/test.spec.ts.tmpl +50 -0
  100. package/templates/code/vue-component.vue.tmpl +49 -0
  101. package/templates/code/vue-composable.ts.tmpl +54 -0
  102. package/templates/knowledge.md.tmpl +152 -17
  103. package/templates/meeting-notes.md.tmpl +110 -0
  104. package/templates/memory/hooks.memory.json +50 -0
  105. package/templates/memory/settings.memory.json +16 -0
  106. package/templates/reports/bug-report.md.tmpl +164 -0
  107. package/templates/reports/code-review.md.tmpl +201 -0
  108. package/templates/reports/sprint-report.md.tmpl +218 -0
  109. package/templates/roles/ba.md +53 -0
  110. package/templates/roles/designer.md +82 -0
  111. package/templates/roles/dev-be.md +49 -0
  112. package/templates/roles/dev-fe.md +49 -0
  113. package/templates/roles/devops.md +53 -0
  114. package/templates/roles/pm.md +49 -0
  115. package/templates/roles/qa.md +53 -0
  116. package/templates/roles/sa.md +49 -0
  117. package/templates/roles/tech-lead.md +132 -0
  118. package/templates/skills/memory/memory-status.md +78 -0
  119. package/templates/skills/memory/recall.md +160 -0
  120. package/templates/skills/memory/reflect.md +168 -0
  121. package/templates/skills/memory/remember.md +105 -0
  122. package/templates/tasks/lessons.md.tmpl +77 -0
  123. package/templates/tasks/todo.md.tmpl +53 -0
  124. package/src/commands/switch.js +0 -53
@@ -0,0 +1,450 @@
1
+ # Flowcharts
2
+
3
+ Flowcharts visualize processes, algorithms, decision trees, and user journeys. They show step-by-step progression through a system or workflow.
4
+
5
+ ## Basic Syntax
6
+
7
+ ```mermaid
8
+ flowchart TD
9
+ A --> B
10
+ ```
11
+
12
+ **Directions:**
13
+ - `TD` or `TB` - Top to Bottom (default)
14
+ - `BT` - Bottom to Top
15
+ - `LR` - Left to Right
16
+ - `RL` - Right to Left
17
+
18
+ ## Node Shapes
19
+
20
+ ### Rectangle (default)
21
+ ```mermaid
22
+ flowchart LR
23
+ A[Process step]
24
+ ```
25
+
26
+ ### Rounded Rectangle
27
+ ```mermaid
28
+ flowchart LR
29
+ B([Rounded process])
30
+ ```
31
+
32
+ ### Stadium/Pill Shape
33
+ ```mermaid
34
+ flowchart LR
35
+ C(Start or End)
36
+ ```
37
+
38
+ ### Subroutine (Double Border)
39
+ ```mermaid
40
+ flowchart LR
41
+ D[[Subroutine]]
42
+ ```
43
+
44
+ ### Cylindrical (Database)
45
+ ```mermaid
46
+ flowchart LR
47
+ E[(Database)]
48
+ ```
49
+
50
+ ### Circle
51
+ ```mermaid
52
+ flowchart LR
53
+ F((Circle node))
54
+ ```
55
+
56
+ ### Asymmetric/Flag
57
+ ```mermaid
58
+ flowchart LR
59
+ G>Flag node]
60
+ ```
61
+
62
+ ### Rhombus (Decision)
63
+ ```mermaid
64
+ flowchart LR
65
+ H{Decision?}
66
+ ```
67
+
68
+ ### Hexagon
69
+ ```mermaid
70
+ flowchart LR
71
+ I{{Hexagon}}
72
+ ```
73
+
74
+ ### Parallelogram (Input/Output)
75
+ ```mermaid
76
+ flowchart LR
77
+ J[/Input or Output/]
78
+ K[\Alternative IO\]
79
+ ```
80
+
81
+ ### Trapezoid
82
+ ```mermaid
83
+ flowchart LR
84
+ L[/Trapezoid\]
85
+ M[\Alt trapezoid/]
86
+ ```
87
+
88
+ ## Connections
89
+
90
+ ### Basic Arrow
91
+ ```mermaid
92
+ flowchart LR
93
+ A --> B
94
+ ```
95
+
96
+ ### Open Link (No Arrow)
97
+ ```mermaid
98
+ flowchart LR
99
+ A --- B
100
+ ```
101
+
102
+ ### Text on Links
103
+ ```mermaid
104
+ flowchart LR
105
+ A -->|Label text| B
106
+ C ---|"Text with spaces"| D
107
+ ```
108
+
109
+ ### Dotted Links
110
+ ```mermaid
111
+ flowchart LR
112
+ A -.-> B
113
+ C -.- D
114
+ E -.Label.-> F
115
+ ```
116
+
117
+ ### Thick Links
118
+ ```mermaid
119
+ flowchart LR
120
+ A ==> B
121
+ C === D
122
+ E ==Label==> F
123
+ ```
124
+
125
+ ### Chaining
126
+ ```mermaid
127
+ flowchart LR
128
+ A --> B --> C --> D
129
+ E --> F & G --> H
130
+ ```
131
+
132
+ ### Multi-directional
133
+ ```mermaid
134
+ flowchart LR
135
+ A --> B & C & D
136
+ B & C & D --> E
137
+ ```
138
+
139
+ ## Subgraphs
140
+
141
+ Group related nodes:
142
+
143
+ ```mermaid
144
+ flowchart TB
145
+ A[Start]
146
+
147
+ subgraph Processing
148
+ B[Step 1]
149
+ C[Step 2]
150
+ D[Step 3]
151
+ end
152
+
153
+ E[End]
154
+
155
+ A --> B
156
+ D --> E
157
+ ```
158
+
159
+ ### Nested Subgraphs
160
+ ```mermaid
161
+ flowchart TB
162
+ subgraph Outer
163
+ A[Node A]
164
+
165
+ subgraph Inner
166
+ B[Node B]
167
+ C[Node C]
168
+ end
169
+ end
170
+ ```
171
+
172
+ ### Subgraph Direction
173
+ ```mermaid
174
+ flowchart LR
175
+ subgraph one
176
+ direction TB
177
+ A1 --> A2
178
+ end
179
+
180
+ subgraph two
181
+ direction TB
182
+ B1 --> B2
183
+ end
184
+
185
+ one --> two
186
+ ```
187
+
188
+ ## Styling
189
+
190
+ ### Individual Node Styling
191
+ ```mermaid
192
+ flowchart LR
193
+ A[Normal]
194
+ B[Styled]
195
+
196
+ style B fill:#ff6b6b,stroke:#333,stroke-width:4px,color:#fff
197
+ ```
198
+
199
+ ### Class-based Styling
200
+ ```mermaid
201
+ flowchart LR
202
+ A[Node 1]:::className
203
+ B[Node 2]:::className
204
+ C[Node 3]
205
+
206
+ classDef className fill:#f9f,stroke:#333,stroke-width:2px
207
+ ```
208
+
209
+ ### Link Styling
210
+ ```mermaid
211
+ flowchart LR
212
+ A --> B
213
+ linkStyle 0 stroke:#ff3,stroke-width:4px,color:red
214
+ ```
215
+
216
+ ## Comprehensive Example: User Registration Flow
217
+
218
+ ```mermaid
219
+ flowchart TD
220
+ Start([User visits registration page]) --> Form[Show registration form]
221
+ Form --> Input[User enters details]
222
+ Input --> Validate{Valid input?}
223
+
224
+ Validate -->|No| ShowError[Show validation errors]
225
+ ShowError --> Form
226
+
227
+ Validate -->|Yes| CheckEmail{Email exists?}
228
+
229
+ CheckEmail -->|Yes| EmailError[Show 'Email already registered']
230
+ EmailError --> Form
231
+
232
+ CheckEmail -->|No| CreateAccount[Create user account]
233
+ CreateAccount --> Hash[Hash password]
234
+ Hash --> SaveDB[(Save to database)]
235
+ SaveDB --> GenerateToken[Generate verification token]
236
+ GenerateToken --> SendEmail[Send verification email]
237
+ SendEmail --> ShowSuccess[Show success message]
238
+ ShowSuccess --> End([Redirect to login])
239
+
240
+ style Start fill:#90EE90,stroke:#333,stroke-width:2px
241
+ style End fill:#90EE90,stroke:#333,stroke-width:2px
242
+ style CreateAccount fill:#87CEEB,stroke:#333,stroke-width:2px
243
+ style SaveDB fill:#FFD700,stroke:#333,stroke-width:2px
244
+ ```
245
+
246
+ ## Algorithm Example: Binary Search
247
+
248
+ ```mermaid
249
+ flowchart TD
250
+ Start([Start Binary Search]) --> Init[Set low = 0, high = array.length - 1]
251
+ Init --> Check{low <= high?}
252
+
253
+ Check -->|No| NotFound[Return -1: Not found]
254
+ NotFound --> End([End])
255
+
256
+ Check -->|Yes| CalcMid[mid = low + (high - low) / 2]
257
+ CalcMid --> Compare{array[mid] == target?}
258
+
259
+ Compare -->|Yes| Found[Return mid: Found]
260
+ Found --> End
261
+
262
+ Compare -->|No| CheckLess{array[mid] < target?}
263
+
264
+ CheckLess -->|Yes| MoveLow[low = mid + 1]
265
+ MoveLow --> Check
266
+
267
+ CheckLess -->|No| MoveHigh[high = mid - 1]
268
+ MoveHigh --> Check
269
+
270
+ style Start fill:#90EE90
271
+ style End fill:#90EE90
272
+ style Found fill:#FFD700
273
+ style NotFound fill:#FF6B6B
274
+ ```
275
+
276
+ ## CI/CD Pipeline
277
+
278
+ ```mermaid
279
+ flowchart LR
280
+ subgraph Development
281
+ Commit[Developer commits code] --> Push[Push to repository]
282
+ end
283
+
284
+ subgraph CI
285
+ Push --> Trigger[Trigger CI pipeline]
286
+ Trigger --> Checkout[Checkout code]
287
+ Checkout --> Install[Install dependencies]
288
+ Install --> Lint[Run linters]
289
+ Lint --> Test[Run tests]
290
+ Test --> Build[Build application]
291
+ end
292
+
293
+ subgraph QA
294
+ Build --> DeployStaging[Deploy to staging]
295
+ DeployStaging --> E2E[Run E2E tests]
296
+ E2E --> ManualQA{Manual QA approval?}
297
+ end
298
+
299
+ subgraph Production
300
+ ManualQA -->|Approved| DeployProd[Deploy to production]
301
+ DeployProd --> HealthCheck{Health check passed?}
302
+ HealthCheck -->|Yes| Success([Deployment successful])
303
+ HealthCheck -->|No| Rollback[Rollback deployment]
304
+ Rollback --> Alert[Alert team]
305
+ end
306
+
307
+ ManualQA -->|Rejected| FixIssues[Fix issues]
308
+ FixIssues --> Development
309
+
310
+ Test -->|Failed| NotifyDev[Notify developer]
311
+ NotifyDev --> FixIssues
312
+ ```
313
+
314
+ ## E-Commerce Checkout Flow
315
+
316
+ ```mermaid
317
+ flowchart TD
318
+ Start([User clicks Checkout]) --> Auth{Authenticated?}
319
+
320
+ Auth -->|No| Login[Redirect to login]
321
+ Login --> Auth
322
+
323
+ Auth -->|Yes| Cart{Cart empty?}
324
+ Cart -->|Yes| EmptyCart[Show empty cart message]
325
+ EmptyCart --> Browse[Redirect to products]
326
+
327
+ Cart -->|No| Address[Show shipping address form]
328
+ Address --> ValidateAddr{Valid address?}
329
+ ValidateAddr -->|No| Address
330
+ ValidateAddr -->|Yes| Shipping[Select shipping method]
331
+
332
+ Shipping --> Payment[Enter payment details]
333
+ Payment --> ValidatePayment{Valid payment info?}
334
+ ValidatePayment -->|No| Payment
335
+
336
+ ValidatePayment -->|Yes| Review[Show order review]
337
+ Review --> Confirm{Confirm order?}
338
+
339
+ Confirm -->|No| Edit{Edit what?}
340
+ Edit -->|Address| Address
341
+ Edit -->|Shipping| Shipping
342
+ Edit -->|Payment| Payment
343
+
344
+ Confirm -->|Yes| ProcessPayment[Process payment]
345
+ ProcessPayment --> PaymentResult{Payment successful?}
346
+
347
+ PaymentResult -->|No| PaymentError[Show payment error]
348
+ PaymentError --> RetryPayment{Retry?}
349
+ RetryPayment -->|Yes| Payment
350
+ RetryPayment -->|No| Cancel([Order cancelled])
351
+
352
+ PaymentResult -->|Yes| CreateOrder[(Create order record)]
353
+ CreateOrder --> ReduceStock[Reduce inventory]
354
+ ReduceStock --> SendConfirmation[Send confirmation email]
355
+ SendConfirmation --> Success([Order complete - Show confirmation])
356
+
357
+ style Start fill:#90EE90
358
+ style Success fill:#90EE90
359
+ style Cancel fill:#FF6B6B
360
+ style CreateOrder fill:#FFD700
361
+ ```
362
+
363
+ ## Decision Matrix Example
364
+
365
+ ```mermaid
366
+ flowchart TD
367
+ Start([Select deployment strategy]) --> Env{Environment?}
368
+
369
+ Env -->|Development| DevDecision{Automated tests?}
370
+ DevDecision -->|Pass| DevDeploy[Auto-deploy to dev]
371
+ DevDecision -->|Fail| Block[Block deployment]
372
+
373
+ Env -->|Staging| StageDecision{All checks pass?}
374
+ StageDecision -->|Yes| StageDeploy[Deploy to staging]
375
+ StageDecision -->|No| Block
376
+
377
+ Env -->|Production| ProdDecision{Change type?}
378
+
379
+ ProdDecision -->|Hotfix| Urgent{Critical bug?}
380
+ Urgent -->|Yes| FastTrack[Emergency approval + deploy]
381
+ Urgent -->|No| NormalProcess
382
+
383
+ ProdDecision -->|Feature| NormalProcess{Approval status?}
384
+ NormalProcess -->|Approved| Schedule{Deploy window?}
385
+ NormalProcess -->|Pending| Wait[Wait for approval]
386
+ NormalProcess -->|Rejected| Block
387
+
388
+ Schedule -->|Now| ImmediateDeploy[Deploy immediately]
389
+ Schedule -->|Scheduled| QueueDeploy[Queue for deploy window]
390
+
391
+ DevDeploy --> Monitor[Monitor metrics]
392
+ StageDeploy --> Monitor
393
+ FastTrack --> Monitor
394
+ ImmediateDeploy --> Monitor
395
+ QueueDeploy --> Monitor
396
+
397
+ Monitor --> End([Deployment complete])
398
+ Block --> End
399
+ Wait --> End
400
+ ```
401
+
402
+ ## Best Practices
403
+
404
+ 1. **Use meaningful labels** - Node text should be clear and action-oriented
405
+ 2. **Consistent node shapes** - Same shapes for same types of actions
406
+ 3. **Decision nodes as diamonds** - Standard convention for yes/no decisions
407
+ 4. **Flow top-to-bottom or left-to-right** - Natural reading direction
408
+ 5. **Start and end nodes** - Use stadium/pill shapes to mark entry/exit
409
+ 6. **Group related steps** - Use subgraphs for logical groupings
410
+ 7. **Color code** - Use colors to highlight different types of actions
411
+ 8. **Minimize crossing lines** - Reorganize for clarity
412
+ 9. **Keep it focused** - One process per diagram
413
+
414
+ ## Common Patterns
415
+
416
+ ### Simple Linear Flow
417
+ ```mermaid
418
+ flowchart LR
419
+ A[Step 1] --> B[Step 2] --> C[Step 3] --> D[Step 4]
420
+ ```
421
+
422
+ ### Branching Decision
423
+ ```mermaid
424
+ flowchart TD
425
+ A[Input] --> B{Condition?}
426
+ B -->|True| C[Path 1]
427
+ B -->|False| D[Path 2]
428
+ C --> E[Merge]
429
+ D --> E
430
+ ```
431
+
432
+ ### Loop Pattern
433
+ ```mermaid
434
+ flowchart TD
435
+ A[Initialize] --> B[Process]
436
+ B --> C{Continue?}
437
+ C -->|Yes| B
438
+ C -->|No| D[Exit]
439
+ ```
440
+
441
+ ### Error Handling
442
+ ```mermaid
443
+ flowchart TD
444
+ A[Try operation] --> B{Success?}
445
+ B -->|Yes| C[Continue]
446
+ B -->|No| D[Handle error]
447
+ D --> E{Retry?}
448
+ E -->|Yes| A
449
+ E -->|No| F[Abort]
450
+ ```