omgkit 2.13.0 → 2.15.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 (137) hide show
  1. package/README.md +93 -10
  2. package/package.json +2 -2
  3. package/plugin/agents/api-designer.md +5 -0
  4. package/plugin/agents/architect.md +8 -0
  5. package/plugin/agents/brainstormer.md +4 -0
  6. package/plugin/agents/cicd-manager.md +6 -0
  7. package/plugin/agents/code-reviewer.md +6 -0
  8. package/plugin/agents/copywriter.md +2 -0
  9. package/plugin/agents/data-engineer.md +255 -0
  10. package/plugin/agents/database-admin.md +10 -0
  11. package/plugin/agents/debugger.md +10 -0
  12. package/plugin/agents/devsecops.md +314 -0
  13. package/plugin/agents/docs-manager.md +4 -0
  14. package/plugin/agents/domain-decomposer.md +181 -0
  15. package/plugin/agents/embedded-systems.md +397 -0
  16. package/plugin/agents/fullstack-developer.md +12 -0
  17. package/plugin/agents/game-systems-designer.md +375 -0
  18. package/plugin/agents/git-manager.md +10 -0
  19. package/plugin/agents/journal-writer.md +2 -0
  20. package/plugin/agents/ml-engineer.md +284 -0
  21. package/plugin/agents/observability-engineer.md +353 -0
  22. package/plugin/agents/oracle.md +9 -0
  23. package/plugin/agents/performance-engineer.md +290 -0
  24. package/plugin/agents/pipeline-architect.md +6 -0
  25. package/plugin/agents/planner.md +12 -0
  26. package/plugin/agents/platform-engineer.md +325 -0
  27. package/plugin/agents/project-manager.md +3 -0
  28. package/plugin/agents/researcher.md +5 -0
  29. package/plugin/agents/scientific-computing.md +426 -0
  30. package/plugin/agents/scout.md +3 -0
  31. package/plugin/agents/security-auditor.md +7 -0
  32. package/plugin/agents/sprint-master.md +17 -0
  33. package/plugin/agents/tester.md +10 -0
  34. package/plugin/agents/ui-ux-designer.md +12 -0
  35. package/plugin/agents/vulnerability-scanner.md +6 -0
  36. package/plugin/commands/data/pipeline.md +47 -0
  37. package/plugin/commands/data/quality.md +49 -0
  38. package/plugin/commands/domain/analyze.md +34 -0
  39. package/plugin/commands/domain/map.md +41 -0
  40. package/plugin/commands/game/balance.md +56 -0
  41. package/plugin/commands/game/optimize.md +62 -0
  42. package/plugin/commands/iot/provision.md +58 -0
  43. package/plugin/commands/ml/evaluate.md +47 -0
  44. package/plugin/commands/ml/train.md +48 -0
  45. package/plugin/commands/perf/benchmark.md +54 -0
  46. package/plugin/commands/perf/profile.md +49 -0
  47. package/plugin/commands/platform/blueprint.md +56 -0
  48. package/plugin/commands/security/audit.md +54 -0
  49. package/plugin/commands/security/scan.md +55 -0
  50. package/plugin/commands/sre/dashboard.md +53 -0
  51. package/plugin/registry.yaml +711 -0
  52. package/plugin/skills/ai-ml/experiment-tracking/SKILL.md +338 -0
  53. package/plugin/skills/ai-ml/feature-stores/SKILL.md +340 -0
  54. package/plugin/skills/ai-ml/llm-ops/SKILL.md +454 -0
  55. package/plugin/skills/ai-ml/ml-pipelines/SKILL.md +390 -0
  56. package/plugin/skills/ai-ml/model-monitoring/SKILL.md +398 -0
  57. package/plugin/skills/ai-ml/model-serving/SKILL.md +386 -0
  58. package/plugin/skills/event-driven/cqrs-patterns/SKILL.md +348 -0
  59. package/plugin/skills/event-driven/event-sourcing/SKILL.md +334 -0
  60. package/plugin/skills/event-driven/kafka-deep/SKILL.md +252 -0
  61. package/plugin/skills/event-driven/saga-orchestration/SKILL.md +335 -0
  62. package/plugin/skills/event-driven/schema-registry/SKILL.md +328 -0
  63. package/plugin/skills/event-driven/stream-processing/SKILL.md +313 -0
  64. package/plugin/skills/game/game-audio/SKILL.md +446 -0
  65. package/plugin/skills/game/game-networking/SKILL.md +490 -0
  66. package/plugin/skills/game/godot-patterns/SKILL.md +413 -0
  67. package/plugin/skills/game/shader-programming/SKILL.md +492 -0
  68. package/plugin/skills/game/unity-patterns/SKILL.md +488 -0
  69. package/plugin/skills/iot/device-provisioning/SKILL.md +405 -0
  70. package/plugin/skills/iot/edge-computing/SKILL.md +369 -0
  71. package/plugin/skills/iot/industrial-protocols/SKILL.md +438 -0
  72. package/plugin/skills/iot/mqtt-deep/SKILL.md +418 -0
  73. package/plugin/skills/iot/ota-updates/SKILL.md +426 -0
  74. package/plugin/skills/microservices/api-gateway-patterns/SKILL.md +201 -0
  75. package/plugin/skills/microservices/circuit-breaker-patterns/SKILL.md +246 -0
  76. package/plugin/skills/microservices/contract-testing/SKILL.md +284 -0
  77. package/plugin/skills/microservices/distributed-tracing/SKILL.md +246 -0
  78. package/plugin/skills/microservices/service-discovery/SKILL.md +304 -0
  79. package/plugin/skills/microservices/service-mesh/SKILL.md +181 -0
  80. package/plugin/skills/mobile-advanced/mobile-ci-cd/SKILL.md +407 -0
  81. package/plugin/skills/mobile-advanced/mobile-security/SKILL.md +403 -0
  82. package/plugin/skills/mobile-advanced/offline-first/SKILL.md +473 -0
  83. package/plugin/skills/mobile-advanced/push-notifications/SKILL.md +494 -0
  84. package/plugin/skills/mobile-advanced/react-native-deep/SKILL.md +374 -0
  85. package/plugin/skills/simulation/numerical-methods/SKILL.md +434 -0
  86. package/plugin/skills/simulation/parallel-computing/SKILL.md +382 -0
  87. package/plugin/skills/simulation/physics-engines/SKILL.md +377 -0
  88. package/plugin/skills/simulation/validation-verification/SKILL.md +479 -0
  89. package/plugin/skills/simulation/visualization-scientific/SKILL.md +365 -0
  90. package/plugin/workflows/ai-engineering/agent-development.md +3 -3
  91. package/plugin/workflows/ai-engineering/fine-tuning.md +3 -3
  92. package/plugin/workflows/ai-engineering/model-evaluation.md +3 -3
  93. package/plugin/workflows/ai-engineering/prompt-engineering.md +2 -2
  94. package/plugin/workflows/ai-engineering/rag-development.md +4 -4
  95. package/plugin/workflows/ai-ml/data-pipeline.md +188 -0
  96. package/plugin/workflows/ai-ml/experiment-cycle.md +203 -0
  97. package/plugin/workflows/ai-ml/feature-engineering.md +208 -0
  98. package/plugin/workflows/ai-ml/model-deployment.md +199 -0
  99. package/plugin/workflows/ai-ml/monitoring-setup.md +227 -0
  100. package/plugin/workflows/api/api-design.md +1 -1
  101. package/plugin/workflows/api/api-testing.md +2 -2
  102. package/plugin/workflows/content/technical-docs.md +1 -1
  103. package/plugin/workflows/database/migration.md +1 -1
  104. package/plugin/workflows/database/optimization.md +1 -1
  105. package/plugin/workflows/database/schema-design.md +3 -3
  106. package/plugin/workflows/development/bug-fix.md +3 -3
  107. package/plugin/workflows/development/code-review.md +2 -1
  108. package/plugin/workflows/development/feature.md +3 -3
  109. package/plugin/workflows/development/refactor.md +2 -2
  110. package/plugin/workflows/event-driven/consumer-groups.md +190 -0
  111. package/plugin/workflows/event-driven/event-storming.md +172 -0
  112. package/plugin/workflows/event-driven/replay-testing.md +186 -0
  113. package/plugin/workflows/event-driven/saga-implementation.md +206 -0
  114. package/plugin/workflows/event-driven/schema-evolution.md +173 -0
  115. package/plugin/workflows/fullstack/authentication.md +4 -4
  116. package/plugin/workflows/fullstack/full-feature.md +4 -4
  117. package/plugin/workflows/game-dev/content-pipeline.md +218 -0
  118. package/plugin/workflows/game-dev/platform-submission.md +263 -0
  119. package/plugin/workflows/game-dev/playtesting.md +237 -0
  120. package/plugin/workflows/game-dev/prototype-to-production.md +205 -0
  121. package/plugin/workflows/microservices/contract-first.md +151 -0
  122. package/plugin/workflows/microservices/distributed-tracing.md +166 -0
  123. package/plugin/workflows/microservices/domain-decomposition.md +123 -0
  124. package/plugin/workflows/microservices/integration-testing.md +149 -0
  125. package/plugin/workflows/microservices/service-mesh-setup.md +153 -0
  126. package/plugin/workflows/microservices/service-scaffolding.md +151 -0
  127. package/plugin/workflows/omega/1000x-innovation.md +2 -2
  128. package/plugin/workflows/omega/100x-architecture.md +2 -2
  129. package/plugin/workflows/omega/10x-improvement.md +2 -2
  130. package/plugin/workflows/quality/performance-optimization.md +2 -2
  131. package/plugin/workflows/research/best-practices.md +1 -1
  132. package/plugin/workflows/research/technology-research.md +1 -1
  133. package/plugin/workflows/security/penetration-testing.md +3 -3
  134. package/plugin/workflows/security/security-audit.md +3 -3
  135. package/plugin/workflows/sprint/sprint-execution.md +2 -2
  136. package/plugin/workflows/sprint/sprint-retrospective.md +1 -1
  137. package/plugin/workflows/sprint/sprint-setup.md +1 -1
@@ -0,0 +1,365 @@
1
+ # Scientific Visualization
2
+
3
+ Data visualization for scientific computing including 2D/3D plotting, volume rendering, and interactive visualization.
4
+
5
+ ## Overview
6
+
7
+ Scientific visualization transforms complex numerical data into visual representations for analysis, understanding, and communication.
8
+
9
+ ## Core Concepts
10
+
11
+ ### Visualization Types
12
+ - **Scalar Fields**: Contours, heatmaps, isosurfaces
13
+ - **Vector Fields**: Streamlines, quiver plots, glyphs
14
+ - **Volume Data**: Volume rendering, slicing
15
+ - **Time Series**: Animation, temporal plots
16
+
17
+ ### Visualization Pipeline
18
+ ```
19
+ Data → Filter → Map → Render → Display
20
+ ```
21
+
22
+ ## Matplotlib (2D)
23
+
24
+ ### Publication-Quality Plots
25
+ ```python
26
+ import matplotlib.pyplot as plt
27
+ import numpy as np
28
+ from matplotlib.colors import Normalize
29
+ from matplotlib.cm import ScalarMappable
30
+
31
+ def setup_publication_style():
32
+ """Configure matplotlib for publication"""
33
+ plt.rcParams.update({
34
+ 'font.family': 'serif',
35
+ 'font.serif': ['Times New Roman'],
36
+ 'font.size': 10,
37
+ 'axes.labelsize': 12,
38
+ 'axes.titlesize': 12,
39
+ 'xtick.labelsize': 10,
40
+ 'ytick.labelsize': 10,
41
+ 'legend.fontsize': 10,
42
+ 'figure.figsize': (6.4, 4.8),
43
+ 'figure.dpi': 300,
44
+ 'savefig.dpi': 300,
45
+ 'savefig.bbox': 'tight',
46
+ 'axes.grid': True,
47
+ 'grid.alpha': 0.3,
48
+ 'lines.linewidth': 1.5,
49
+ 'axes.linewidth': 0.8
50
+ })
51
+
52
+ def create_multi_panel_figure():
53
+ """Create publication multi-panel figure"""
54
+ fig, axes = plt.subplots(2, 2, figsize=(10, 8))
55
+
56
+ # Panel labels
57
+ labels = ['(a)', '(b)', '(c)', '(d)']
58
+
59
+ for ax, label in zip(axes.flat, labels):
60
+ ax.text(-0.1, 1.05, label, transform=ax.transAxes,
61
+ fontsize=14, fontweight='bold', va='top')
62
+
63
+ plt.tight_layout()
64
+ return fig, axes
65
+
66
+ def plot_with_uncertainty(ax, x, y, y_err, label='Data'):
67
+ """Plot with shaded uncertainty region"""
68
+ line, = ax.plot(x, y, label=label)
69
+ ax.fill_between(x, y - y_err, y + y_err, alpha=0.3, color=line.get_color())
70
+ return line
71
+ ```
72
+
73
+ ### Contour and Heatmaps
74
+ ```python
75
+ def plot_scalar_field(data, x, y, title='Scalar Field'):
76
+ """Plot 2D scalar field with contours"""
77
+ fig, ax = plt.subplots(figsize=(8, 6))
78
+
79
+ # Filled contours
80
+ levels = np.linspace(data.min(), data.max(), 20)
81
+ cf = ax.contourf(x, y, data, levels=levels, cmap='viridis')
82
+
83
+ # Contour lines
84
+ cs = ax.contour(x, y, data, levels=levels[::2], colors='white',
85
+ linewidths=0.5, alpha=0.5)
86
+ ax.clabel(cs, inline=True, fontsize=8, fmt='%.2f')
87
+
88
+ # Colorbar
89
+ cbar = plt.colorbar(cf, ax=ax, label='Value', shrink=0.8)
90
+
91
+ ax.set_xlabel('X')
92
+ ax.set_ylabel('Y')
93
+ ax.set_title(title)
94
+ ax.set_aspect('equal')
95
+
96
+ return fig
97
+
98
+ def plot_vector_field(ax, x, y, u, v, skip=5):
99
+ """Plot 2D vector field"""
100
+ # Downsample for clarity
101
+ magnitude = np.sqrt(u**2 + v**2)
102
+
103
+ # Quiver plot
104
+ q = ax.quiver(x[::skip, ::skip], y[::skip, ::skip],
105
+ u[::skip, ::skip], v[::skip, ::skip],
106
+ magnitude[::skip, ::skip],
107
+ cmap='coolwarm', scale=50)
108
+
109
+ plt.colorbar(q, ax=ax, label='Magnitude')
110
+
111
+ # Streamlines
112
+ ax.streamplot(x, y, u, v, density=1.5, color='gray',
113
+ linewidth=0.5, arrowsize=0.5)
114
+ ```
115
+
116
+ ## PyVista (3D)
117
+
118
+ ### 3D Surface and Volume
119
+ ```python
120
+ import pyvista as pv
121
+ import numpy as np
122
+
123
+ def plot_3d_surface(data, x, y, z):
124
+ """Plot 3D surface"""
125
+ # Create structured grid
126
+ grid = pv.StructuredGrid(x, y, z)
127
+ grid['values'] = data.flatten(order='F')
128
+
129
+ # Create plotter
130
+ plotter = pv.Plotter()
131
+ plotter.add_mesh(grid, scalars='values', cmap='viridis',
132
+ show_edges=False, opacity=0.8)
133
+ plotter.add_scalar_bar('Value')
134
+ plotter.show_axes()
135
+
136
+ return plotter
137
+
138
+ def plot_isosurface(data, spacing=(1, 1, 1), isovalues=None):
139
+ """Plot isosurfaces from volume data"""
140
+ # Create uniform grid
141
+ grid = pv.UniformGrid()
142
+ grid.dimensions = np.array(data.shape) + 1
143
+ grid.spacing = spacing
144
+ grid.cell_data['values'] = data.flatten(order='F')
145
+
146
+ # Generate isosurfaces
147
+ if isovalues is None:
148
+ isovalues = np.linspace(data.min(), data.max(), 5)[1:-1]
149
+
150
+ plotter = pv.Plotter()
151
+
152
+ for i, iso in enumerate(isovalues):
153
+ contour = grid.contour([iso])
154
+ opacity = 0.3 + 0.4 * (i / len(isovalues))
155
+ plotter.add_mesh(contour, opacity=opacity, label=f'iso={iso:.2f}')
156
+
157
+ plotter.add_legend()
158
+ return plotter
159
+
160
+ def volume_rendering(data, spacing=(1, 1, 1)):
161
+ """Direct volume rendering"""
162
+ grid = pv.UniformGrid()
163
+ grid.dimensions = np.array(data.shape) + 1
164
+ grid.spacing = spacing
165
+ grid.cell_data['values'] = data.flatten(order='F')
166
+
167
+ plotter = pv.Plotter()
168
+ plotter.add_volume(grid, scalars='values', cmap='viridis',
169
+ opacity='sigmoid', shade=True)
170
+
171
+ return plotter
172
+
173
+ def plot_streamlines_3d(velocity_field, seed_points):
174
+ """3D streamline visualization"""
175
+ # Create vector field grid
176
+ grid = pv.RectilinearGrid(x, y, z)
177
+ grid['velocity'] = np.column_stack([
178
+ velocity_field[0].flatten(order='F'),
179
+ velocity_field[1].flatten(order='F'),
180
+ velocity_field[2].flatten(order='F')
181
+ ])
182
+
183
+ # Generate streamlines
184
+ streamlines = grid.streamlines(
185
+ vectors='velocity',
186
+ source_center=seed_points.mean(axis=0),
187
+ source_radius=1.0,
188
+ n_points=100,
189
+ max_time=100
190
+ )
191
+
192
+ plotter = pv.Plotter()
193
+ plotter.add_mesh(streamlines.tube(radius=0.05), cmap='rainbow')
194
+ plotter.add_mesh(grid.outline(), color='black')
195
+
196
+ return plotter
197
+ ```
198
+
199
+ ## Plotly (Interactive)
200
+
201
+ ### Interactive 3D Plots
202
+ ```python
203
+ import plotly.graph_objects as go
204
+ import plotly.express as px
205
+ import numpy as np
206
+
207
+ def interactive_surface(x, y, z):
208
+ """Create interactive 3D surface"""
209
+ fig = go.Figure(data=[go.Surface(
210
+ x=x, y=y, z=z,
211
+ colorscale='Viridis',
212
+ colorbar=dict(title='Value')
213
+ )])
214
+
215
+ fig.update_layout(
216
+ title='Interactive Surface',
217
+ scene=dict(
218
+ xaxis_title='X',
219
+ yaxis_title='Y',
220
+ zaxis_title='Z'
221
+ ),
222
+ width=800,
223
+ height=600
224
+ )
225
+
226
+ return fig
227
+
228
+ def animated_time_series(data_sequence, times):
229
+ """Create animated visualization of time-evolving data"""
230
+ frames = []
231
+
232
+ for i, (data, t) in enumerate(zip(data_sequence, times)):
233
+ frames.append(go.Frame(
234
+ data=[go.Heatmap(z=data, colorscale='Viridis')],
235
+ name=str(i),
236
+ layout=go.Layout(title=f't = {t:.2f}')
237
+ ))
238
+
239
+ fig = go.Figure(
240
+ data=[go.Heatmap(z=data_sequence[0], colorscale='Viridis')],
241
+ frames=frames
242
+ )
243
+
244
+ fig.update_layout(
245
+ updatemenus=[{
246
+ 'type': 'buttons',
247
+ 'showactive': False,
248
+ 'buttons': [
249
+ {'label': 'Play', 'method': 'animate',
250
+ 'args': [None, {'frame': {'duration': 100}}]},
251
+ {'label': 'Pause', 'method': 'animate',
252
+ 'args': [[None], {'frame': {'duration': 0}, 'mode': 'immediate'}]}
253
+ ]
254
+ }],
255
+ sliders=[{
256
+ 'currentvalue': {'prefix': 'Frame: '},
257
+ 'steps': [{'args': [[f.name], {'frame': {'duration': 0}}],
258
+ 'label': str(i), 'method': 'animate'}
259
+ for i, f in enumerate(frames)]
260
+ }]
261
+ )
262
+
263
+ return fig
264
+ ```
265
+
266
+ ## VTK (Advanced)
267
+
268
+ ### Custom VTK Pipeline
269
+ ```python
270
+ import vtk
271
+ import numpy as np
272
+
273
+ def create_vtk_visualization(data, spacing=(1, 1, 1)):
274
+ """Create VTK visualization pipeline"""
275
+ # Create image data
276
+ image_data = vtk.vtkImageData()
277
+ image_data.SetDimensions(*data.shape)
278
+ image_data.SetSpacing(*spacing)
279
+
280
+ # Convert numpy to VTK
281
+ vtk_array = vtk.vtkFloatArray()
282
+ vtk_array.SetNumberOfComponents(1)
283
+ vtk_array.SetName('values')
284
+ vtk_array.SetArray(data.flatten(order='F'), data.size, True)
285
+ image_data.GetPointData().SetScalars(vtk_array)
286
+
287
+ # Volume mapper
288
+ volume_mapper = vtk.vtkSmartVolumeMapper()
289
+ volume_mapper.SetInputData(image_data)
290
+
291
+ # Transfer functions
292
+ color_func = vtk.vtkColorTransferFunction()
293
+ color_func.AddRGBPoint(data.min(), 0.0, 0.0, 1.0)
294
+ color_func.AddRGBPoint(data.mean(), 0.0, 1.0, 0.0)
295
+ color_func.AddRGBPoint(data.max(), 1.0, 0.0, 0.0)
296
+
297
+ opacity_func = vtk.vtkPiecewiseFunction()
298
+ opacity_func.AddPoint(data.min(), 0.0)
299
+ opacity_func.AddPoint(data.max(), 1.0)
300
+
301
+ # Volume property
302
+ volume_property = vtk.vtkVolumeProperty()
303
+ volume_property.SetColor(color_func)
304
+ volume_property.SetScalarOpacity(opacity_func)
305
+ volume_property.SetInterpolationTypeToLinear()
306
+ volume_property.ShadeOn()
307
+
308
+ # Volume actor
309
+ volume = vtk.vtkVolume()
310
+ volume.SetMapper(volume_mapper)
311
+ volume.SetProperty(volume_property)
312
+
313
+ # Renderer
314
+ renderer = vtk.vtkRenderer()
315
+ renderer.AddVolume(volume)
316
+ renderer.SetBackground(0.1, 0.1, 0.1)
317
+
318
+ # Render window
319
+ render_window = vtk.vtkRenderWindow()
320
+ render_window.AddRenderer(renderer)
321
+ render_window.SetSize(800, 600)
322
+
323
+ return render_window
324
+ ```
325
+
326
+ ## Best Practices
327
+
328
+ 1. **Choose Appropriate Colormap**: Sequential, diverging, categorical
329
+ 2. **Label Everything**: Axes, colorbars, units
330
+ 3. **Maintain Aspect Ratio**: For physical data
331
+ 4. **Use Perceptually Uniform Colormaps**: viridis, plasma
332
+ 5. **Export Vector Graphics**: PDF, SVG for publications
333
+
334
+ ## Visualization Selection Guide
335
+
336
+ ```
337
+ 2D Scalar: Heatmap, Contour
338
+ 2D Vector: Quiver, Streamlines
339
+ 3D Scalar: Isosurface, Volume Render
340
+ 3D Vector: 3D Streamlines, Glyphs
341
+ Time Series: Animation, Small Multiples
342
+ Large Data: Downsampling, LOD
343
+ ```
344
+
345
+ ## Anti-Patterns
346
+
347
+ - Rainbow colormaps for sequential data
348
+ - Missing labels/units
349
+ - Overcrowded plots
350
+ - Poor color contrast
351
+ - Ignoring colorblind accessibility
352
+
353
+ ## When to Use
354
+
355
+ - Data analysis
356
+ - Publication figures
357
+ - Presentations
358
+ - Interactive exploration
359
+ - Result validation
360
+
361
+ ## When NOT to Use
362
+
363
+ - Simple tables sufficient
364
+ - Extremely large datasets (specialize)
365
+ - Real-time requirements (use game engines)
@@ -12,9 +12,9 @@ agents:
12
12
  - tester
13
13
  - security-auditor
14
14
  skills:
15
- - ai-agents
16
- - ai-architecture
17
- - guardrails-safety
15
+ - ai-engineering/ai-agents
16
+ - ai-engineering/ai-architecture
17
+ - ai-engineering/guardrails-safety
18
18
  commands:
19
19
  - /planning:research
20
20
  - /planning:plan-detailed
@@ -10,9 +10,9 @@ agents:
10
10
  - fullstack-developer
11
11
  - tester
12
12
  skills:
13
- - finetuning
14
- - dataset-engineering
15
- - evaluation-methodology
13
+ - ai-engineering/finetuning
14
+ - ai-engineering/dataset-engineering
15
+ - ai-engineering/evaluation-methodology
16
16
  commands:
17
17
  - /planning:plan
18
18
  - /dev:feature
@@ -9,9 +9,9 @@ agents:
9
9
  - planner
10
10
  - tester
11
11
  skills:
12
- - ai-system-evaluation
13
- - evaluation-methodology
14
- - dataset-engineering
12
+ - ai-engineering/ai-system-evaluation
13
+ - ai-engineering/evaluation-methodology
14
+ - ai-engineering/dataset-engineering
15
15
  commands:
16
16
  - /planning:plan
17
17
  - /dev:test
@@ -8,8 +8,8 @@ agents:
8
8
  - researcher
9
9
  - tester
10
10
  skills:
11
- - prompt-engineering
12
- - evaluation-methodology
11
+ - ai-engineering/prompt-engineering
12
+ - ai-engineering/evaluation-methodology
13
13
  commands:
14
14
  - /planning:research
15
15
  - /dev:test
@@ -11,10 +11,10 @@ agents:
11
11
  - fullstack-developer
12
12
  - tester
13
13
  skills:
14
- - rag-systems
15
- - dataset-engineering
16
- - evaluation-methodology
17
- - ai-architecture
14
+ - ai-engineering/rag-systems
15
+ - ai-engineering/dataset-engineering
16
+ - ai-engineering/evaluation-methodology
17
+ - ai-engineering/ai-architecture
18
18
  commands:
19
19
  - /planning:research
20
20
  - /planning:plan
@@ -0,0 +1,188 @@
1
+ ---
2
+ description: Build production data pipelines for ML training and inference
3
+ triggers:
4
+ - manual
5
+ - ml:data
6
+ agents:
7
+ - data-engineer
8
+ - ml-engineer
9
+ ---
10
+
11
+ # Data Pipeline Workflow
12
+
13
+ Create robust data pipelines for ML systems.
14
+
15
+ ## Prerequisites
16
+ - [ ] Data sources identified
17
+ - [ ] Data requirements defined
18
+ - [ ] Storage infrastructure available
19
+
20
+ ## Phase 1: Data Source Integration
21
+
22
+ ### Step 1.1: Identify Data Sources
23
+ ```yaml
24
+ agent: data-engineer
25
+ action: catalog
26
+ sources:
27
+ - databases: PostgreSQL, MySQL, MongoDB
28
+ - data_lakes: S3, GCS, ADLS
29
+ - streaming: Kafka, Kinesis
30
+ - apis: REST, GraphQL
31
+ - files: CSV, Parquet, JSON
32
+ ```
33
+
34
+ ### Step 1.2: Create Data Connectors
35
+ ```yaml
36
+ agent: data-engineer
37
+ action: implement
38
+ connectors:
39
+ - Source connectors
40
+ - Schema inference
41
+ - Incremental extraction
42
+ - Change data capture
43
+ tools:
44
+ - Airbyte
45
+ - Fivetran
46
+ - Custom extractors
47
+ ```
48
+
49
+ ## Phase 2: Data Transformation
50
+
51
+ ### Step 2.1: Design Transformation DAG
52
+ ```yaml
53
+ agent: data-engineer
54
+ action: design
55
+ pipeline_tool:
56
+ - Airflow
57
+ - Prefect
58
+ - Dagster
59
+ - dbt
60
+ transformations:
61
+ - Cleaning
62
+ - Normalization
63
+ - Feature engineering
64
+ - Aggregations
65
+ ```
66
+
67
+ ### Step 2.2: Implement Transformations
68
+ ```yaml
69
+ agent: data-engineer
70
+ action: implement
71
+ best_practices:
72
+ - Idempotent operations
73
+ - Incremental processing
74
+ - Schema validation
75
+ - Data lineage tracking
76
+ frameworks:
77
+ - Spark
78
+ - Pandas
79
+ - dbt
80
+ - Polars
81
+ ```
82
+
83
+ ## Phase 3: Data Quality
84
+
85
+ ### Step 3.1: Define Quality Rules
86
+ ```yaml
87
+ agent: data-engineer
88
+ action: define
89
+ quality_dimensions:
90
+ - Completeness: No null required fields
91
+ - Accuracy: Values in valid ranges
92
+ - Consistency: Cross-field validation
93
+ - Timeliness: Data freshness
94
+ - Uniqueness: No duplicates
95
+ ```
96
+
97
+ ### Step 3.2: Implement Quality Checks
98
+ ```yaml
99
+ agent: data-engineer
100
+ action: implement
101
+ tools:
102
+ - Great Expectations
103
+ - dbt tests
104
+ - Soda
105
+ - Custom validators
106
+ checks:
107
+ - Schema validation
108
+ - Statistical checks
109
+ - Anomaly detection
110
+ - Referential integrity
111
+ ```
112
+
113
+ ## Phase 4: Feature Store Integration
114
+
115
+ ### Step 4.1: Define Features
116
+ ```yaml
117
+ agent: ml-engineer
118
+ action: define
119
+ feature_types:
120
+ - Batch features (offline)
121
+ - Streaming features (online)
122
+ - On-demand features
123
+ metadata:
124
+ - Feature name
125
+ - Data type
126
+ - Description
127
+ - Owner
128
+ - Freshness SLA
129
+ ```
130
+
131
+ ### Step 4.2: Implement Feature Pipeline
132
+ ```yaml
133
+ agent: data-engineer
134
+ action: implement
135
+ feature_store:
136
+ - Feast
137
+ - Tecton
138
+ - Vertex AI Feature Store
139
+ capabilities:
140
+ - Batch ingestion
141
+ - Stream ingestion
142
+ - Point-in-time correctness
143
+ - Online serving
144
+ ```
145
+
146
+ ## Phase 5: Pipeline Orchestration
147
+
148
+ ### Step 5.1: Configure Scheduling
149
+ ```yaml
150
+ agent: data-engineer
151
+ action: configure
152
+ scheduling:
153
+ batch_pipeline:
154
+ schedule: "0 2 * * *" # Daily at 2 AM
155
+ depends_on: source_data_available
156
+ streaming_pipeline:
157
+ trigger: continuous
158
+ checkpoint: s3://checkpoints/
159
+ ```
160
+
161
+ ### Step 5.2: Monitoring and Alerting
162
+ ```yaml
163
+ agent: data-engineer
164
+ action: configure
165
+ monitoring:
166
+ - Pipeline success/failure
167
+ - Data quality metrics
168
+ - Processing latency
169
+ - Data freshness
170
+ alerts:
171
+ - Pipeline failure
172
+ - Quality threshold breach
173
+ - SLA violation
174
+ ```
175
+
176
+ ## Outputs
177
+ - [ ] Data connectors
178
+ - [ ] Transformation DAG
179
+ - [ ] Quality checks
180
+ - [ ] Feature pipelines
181
+ - [ ] Monitoring dashboards
182
+
183
+ ## Quality Gates
184
+ - All quality checks pass
185
+ - Pipeline runs successfully
186
+ - Data freshness within SLA
187
+ - No data loss
188
+ - Lineage tracked