codeply-cli 0.5.6 → 0.6.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 (429) hide show
  1. package/LICENSE +21 -21
  2. package/THIRD_PARTY_NOTICES.md +65 -65
  3. package/bin/codeply.js +8 -3
  4. package/lib/agent.mjs +2596 -2268
  5. package/lib/ai.js +135 -27
  6. package/lib/ai.mjs +6 -6
  7. package/lib/apply-patch.js +217 -217
  8. package/lib/arity-table.json +138 -138
  9. package/lib/arity.js +70 -70
  10. package/lib/auth.mjs +6 -6
  11. package/lib/autopilot.js +84 -0
  12. package/lib/bot-mail.js +46 -0
  13. package/lib/bots.js +142 -15
  14. package/lib/brain.js +914 -0
  15. package/lib/call-assist.js +120 -0
  16. package/lib/chatgpt.js +282 -282
  17. package/lib/cloud-browser.mjs +143 -143
  18. package/lib/cloud.mjs +1396 -1320
  19. package/lib/commands.js +103 -103
  20. package/lib/computer.js +136 -0
  21. package/lib/design-library/assemble-artifact.mjs +21 -21
  22. package/lib/design-library/cleanup.mjs +45 -45
  23. package/lib/design-library/index.json +22379 -22379
  24. package/lib/design-library/make-table-data.mjs +39 -39
  25. package/lib/design-tools.mjs +173 -0
  26. package/lib/diagnostics.js +192 -192
  27. package/lib/dsh-acp.mjs +444 -0
  28. package/lib/edit-engine.js +364 -364
  29. package/lib/github-agent.mjs +326 -326
  30. package/lib/handoff.mjs +245 -0
  31. package/lib/history.js +78 -75
  32. package/lib/life-sources.js +319 -0
  33. package/lib/life-store.js +356 -0
  34. package/lib/life-triggers.js +286 -0
  35. package/lib/life.js +487 -0
  36. package/lib/mail-watch.js +3 -3
  37. package/lib/mcp.js +258 -258
  38. package/lib/native-tools.mjs +17 -5
  39. package/lib/oauth-connectors.js +76 -21
  40. package/lib/permissions.js +109 -109
  41. package/lib/plugins.js +356 -353
  42. package/lib/reach.js +67 -67
  43. package/lib/render-md.mjs +647 -617
  44. package/lib/screen.js +77 -0
  45. package/lib/server.mjs +458 -457
  46. package/lib/session-db.js +220 -220
  47. package/lib/share.js +208 -168
  48. package/lib/skills.js +4 -1
  49. package/lib/snapshot.js +146 -146
  50. package/lib/subagents.js +4 -2
  51. package/lib/telemetry.js +105 -105
  52. package/lib/terminal-hints.js +154 -154
  53. package/lib/textarea.mjs +264 -258
  54. package/lib/tools.mjs +326 -40
  55. package/lib/tui.mjs +1459 -1086
  56. package/lib/typecheck-worker.js +147 -147
  57. package/lib/web-tools.js +209 -209
  58. package/package.json +1 -1
  59. package/skills/SOURCE.md +58 -58
  60. package/skills/accessibility/SKILL.md +147 -147
  61. package/skills/agent-architecture-audit/SKILL.md +257 -257
  62. package/skills/agent-eval/SKILL.md +147 -147
  63. package/skills/agent-harness-construction/SKILL.md +74 -74
  64. package/skills/agent-introspection-debugging/SKILL.md +154 -154
  65. package/skills/agent-payment-x402/SKILL.md +225 -225
  66. package/skills/agent-self-evaluation/SKILL.md +182 -182
  67. package/skills/agent-self-evaluation/references/evaluation-criteria.md +71 -71
  68. package/skills/agent-self-evaluation/references/hook-integration.md +64 -64
  69. package/skills/agent-sort/SKILL.md +216 -216
  70. package/skills/agentic-engineering/SKILL.md +64 -64
  71. package/skills/agentic-os/SKILL.md +388 -388
  72. package/skills/ai-first-engineering/SKILL.md +52 -52
  73. package/skills/ai-regression-testing/SKILL.md +386 -386
  74. package/skills/android-clean-architecture/SKILL.md +340 -340
  75. package/skills/angular-developer/SKILL.md +155 -155
  76. package/skills/angular-developer/references/angular-animations.md +160 -160
  77. package/skills/angular-developer/references/angular-aria.md +410 -410
  78. package/skills/angular-developer/references/cli.md +86 -86
  79. package/skills/angular-developer/references/component-harnesses.md +59 -59
  80. package/skills/angular-developer/references/component-styling.md +91 -91
  81. package/skills/angular-developer/references/components.md +117 -117
  82. package/skills/angular-developer/references/creating-services.md +97 -97
  83. package/skills/angular-developer/references/data-resolvers.md +69 -69
  84. package/skills/angular-developer/references/define-routes.md +67 -67
  85. package/skills/angular-developer/references/defining-providers.md +72 -72
  86. package/skills/angular-developer/references/di-fundamentals.md +120 -120
  87. package/skills/angular-developer/references/e2e-testing.md +56 -56
  88. package/skills/angular-developer/references/effects.md +83 -83
  89. package/skills/angular-developer/references/hierarchical-injectors.md +43 -43
  90. package/skills/angular-developer/references/host-elements.md +80 -80
  91. package/skills/angular-developer/references/injection-context.md +63 -63
  92. package/skills/angular-developer/references/inputs.md +101 -101
  93. package/skills/angular-developer/references/linked-signal.md +59 -59
  94. package/skills/angular-developer/references/loading-strategies.md +61 -61
  95. package/skills/angular-developer/references/mcp.md +108 -108
  96. package/skills/angular-developer/references/navigate-to-routes.md +69 -69
  97. package/skills/angular-developer/references/outputs.md +86 -86
  98. package/skills/angular-developer/references/reactive-forms.md +122 -122
  99. package/skills/angular-developer/references/rendering-strategies.md +44 -44
  100. package/skills/angular-developer/references/resource.md +77 -77
  101. package/skills/angular-developer/references/route-animations.md +56 -56
  102. package/skills/angular-developer/references/route-guards.md +52 -52
  103. package/skills/angular-developer/references/router-lifecycle.md +45 -45
  104. package/skills/angular-developer/references/router-testing.md +87 -87
  105. package/skills/angular-developer/references/show-routes-with-outlets.md +68 -68
  106. package/skills/angular-developer/references/signal-forms.md +795 -795
  107. package/skills/angular-developer/references/signals-overview.md +94 -94
  108. package/skills/angular-developer/references/tailwind-css.md +69 -69
  109. package/skills/angular-developer/references/template-driven-forms.md +114 -114
  110. package/skills/angular-developer/references/testing-fundamentals.md +65 -65
  111. package/skills/api-connector-builder/SKILL.md +121 -121
  112. package/skills/api-design/SKILL.md +524 -524
  113. package/skills/architecture-decision-records/SKILL.md +180 -180
  114. package/skills/article-writing/SKILL.md +80 -80
  115. package/skills/automation-audit-ops/SKILL.md +143 -143
  116. package/skills/autonomous-agent-harness/SKILL.md +274 -274
  117. package/skills/autonomous-loops/SKILL.md +611 -611
  118. package/skills/backend-patterns/SKILL.md +562 -562
  119. package/skills/benchmark/SKILL.md +95 -95
  120. package/skills/benchmark-methodology/SKILL.md +191 -191
  121. package/skills/benchmark-optimization-loop/SKILL.md +71 -71
  122. package/skills/blender-motion-state-inspection/SKILL.md +165 -165
  123. package/skills/blueprint/SKILL.md +106 -106
  124. package/skills/brand-discovery/SKILL.md +145 -145
  125. package/skills/brand-discovery/references/10_purpose-why.md +40 -40
  126. package/skills/brand-discovery/references/20_positioning.md +44 -44
  127. package/skills/brand-discovery/references/30_audience-niche.md +52 -52
  128. package/skills/brand-discovery/references/40_personality-archetype.md +57 -57
  129. package/skills/brand-discovery/references/50_voice-tone.md +59 -59
  130. package/skills/brand-discovery/references/60_narrative-story.md +50 -50
  131. package/skills/brand-discovery/references/70_founder-tension.md +49 -49
  132. package/skills/brand-discovery/references/90_SYNTHESIS.md +133 -133
  133. package/skills/brand-voice/SKILL.md +98 -98
  134. package/skills/brand-voice/references/voice-profile-schema.md +55 -55
  135. package/skills/browser-qa/SKILL.md +105 -105
  136. package/skills/bun-runtime/SKILL.md +85 -85
  137. package/skills/canary-watch/SKILL.md +108 -108
  138. package/skills/carrier-relationship-management/SKILL.md +212 -212
  139. package/skills/cisco-ios-patterns/SKILL.md +164 -164
  140. package/skills/ck/SKILL.md +148 -148
  141. package/skills/claude-devfleet/SKILL.md +112 -112
  142. package/skills/click-path-audit/SKILL.md +245 -245
  143. package/skills/clickhouse-io/SKILL.md +445 -445
  144. package/skills/code-tour/SKILL.md +254 -254
  145. package/skills/codebase-onboarding/SKILL.md +234 -234
  146. package/skills/codehealth-mcp/SKILL.md +167 -167
  147. package/skills/codeply-taste/LICENSE +21 -0
  148. package/skills/codeply-taste/SKILL.md +100 -0
  149. package/skills/codeply-taste/SOURCE.md +10 -0
  150. package/skills/codeply-taste/assets/base.css +100 -0
  151. package/skills/codeply-taste/assets/base.js +37 -0
  152. package/skills/codeply-taste/library/directions.json +1078 -0
  153. package/skills/codeply-taste/library/heroes.json +894 -0
  154. package/skills/codeply-taste/library/motions.json +57 -0
  155. package/skills/codeply-taste/library/palettes.json +1485 -0
  156. package/skills/codeply-taste/library/photos.json +7240 -0
  157. package/skills/codeply-taste/library/sections.json +4136 -0
  158. package/skills/codeply-taste/library/sites.json +7274 -0
  159. package/skills/codeply-taste/library/type.json +2024 -0
  160. package/skills/codeply-taste/references/colour.md +141 -0
  161. package/skills/codeply-taste/references/copy.md +177 -0
  162. package/skills/codeply-taste/references/critique.md +171 -0
  163. package/skills/codeply-taste/references/imagery.md +377 -0
  164. package/skills/codeply-taste/references/layout.md +178 -0
  165. package/skills/codeply-taste/references/motion.md +292 -0
  166. package/skills/codeply-taste/references/research.md +306 -0
  167. package/skills/codeply-taste/references/tells.md +115 -0
  168. package/skills/codeply-taste/references/type.md +170 -0
  169. package/skills/codeply-taste/scripts/assets.mjs +865 -0
  170. package/skills/codeply-taste/scripts/draw.mjs +525 -0
  171. package/skills/codeply-taste/scripts/inspect.mjs +205 -0
  172. package/skills/codeply-taste/scripts/lib/cdp.mjs +205 -0
  173. package/skills/codeply-taste/scripts/lib/probe.mjs +569 -0
  174. package/skills/codeply-taste/scripts/lib/rules.mjs +137 -0
  175. package/skills/codeply-taste/scripts/lint.mjs +108 -0
  176. package/skills/coding-standards/SKILL.md +551 -551
  177. package/skills/competitive-platform-analysis/SKILL.md +214 -214
  178. package/skills/competitive-report-structure/SKILL.md +162 -162
  179. package/skills/compose-multiplatform-patterns/SKILL.md +300 -300
  180. package/skills/config-gc/SKILL.md +120 -120
  181. package/skills/configure-ecc/SKILL.md +385 -385
  182. package/skills/connections-optimizer/SKILL.md +190 -190
  183. package/skills/content-engine/SKILL.md +132 -132
  184. package/skills/content-hash-cache-pattern/SKILL.md +162 -162
  185. package/skills/context-budget/SKILL.md +136 -136
  186. package/skills/continuous-agent-loop/SKILL.md +46 -46
  187. package/skills/continuous-learning/SKILL.md +132 -132
  188. package/skills/continuous-learning-v2/SKILL.md +361 -361
  189. package/skills/contract-first/SKILL.md +287 -287
  190. package/skills/cost-aware-llm-pipeline/SKILL.md +184 -184
  191. package/skills/cost-tracking/SKILL.md +97 -97
  192. package/skills/council/SKILL.md +204 -204
  193. package/skills/cpp-coding-standards/SKILL.md +724 -724
  194. package/skills/cpp-testing/SKILL.md +325 -325
  195. package/skills/crosspost/SKILL.md +112 -112
  196. package/skills/csharp-testing/SKILL.md +322 -322
  197. package/skills/customer-billing-ops/SKILL.md +141 -141
  198. package/skills/customs-trade-compliance/SKILL.md +263 -263
  199. package/skills/dart-flutter-patterns/SKILL.md +564 -564
  200. package/skills/dashboard-builder/SKILL.md +109 -109
  201. package/skills/data-scraper-agent/SKILL.md +765 -765
  202. package/skills/data-throughput-accelerator/SKILL.md +74 -74
  203. package/skills/database-migrations/SKILL.md +430 -430
  204. package/skills/deep-research/SKILL.md +160 -160
  205. package/skills/defi-amm-security/SKILL.md +167 -167
  206. package/skills/delivery-gate/SKILL.md +126 -126
  207. package/skills/deployment-patterns/SKILL.md +428 -428
  208. package/skills/design-system/SKILL.md +83 -83
  209. package/skills/django-celery/SKILL.md +458 -458
  210. package/skills/django-patterns/SKILL.md +735 -735
  211. package/skills/django-security/SKILL.md +644 -644
  212. package/skills/django-tdd/SKILL.md +730 -730
  213. package/skills/django-verification/SKILL.md +470 -470
  214. package/skills/dmux-workflows/SKILL.md +192 -192
  215. package/skills/docker-patterns/SKILL.md +365 -365
  216. package/skills/documentation-lookup/SKILL.md +91 -91
  217. package/skills/dotnet-patterns/SKILL.md +322 -322
  218. package/skills/dynamic-workflow-mode/SKILL.md +124 -124
  219. package/skills/e2e-testing/SKILL.md +327 -327
  220. package/skills/ecc-guide/SKILL.md +190 -190
  221. package/skills/ecc-recipes/SKILL.md +149 -149
  222. package/skills/ecc-tools-cost-audit/SKILL.md +161 -161
  223. package/skills/email-ops/SKILL.md +122 -122
  224. package/skills/energy-procurement/SKILL.md +228 -228
  225. package/skills/enterprise-agent-ops/SKILL.md +51 -51
  226. package/skills/error-handling/SKILL.md +377 -377
  227. package/skills/eval-harness/SKILL.md +271 -271
  228. package/skills/evm-token-decimals/SKILL.md +131 -131
  229. package/skills/exa-search/SKILL.md +108 -108
  230. package/skills/fal-ai-media/SKILL.md +289 -289
  231. package/skills/fastapi-patterns/SKILL.md +514 -514
  232. package/skills/finance-billing-ops/SKILL.md +128 -128
  233. package/skills/flox-environments/SKILL.md +497 -497
  234. package/skills/flutter-dart-code-review/SKILL.md +436 -436
  235. package/skills/foundation-models-on-device/SKILL.md +243 -243
  236. package/skills/frontend-a11y/SKILL.md +446 -446
  237. package/skills/frontend-design-direction/SKILL.md +93 -93
  238. package/skills/frontend-patterns/SKILL.md +657 -657
  239. package/skills/frontend-slides/SKILL.md +185 -185
  240. package/skills/fsharp-testing/SKILL.md +281 -281
  241. package/skills/gan-style-harness/SKILL.md +279 -279
  242. package/skills/gateguard/SKILL.md +133 -133
  243. package/skills/generating-python-installer/SKILL.md +820 -820
  244. package/skills/git-workflow/SKILL.md +716 -716
  245. package/skills/github-ops/SKILL.md +145 -145
  246. package/skills/golang-patterns/SKILL.md +676 -676
  247. package/skills/golang-testing/SKILL.md +721 -721
  248. package/skills/google-workspace-ops/SKILL.md +96 -96
  249. package/skills/growth-log/SKILL.md +128 -128
  250. package/skills/healthcare-cdss-patterns/SKILL.md +246 -246
  251. package/skills/healthcare-emr-patterns/SKILL.md +160 -160
  252. package/skills/healthcare-eval-harness/SKILL.md +208 -208
  253. package/skills/healthcare-phi-compliance/SKILL.md +146 -146
  254. package/skills/hermes-imports/SKILL.md +89 -89
  255. package/skills/hexagonal-architecture/SKILL.md +277 -277
  256. package/skills/hipaa-compliance/SKILL.md +79 -79
  257. package/skills/homelab-network-readiness/SKILL.md +170 -170
  258. package/skills/homelab-network-setup/SKILL.md +130 -130
  259. package/skills/homelab-pihole-dns/SKILL.md +275 -275
  260. package/skills/homelab-vlan-segmentation/SKILL.md +312 -312
  261. package/skills/homelab-wireguard-vpn/SKILL.md +306 -306
  262. package/skills/hookify-rules/SKILL.md +128 -128
  263. package/skills/inherit-legacy-style/SKILL.md +157 -157
  264. package/skills/intent-driven-development/SKILL.md +360 -360
  265. package/skills/inventory-demand-planning/SKILL.md +247 -247
  266. package/skills/investor-materials/SKILL.md +97 -97
  267. package/skills/investor-outreach/SKILL.md +92 -92
  268. package/skills/ios-icon-gen/SKILL.md +158 -158
  269. package/skills/iterative-retrieval/SKILL.md +212 -212
  270. package/skills/ito-basket-compare/SKILL.md +64 -64
  271. package/skills/ito-compute/SKILL.md +129 -129
  272. package/skills/ito-data-atlas-agent/SKILL.md +64 -64
  273. package/skills/ito-market-intelligence/SKILL.md +61 -61
  274. package/skills/ito-trade-planner/SKILL.md +68 -68
  275. package/skills/java-coding-standards/SKILL.md +384 -384
  276. package/skills/jira-integration/SKILL.md +303 -303
  277. package/skills/jpa-patterns/SKILL.md +152 -152
  278. package/skills/knowledge-ops/SKILL.md +155 -155
  279. package/skills/kotlin-coroutines-flows/SKILL.md +285 -285
  280. package/skills/kotlin-exposed-patterns/SKILL.md +720 -720
  281. package/skills/kotlin-ktor-patterns/SKILL.md +690 -690
  282. package/skills/kotlin-patterns/SKILL.md +712 -712
  283. package/skills/kotlin-testing/SKILL.md +825 -825
  284. package/skills/kubernetes-patterns/SKILL.md +756 -756
  285. package/skills/laravel-patterns/SKILL.md +416 -416
  286. package/skills/laravel-plugin-discovery/SKILL.md +230 -230
  287. package/skills/laravel-security/SKILL.md +948 -948
  288. package/skills/laravel-tdd/SKILL.md +675 -675
  289. package/skills/laravel-verification/SKILL.md +180 -180
  290. package/skills/latency-critical-systems/SKILL.md +75 -75
  291. package/skills/lead-intelligence/SKILL.md +322 -322
  292. package/skills/liquid-glass-design/SKILL.md +279 -279
  293. package/skills/llm-trading-agent-security/SKILL.md +147 -147
  294. package/skills/logistics-exception-management/SKILL.md +222 -222
  295. package/skills/loop-design-check/SKILL.md +143 -143
  296. package/skills/mailtrap-email-integration/SKILL.md +77 -77
  297. package/skills/make-interfaces-feel-better/SKILL.md +152 -152
  298. package/skills/manim-video/SKILL.md +90 -90
  299. package/skills/market-research/SKILL.md +76 -76
  300. package/skills/marketing-campaign/SKILL.md +114 -114
  301. package/skills/mcp-server-patterns/SKILL.md +70 -70
  302. package/skills/messages-ops/SKILL.md +105 -105
  303. package/skills/ml-adoption-playbook/SKILL.md +57 -57
  304. package/skills/mle-workflow/SKILL.md +348 -348
  305. package/skills/motion-advanced/SKILL.md +596 -596
  306. package/skills/motion-foundations/SKILL.md +299 -299
  307. package/skills/motion-patterns/SKILL.md +434 -434
  308. package/skills/motion-ui/SKILL.md +576 -576
  309. package/skills/mysql-patterns/SKILL.md +413 -413
  310. package/skills/nanoclaw-repl/SKILL.md +34 -34
  311. package/skills/nestjs-patterns/SKILL.md +231 -231
  312. package/skills/netmiko-ssh-automation/SKILL.md +174 -174
  313. package/skills/network-bgp-diagnostics/SKILL.md +168 -168
  314. package/skills/network-config-validation/SKILL.md +211 -211
  315. package/skills/network-interface-health/SKILL.md +153 -153
  316. package/skills/nextjs-turbopack/SKILL.md +58 -58
  317. package/skills/nodejs-keccak256/SKILL.md +103 -103
  318. package/skills/nutrient-document-processing/SKILL.md +168 -168
  319. package/skills/nuxt4-patterns/SKILL.md +101 -101
  320. package/skills/openclaw-persona-forge/SKILL.md +289 -289
  321. package/skills/openclaw-persona-forge/references/avatar-style.md +124 -124
  322. package/skills/openclaw-persona-forge/references/boundary-rules.md +53 -53
  323. package/skills/openclaw-persona-forge/references/error-handling.md +53 -53
  324. package/skills/openclaw-persona-forge/references/identity-tension.md +48 -48
  325. package/skills/openclaw-persona-forge/references/naming-system.md +39 -39
  326. package/skills/openclaw-persona-forge/references/output-template.md +166 -166
  327. package/skills/opensource-pipeline/SKILL.md +256 -256
  328. package/skills/orch-add-feature/SKILL.md +45 -45
  329. package/skills/orch-build-mvp/SKILL.md +49 -49
  330. package/skills/orch-change-feature/SKILL.md +43 -43
  331. package/skills/orch-fix-defect/SKILL.md +43 -43
  332. package/skills/orch-pipeline/SKILL.md +121 -121
  333. package/skills/orch-refine-code/SKILL.md +44 -44
  334. package/skills/parallel-execution-optimizer/SKILL.md +74 -74
  335. package/skills/perl-patterns/SKILL.md +505 -505
  336. package/skills/perl-security/SKILL.md +504 -504
  337. package/skills/perl-testing/SKILL.md +476 -476
  338. package/skills/plan-canvas/SKILL.md +153 -153
  339. package/skills/plan-orchestrate/SKILL.md +263 -263
  340. package/skills/plankton-code-quality/SKILL.md +237 -237
  341. package/skills/postgres-patterns/SKILL.md +148 -148
  342. package/skills/prediction-market-oracle-research/SKILL.md +64 -64
  343. package/skills/prediction-market-risk-review/SKILL.md +61 -61
  344. package/skills/premium-web-design/SKILL.md +154 -154
  345. package/skills/prisma-patterns/SKILL.md +401 -401
  346. package/skills/product-capability/SKILL.md +142 -142
  347. package/skills/product-lens/SKILL.md +93 -93
  348. package/skills/production-audit/SKILL.md +207 -207
  349. package/skills/production-scheduling/SKILL.md +238 -238
  350. package/skills/project-flow-ops/SKILL.md +112 -112
  351. package/skills/prompt-optimizer/SKILL.md +398 -398
  352. package/skills/python-patterns/SKILL.md +751 -751
  353. package/skills/python-testing/SKILL.md +817 -817
  354. package/skills/pytorch-patterns/SKILL.md +397 -397
  355. package/skills/quality-nonconformance/SKILL.md +260 -260
  356. package/skills/quarkus-patterns/SKILL.md +723 -723
  357. package/skills/quarkus-security/SKILL.md +468 -468
  358. package/skills/quarkus-tdd/SKILL.md +812 -812
  359. package/skills/quarkus-verification/SKILL.md +480 -480
  360. package/skills/ralphinho-rfc-pipeline/SKILL.md +68 -68
  361. package/skills/react-native-patterns/SKILL.md +326 -326
  362. package/skills/react-patterns/SKILL.md +342 -342
  363. package/skills/react-performance/SKILL.md +575 -575
  364. package/skills/react-testing/SKILL.md +424 -424
  365. package/skills/recsys-pipeline-architect/SKILL.md +115 -115
  366. package/skills/recursive-decision-ledger/SKILL.md +81 -81
  367. package/skills/redis-patterns/SKILL.md +404 -404
  368. package/skills/regex-vs-llm-structured-text/SKILL.md +221 -221
  369. package/skills/remotion-video-creation/SKILL.md +43 -43
  370. package/skills/repo-scan/SKILL.md +79 -79
  371. package/skills/research-ops/SKILL.md +113 -113
  372. package/skills/returns-reverse-logistics/SKILL.md +240 -240
  373. package/skills/rules-distill/SKILL.md +265 -265
  374. package/skills/rust-patterns/SKILL.md +500 -500
  375. package/skills/rust-testing/SKILL.md +501 -501
  376. package/skills/safety-guard/SKILL.md +76 -76
  377. package/skills/santa-method/SKILL.md +307 -307
  378. package/skills/scientific-db-pubmed-database/SKILL.md +176 -176
  379. package/skills/scientific-db-uspto-database/SKILL.md +178 -178
  380. package/skills/scientific-pkg-gget/SKILL.md +167 -167
  381. package/skills/scientific-thinking-literature-review/SKILL.md +193 -193
  382. package/skills/scientific-thinking-scholar-evaluation/SKILL.md +161 -161
  383. package/skills/search-first/SKILL.md +183 -183
  384. package/skills/security-bounty-hunter/SKILL.md +100 -100
  385. package/skills/security-review/SKILL.md +504 -504
  386. package/skills/security-scan/SKILL.md +166 -166
  387. package/skills/seo/SKILL.md +155 -155
  388. package/skills/skill-comply/SKILL.md +59 -59
  389. package/skills/skill-scout/SKILL.md +141 -141
  390. package/skills/skill-stocktake/SKILL.md +195 -195
  391. package/skills/social-graph-ranker/SKILL.md +155 -155
  392. package/skills/social-publisher/SKILL.md +130 -130
  393. package/skills/springboot-patterns/SKILL.md +315 -315
  394. package/skills/springboot-security/SKILL.md +273 -273
  395. package/skills/springboot-tdd/SKILL.md +159 -159
  396. package/skills/springboot-verification/SKILL.md +232 -232
  397. package/skills/strategic-compact/SKILL.md +142 -142
  398. package/skills/swift-actor-persistence/SKILL.md +144 -144
  399. package/skills/swift-concurrency-6-2/SKILL.md +216 -216
  400. package/skills/swift-protocol-di-testing/SKILL.md +191 -191
  401. package/skills/swiftui-patterns/SKILL.md +259 -259
  402. package/skills/taste/SKILL.md +264 -264
  403. package/skills/taste/references/genre-taxonomy.md +87 -87
  404. package/skills/tdd-workflow/SKILL.md +583 -583
  405. package/skills/team-agent-orchestration/SKILL.md +111 -111
  406. package/skills/team-builder/SKILL.md +169 -169
  407. package/skills/terminal-ops/SKILL.md +110 -110
  408. package/skills/tinystruct-patterns/SKILL.md +279 -279
  409. package/skills/tinystruct-patterns/references/architecture.md +90 -90
  410. package/skills/tinystruct-patterns/references/data-handling.md +60 -60
  411. package/skills/tinystruct-patterns/references/database.md +99 -99
  412. package/skills/tinystruct-patterns/references/routing.md +64 -64
  413. package/skills/tinystruct-patterns/references/system-usage.md +97 -97
  414. package/skills/tinystruct-patterns/references/testing.md +72 -72
  415. package/skills/token-budget-advisor/SKILL.md +134 -134
  416. package/skills/ui-demo/SKILL.md +466 -466
  417. package/skills/ui-to-vue/SKILL.md +135 -135
  418. package/skills/uncloud/SKILL.md +344 -344
  419. package/skills/unified-memory/SKILL.md +170 -170
  420. package/skills/unified-notifications-ops/SKILL.md +188 -188
  421. package/skills/verification-loop/SKILL.md +129 -129
  422. package/skills/video-editing/SKILL.md +311 -311
  423. package/skills/videodb/SKILL.md +375 -375
  424. package/skills/visa-doc-translate/SKILL.md +117 -117
  425. package/skills/vite-patterns/SKILL.md +450 -450
  426. package/skills/vue-patterns/SKILL.md +471 -471
  427. package/skills/windows-desktop-e2e/SKILL.md +888 -888
  428. package/skills/workspace-surface-audit/SKILL.md +126 -126
  429. package/skills/x-api/SKILL.md +235 -235
@@ -1,348 +1,348 @@
1
- ---
2
- name: mle-workflow
3
- description: Production machine-learning engineering workflow for data contracts, reproducible training, model evaluation, deployment, monitoring, and rollback. Use when building, reviewing, or hardening ML systems beyond one-off notebooks.
4
- license: MIT
5
- metadata:
6
- origin: ECC
7
- ---
8
-
9
- # Machine Learning Engineering Workflow
10
-
11
- Use this skill to turn model work into a production ML system with clear data contracts, repeatable training, measurable quality gates, deployable artifacts, and operational monitoring.
12
-
13
- ## When to Activate
14
-
15
- - Planning or reviewing a production ML feature, model refresh, ranking system, recommender, classifier, embedding workflow, or forecasting pipeline
16
- - Converting notebook code into a reusable training, evaluation, batch inference, or online inference pipeline
17
- - Designing model promotion criteria, offline/online evals, experiment tracking, or rollback paths
18
- - Debugging failures caused by data drift, label leakage, stale features, artifact mismatch, or inconsistent training and serving logic
19
- - Adding model monitoring, canary rollout, shadow traffic, or post-deploy quality checks
20
-
21
- ## Scope Calibration
22
-
23
- Use only the lanes that fit the system in front of you. This skill is useful for ranking, search, recommendations, classifiers, forecasting, embeddings, LLM workflows, anomaly detection, and batch analytics, but it should not force one architecture onto all of them.
24
-
25
- - Do not assume every model has supervised labels, online serving, a feature store, PyTorch, GPUs, human review, A/B tests, or real-time feedback.
26
- - Do not add heavyweight MLOps machinery when a data contract, baseline, eval script, and rollback note would make the change reviewable.
27
- - Do make assumptions explicit when the project lacks labels, delayed outcomes, slice definitions, production traffic, or monitoring ownership.
28
- - Treat examples as interchangeable scaffolds. Replace metrics, serving mode, data stores, and rollout mechanics with the project-native equivalents.
29
-
30
- ## Related Skills
31
-
32
- - `python-patterns` and `python-testing` for Python implementation and pytest coverage
33
- - `pytorch-patterns` for deep learning models, data loaders, device handling, and training loops
34
- - `eval-harness` and `ai-regression-testing` for promotion gates and agent-assisted regression checks
35
- - `database-migrations`, `postgres-patterns`, and `clickhouse-io` for data storage and analytics surfaces
36
- - `deployment-patterns`, `docker-patterns`, and `security-review` for serving, secrets, containers, and production hardening
37
-
38
- ## Reuse the SWE Surface
39
-
40
- Do not treat MLE as separate from software engineering. Most ECC SWE workflows apply directly to ML systems, often with stricter failure modes:
41
-
42
- The recommended `minimal --with capability:machine-learning` install keeps the core agent surface available alongside this skill. For skill-only or agent-limited harnesses, pair `skill:mle-workflow` with `agent:mle-reviewer` where the target supports agents.
43
-
44
- | SWE surface | MLE use |
45
- |-------------|---------|
46
- | `product-capability` / `architecture-decision-records` | Turn model work into explicit product contracts and record irreversible data, model, and rollout choices |
47
- | `repo-scan` / `codebase-onboarding` / `code-tour` | Find existing training, feature, serving, eval, and monitoring paths before introducing a parallel ML stack |
48
- | `plan` / `feature-dev` | Scope model changes as product capabilities with data, eval, serving, and rollback phases |
49
- | `tdd-workflow` / `python-testing` | Test feature transforms, split logic, metric calculations, artifact loading, and inference schemas before implementation |
50
- | `code-reviewer` / `mle-reviewer` | Review code quality plus ML-specific leakage, reproducibility, promotion, and monitoring risks |
51
- | `build-fix` / `pr-test-analyzer` | Diagnose broken CI, flaky evals, missing fixtures, and environment-specific model or dependency failures |
52
- | `quality-gate` / `test-coverage` | Require automated evidence for transforms, metrics, inference contracts, promotion gates, and rollback behavior |
53
- | `eval-harness` / `verification-loop` | Turn offline metrics, slice checks, latency budgets, and rollback drills into repeatable gates |
54
- | `ai-regression-testing` | Preserve every production bug as a regression: missing feature, stale label, bad artifact, schema drift, or serving mismatch |
55
- | `api-design` / `backend-patterns` | Design prediction APIs, batch jobs, idempotent retraining endpoints, and response envelopes |
56
- | `database-migrations` / `postgres-patterns` / `clickhouse-io` | Version labels, feature snapshots, prediction logs, experiment metrics, and drift analytics |
57
- | `deployment-patterns` / `docker-patterns` | Package reproducible training and serving images with health checks, resource limits, and rollback |
58
- | `canary-watch` / `dashboard-builder` | Make rollout health visible with model-version, slice, drift, latency, cost, and delayed-label dashboards |
59
- | `security-review` / `security-scan` | Check model artifacts, notebooks, prompts, datasets, and logs for secrets, PII, unsafe deserialization, and supply-chain risk |
60
- | `e2e-testing` / `browser-qa` / `accessibility` | Test critical product flows that consume predictions, including explainability and fallback UI states |
61
- | `benchmark` / `performance-optimizer` | Measure throughput, p95 latency, memory, GPU utilization, and cost per prediction or retrain |
62
- | `cost-aware-llm-pipeline` / `token-budget-advisor` | Route LLM/embedding workloads by quality, latency, and budget instead of defaulting to the largest model |
63
- | `documentation-lookup` / `search-first` | Verify current library behavior for model serving, feature stores, vector DBs, and eval tooling before coding |
64
- | `git-workflow` / `github-ops` / `opensource-pipeline` | Package MLE changes for review with crisp scope, generated artifacts excluded, and reproducible test evidence |
65
- | `strategic-compact` / `dmux-workflows` | Split long ML work into parallel tracks: data contract, eval harness, serving path, monitoring, and docs |
66
-
67
- ## Ten MLE Task Simulations
68
-
69
- Use these simulations as coverage checks when planning or reviewing MLE work. A strong MLE workflow should reduce each task to explicit contracts, reusable SWE surfaces, automated evidence, and a reviewable artifact.
70
-
71
- | ID | Common MLE task | Streamlined ECC path | Required output | Pipeline lanes covered |
72
- |----|-----------------|----------------------|-----------------|------------------------|
73
- | MLE-01 | Frame an ambiguous prediction, ranking, recommender, classifier, embedding, or forecast capability | `product-capability`, `plan`, `architecture-decision-records`, `mle-workflow` | Iteration Compact naming who cares, decision owner, success metric, unacceptable mistakes, assumptions, constraints, and first experiment | product contract, stakeholder loss, risk, rollout |
74
- | MLE-02 | Define metric goals, labels, data sources, and the mistake budget | `repo-scan`, `database-reviewer`, `database-migrations`, `postgres-patterns`, `clickhouse-io` | Data and metric contract with entity grain, label timing, label confidence, feature timing, point-in-time joins, split policy, and dataset snapshot | data contract, metric design, leakage, reproducibility |
75
- | MLE-03 | Build a baseline model and scoring path before adding complexity | `tdd-workflow`, `python-testing`, `python-patterns`, `code-reviewer` | Baseline scorer with confusion matrix, calibration notes, latency/cost estimate, known weaknesses, and tests for score shape and determinism | baseline, scoring, testing, serving parity |
76
- | MLE-04 | Generate features from hypotheses about what separates outcomes | `python-patterns`, `pytorch-patterns`, `docker-patterns`, `deployment-patterns` | Feature plan and transform module covering signal source, missing values, outliers, correlations, leakage checks, and train/serve equivalence | feature pipeline, leakage, training, artifacts |
77
- | MLE-05 | Tune thresholds, configs, and model complexity under tradeoffs | `eval-harness`, `ai-regression-testing`, `quality-gate`, `test-coverage` | Threshold/config report comparing precision, recall, F1, AUC, calibration, group slices, latency, cost, complexity, and acceptable error classes | evaluation, threshold, promotion, regression |
78
- | MLE-06 | Run error analysis and turn mistakes into the next experiment | `eval-harness`, `ai-regression-testing`, `mle-reviewer`, `silent-failure-hunter` | Error cluster report for false positives, false negatives, ambiguous labels, stale features, missing signals, and bug traces with lessons captured | error analysis, bug trace, iteration, regression |
79
- | MLE-07 | Package a model artifact for batch or online inference | `api-design`, `backend-patterns`, `security-review`, `security-scan` | Versioned artifact bundle with preprocessing, config, dependency constraints, schema validation, safe loading, and PII-safe logs | artifact, security, inference contract |
80
- | MLE-08 | Ship online serving or batch scoring with feedback capture | `api-design`, `backend-patterns`, `e2e-testing`, `browser-qa`, `accessibility` | Prediction endpoint or batch job with response envelope, timeout, batching, fallback, model version, confidence, feedback logging, and product-flow tests | serving, batch inference, fallback, user workflow |
81
- | MLE-09 | Roll out a model with shadow traffic, canary, A/B test, or rollback | `canary-watch`, `dashboard-builder`, `verification-loop`, `performance-optimizer` | Rollout plan naming traffic split, dashboards, p95 latency, cost, quality guardrails, rollback artifact, and rollback trigger | deployment, canary, rollback |
82
- | MLE-10 | Operate, debug, and refresh a production model after launch | `silent-failure-hunter`, `dashboard-builder`, `mle-reviewer`, `doc-updater`, `github-ops` | Observation ledger and refresh plan with drift checks, delayed-label health, alert owners, runbook updates, retrain criteria, and PR evidence | monitoring, incident response, retraining |
83
-
84
- ## Iteration Compact
85
-
86
- Before touching model code, compress the work into one reviewable artifact. This should be short enough to fit in a PR description and precise enough that another engineer can challenge the tradeoffs.
87
-
88
- ```text
89
- Goal:
90
- Who cares:
91
- Decision owner:
92
- User or system action changed by the model:
93
- Success metric:
94
- Guardrail metrics:
95
- Mistake budget:
96
- Unacceptable mistakes:
97
- Acceptable mistakes:
98
- Assumptions:
99
- Constraints:
100
- Labels and data snapshot:
101
- Baseline:
102
- Candidate signals:
103
- Threshold or config plan:
104
- Eval slices:
105
- Known risks:
106
- Next experiment:
107
- Rollback or fallback:
108
- ```
109
-
110
- This compact is the MLE equivalent of a strong SWE design note. It keeps the team from optimizing a metric no one trusts, adding features that do not address the real error mode, or shipping complexity without a rollback.
111
-
112
- ## Decision Brain
113
-
114
- Use this loop whenever the task is ambiguous, high-impact, or metric-heavy:
115
-
116
- 1. Start from the decision, not the model. Name the action that changes downstream behavior.
117
- 2. Name who cares and why. Different stakeholders pay different costs for false positives, false negatives, latency, compute spend, opacity, or missed opportunities.
118
- 3. Convert ambiguity into hypotheses. Ask what signal would separate outcomes, what evidence would disprove it, and what simple baseline should be hard to beat.
119
- 4. Research prior art or a nearby known problem before inventing a bespoke system.
120
- 5. Score choices with `(probability, confidence) x (cost, severity, importance, impact)`.
121
- 6. Consider adversarial behavior, incentives, selective disclosure, distribution shift, and feedback loops.
122
- 7. Prefer the simplest change that reduces the most important mistake. Simplicity is not laziness; it is a way to minimize blunders while preserving iteration speed.
123
- 8. Capture the decision, evidence, counterargument, and next reversible step.
124
-
125
- ## Metric and Mistake Economics
126
-
127
- Choose metrics from failure costs, not habit:
128
-
129
- - Use a confusion matrix early so the team can discuss concrete false positives and false negatives instead of abstract accuracy.
130
- - Favor precision when the cost of an incorrect positive decision dominates.
131
- - Favor recall when the cost of a missed positive dominates.
132
- - Use F1 only when the precision/recall tradeoff is genuinely balanced and explainable.
133
- - Use AUC or ranking metrics when ordering quality matters more than a single threshold.
134
- - Track latency, throughput, memory, and cost as first-class metrics because they shape feasible model complexity.
135
- - Compare against a baseline and the current production model before celebrating an offline gain.
136
- - Treat real-world feedback signals as delayed labels with bias, lag, and coverage gaps; do not treat them as ground truth without analysis.
137
-
138
- Every metric choice should state which mistake it makes cheaper, which mistake it makes more likely, and who absorbs that cost.
139
-
140
- ## Data and Feature Hypotheses
141
-
142
- Features should come from a theory of separation:
143
-
144
- - Text, categorical fields, numeric histories, graph relationships, recency, frequency, and aggregates are candidate signal families, not automatic features.
145
- - For every feature family, state why it should separate outcomes and how it could leak future information.
146
- - For noisy labels, consider adjudication, label confidence, soft targets, or confidence weighting.
147
- - For class imbalance, compare weighted loss, resampling, threshold movement, and calibrated decision rules.
148
- - For missing values, decide whether absence is informative, imputable, or a reason to abstain.
149
- - For outliers, decide whether to clip, bucket, investigate, or preserve them as rare but important signal.
150
- - For correlated features, check whether they are redundant, unstable, or proxies for unavailable future state.
151
-
152
- Do not add model complexity until error analysis shows that the baseline is failing for a reason additional signal or capacity can plausibly fix.
153
-
154
- ## Error Analysis Loop
155
-
156
- After each baseline, training run, threshold change, or config change:
157
-
158
- 1. Split mistakes into false positives, false negatives, abstentions, low-confidence cases, and system failures.
159
- 2. Cluster errors by shared traits: language, entity type, source, time, geography, device, sparsity, recency, feature freshness, label source, or model version.
160
- 3. Separate model mistakes from data bugs, label ambiguity, product ambiguity, instrumentation gaps, and serving mismatches.
161
- 4. Trace each major cluster to one of four moves: better labels, better features, better threshold/config, or better product fallback.
162
- 5. Preserve every important mistake as a regression test, eval slice, dashboard panel, or runbook entry.
163
- 6. Write the next iteration as a falsifiable experiment, not a vague "improve model" task.
164
-
165
- The strongest MLE loop is not train -> metric -> ship. It is mistake -> cluster -> hypothesis -> experiment -> evidence -> simpler system.
166
-
167
- ## Observation Ledger
168
-
169
- Keep a compact decision and evidence trail beside the code, PR, experiment report, or runbook:
170
-
171
- ```text
172
- Iteration:
173
- Change:
174
- Why this mattered:
175
- Metric movement:
176
- Slice movement:
177
- False positives:
178
- False negatives:
179
- Unexpected errors:
180
- Decision:
181
- Tradeoff accepted:
182
- Lesson captured:
183
- Regression added:
184
- Debt created:
185
- Next iteration:
186
- ```
187
-
188
- Use the ledger to make model work cumulative. The goal is for each iteration to make the next decision easier, not merely to produce another artifact.
189
-
190
- ## Core Workflow
191
-
192
- ### 1. Define the Prediction Contract
193
-
194
- Capture the product-level contract before writing model code:
195
-
196
- - Prediction target and decision owner
197
- - Input entity, output schema, confidence/calibration fields, and allowed latency
198
- - Batch, online, streaming, or hybrid serving mode
199
- - Fallback behavior when the model, feature store, or dependency is unavailable
200
- - Human review or override path for high-impact decisions
201
- - Privacy, retention, and audit requirements for inputs, predictions, and labels
202
-
203
- Do not accept "improve the model" as a requirement. Tie the model to an observable product behavior and a measurable acceptance gate.
204
-
205
- ### 2. Lock the Data Contract
206
-
207
- Every ML task needs an explicit data contract:
208
-
209
- - Entity grain and primary key
210
- - Label definition, label timestamp, and label availability delay
211
- - Feature timestamp, freshness SLA, and point-in-time join rules
212
- - Train, validation, test, and backtest split policy
213
- - Required columns, allowed nulls, ranges, categories, and units
214
- - PII or sensitive fields that must not enter training artifacts or logs
215
- - Dataset version or snapshot ID for reproducibility
216
-
217
- Guard against leakage first. If a feature is not available at prediction time, or is joined using future information, remove it or move it to an analysis-only path.
218
-
219
- ### 3. Build a Reproducible Pipeline
220
-
221
- Training code should be runnable by another engineer without hidden notebook state:
222
-
223
- - Use typed config files or dataclasses for all hyperparameters and paths
224
- - Pin package and model dependencies
225
- - Set random seeds and document any nondeterministic GPU behavior
226
- - Record dataset version, code SHA, config hash, metrics, and artifact URI
227
- - Save preprocessing logic with the model artifact, not separately in a notebook
228
- - Keep train, eval, and inference transformations shared or generated from one source
229
- - Make every step idempotent so retries do not corrupt artifacts or metrics
230
-
231
- Prefer immutable values and pure transformation functions. Avoid mutating shared data frames or global config during feature generation.
232
-
233
- ```python
234
- import hashlib
235
- from dataclasses import dataclass
236
- from pathlib import Path
237
-
238
-
239
- @dataclass(frozen=True)
240
- class TrainingConfig:
241
- dataset_uri: str
242
- model_dir: Path
243
- seed: int
244
- learning_rate: float
245
- batch_size: int
246
-
247
-
248
- def artifact_name(config: TrainingConfig, code_sha: str) -> str:
249
- config_key = f"{config.dataset_uri}:{config.seed}:{config.learning_rate}:{config.batch_size}"
250
- config_hash = hashlib.sha256(config_key.encode("utf-8")).hexdigest()[:12]
251
- return f"{code_sha[:12]}-{config_hash}"
252
- ```
253
-
254
- ### 4. Evaluate Before Promotion
255
-
256
- Promotion criteria should be declared before training finishes:
257
-
258
- - Baseline model and current production model comparison
259
- - Primary metric aligned to product behavior
260
- - Guardrail metrics for latency, calibration, fairness slices, cost, and error concentration
261
- - Slice metrics for important cohorts, geographies, devices, languages, or data sources
262
- - Confidence intervals or repeated-run variance when metrics are noisy
263
- - Failure examples reviewed by a human for high-impact models
264
- - Explicit "do not ship" thresholds
265
-
266
- ```python
267
- PROMOTION_GATES = {
268
- "auc": ("min", 0.82),
269
- "calibration_error": ("max", 0.04),
270
- "p95_latency_ms": ("max", 80),
271
- }
272
-
273
-
274
- def assert_promotion_ready(metrics: dict[str, float]) -> None:
275
- missing = sorted(name for name in PROMOTION_GATES if name not in metrics)
276
- if missing:
277
- raise ValueError(f"Model promotion metrics missing required gates: {missing}")
278
-
279
- failures = {
280
- name: value
281
- for name, (direction, threshold) in PROMOTION_GATES.items()
282
- for value in [metrics[name]]
283
- if (direction == "min" and value < threshold)
284
- or (direction == "max" and value > threshold)
285
- }
286
- if failures:
287
- raise ValueError(f"Model failed promotion gates: {failures}")
288
- ```
289
-
290
- Use offline metrics as gates, not guarantees. When the model changes product behavior, plan shadow evaluation, canary rollout, or A/B testing before full rollout.
291
-
292
- ### 5. Package for Serving
293
-
294
- An ML artifact is production-ready only when the serving contract is testable:
295
-
296
- - Model artifact includes version, training data reference, config, and preprocessing
297
- - Input schema rejects invalid, stale, or out-of-range features
298
- - Output schema includes model version and confidence or explanation fields when useful
299
- - Serving path has timeout, batching, resource limits, and fallback behavior
300
- - CPU/GPU requirements are explicit and tested
301
- - Prediction logs avoid PII and include enough identifiers for debugging and label joins
302
- - Integration tests cover missing features, stale features, bad types, empty batches, and fallback path
303
-
304
- Never let training-only feature code diverge from serving feature code without a test that proves equivalence.
305
-
306
- ### 6. Operate the Model
307
-
308
- Model monitoring needs both system and quality signals:
309
-
310
- - Availability, error rate, timeout rate, queue depth, and p50/p95/p99 latency
311
- - Feature null rate, range drift, categorical drift, and freshness drift
312
- - Prediction distribution drift and confidence distribution drift
313
- - Label arrival health and delayed quality metrics
314
- - Business KPI guardrails and rollback triggers
315
- - Per-version dashboards for canaries and rollbacks
316
-
317
- Every deployment should have a rollback plan that names the previous artifact, config, data dependency, and traffic-switch mechanism.
318
-
319
- ## Review Checklist
320
-
321
- - [ ] Prediction contract is explicit and testable
322
- - [ ] Data contract defines entity grain, label timing, feature timing, and snapshot/version
323
- - [ ] Leakage risks were checked against prediction-time availability
324
- - [ ] Training is reproducible from code, config, data version, and seed
325
- - [ ] Metrics compare against baseline and current production model
326
- - [ ] Slice metrics and guardrails are included for high-risk cohorts
327
- - [ ] Promotion gates are automated and fail closed
328
- - [ ] Training and serving transformations are shared or equivalence-tested
329
- - [ ] Model artifact carries version, config, dataset reference, and preprocessing
330
- - [ ] Serving path validates inputs and has timeout, fallback, and rollback behavior
331
- - [ ] Monitoring covers system health, feature drift, prediction drift, and delayed labels
332
- - [ ] Sensitive data is excluded from artifacts, logs, prompts, and examples
333
-
334
- ## Anti-Patterns
335
-
336
- - Notebook state is required to reproduce the model
337
- - Random split leaks future data into validation or test sets
338
- - Feature joins ignore event time and label availability
339
- - Offline metric improves while important slices regress
340
- - Thresholds are tuned on the test set repeatedly
341
- - Training preprocessing is copied manually into serving code
342
- - Model version is missing from prediction logs
343
- - Monitoring only checks service uptime, not data or prediction quality
344
- - Rollback requires retraining instead of switching to a known-good artifact
345
-
346
- ## Output Expectations
347
-
348
- When using this skill, return concrete artifacts: data contract, promotion gates, pipeline steps, test plan, deployment plan, or review findings. Call out unknowns that block production readiness instead of filling them with assumptions.
1
+ ---
2
+ name: mle-workflow
3
+ description: Production machine-learning engineering workflow for data contracts, reproducible training, model evaluation, deployment, monitoring, and rollback. Use when building, reviewing, or hardening ML systems beyond one-off notebooks.
4
+ license: MIT
5
+ metadata:
6
+ origin: ECC
7
+ ---
8
+
9
+ # Machine Learning Engineering Workflow
10
+
11
+ Use this skill to turn model work into a production ML system with clear data contracts, repeatable training, measurable quality gates, deployable artifacts, and operational monitoring.
12
+
13
+ ## When to Activate
14
+
15
+ - Planning or reviewing a production ML feature, model refresh, ranking system, recommender, classifier, embedding workflow, or forecasting pipeline
16
+ - Converting notebook code into a reusable training, evaluation, batch inference, or online inference pipeline
17
+ - Designing model promotion criteria, offline/online evals, experiment tracking, or rollback paths
18
+ - Debugging failures caused by data drift, label leakage, stale features, artifact mismatch, or inconsistent training and serving logic
19
+ - Adding model monitoring, canary rollout, shadow traffic, or post-deploy quality checks
20
+
21
+ ## Scope Calibration
22
+
23
+ Use only the lanes that fit the system in front of you. This skill is useful for ranking, search, recommendations, classifiers, forecasting, embeddings, LLM workflows, anomaly detection, and batch analytics, but it should not force one architecture onto all of them.
24
+
25
+ - Do not assume every model has supervised labels, online serving, a feature store, PyTorch, GPUs, human review, A/B tests, or real-time feedback.
26
+ - Do not add heavyweight MLOps machinery when a data contract, baseline, eval script, and rollback note would make the change reviewable.
27
+ - Do make assumptions explicit when the project lacks labels, delayed outcomes, slice definitions, production traffic, or monitoring ownership.
28
+ - Treat examples as interchangeable scaffolds. Replace metrics, serving mode, data stores, and rollout mechanics with the project-native equivalents.
29
+
30
+ ## Related Skills
31
+
32
+ - `python-patterns` and `python-testing` for Python implementation and pytest coverage
33
+ - `pytorch-patterns` for deep learning models, data loaders, device handling, and training loops
34
+ - `eval-harness` and `ai-regression-testing` for promotion gates and agent-assisted regression checks
35
+ - `database-migrations`, `postgres-patterns`, and `clickhouse-io` for data storage and analytics surfaces
36
+ - `deployment-patterns`, `docker-patterns`, and `security-review` for serving, secrets, containers, and production hardening
37
+
38
+ ## Reuse the SWE Surface
39
+
40
+ Do not treat MLE as separate from software engineering. Most ECC SWE workflows apply directly to ML systems, often with stricter failure modes:
41
+
42
+ The recommended `minimal --with capability:machine-learning` install keeps the core agent surface available alongside this skill. For skill-only or agent-limited harnesses, pair `skill:mle-workflow` with `agent:mle-reviewer` where the target supports agents.
43
+
44
+ | SWE surface | MLE use |
45
+ |-------------|---------|
46
+ | `product-capability` / `architecture-decision-records` | Turn model work into explicit product contracts and record irreversible data, model, and rollout choices |
47
+ | `repo-scan` / `codebase-onboarding` / `code-tour` | Find existing training, feature, serving, eval, and monitoring paths before introducing a parallel ML stack |
48
+ | `plan` / `feature-dev` | Scope model changes as product capabilities with data, eval, serving, and rollback phases |
49
+ | `tdd-workflow` / `python-testing` | Test feature transforms, split logic, metric calculations, artifact loading, and inference schemas before implementation |
50
+ | `code-reviewer` / `mle-reviewer` | Review code quality plus ML-specific leakage, reproducibility, promotion, and monitoring risks |
51
+ | `build-fix` / `pr-test-analyzer` | Diagnose broken CI, flaky evals, missing fixtures, and environment-specific model or dependency failures |
52
+ | `quality-gate` / `test-coverage` | Require automated evidence for transforms, metrics, inference contracts, promotion gates, and rollback behavior |
53
+ | `eval-harness` / `verification-loop` | Turn offline metrics, slice checks, latency budgets, and rollback drills into repeatable gates |
54
+ | `ai-regression-testing` | Preserve every production bug as a regression: missing feature, stale label, bad artifact, schema drift, or serving mismatch |
55
+ | `api-design` / `backend-patterns` | Design prediction APIs, batch jobs, idempotent retraining endpoints, and response envelopes |
56
+ | `database-migrations` / `postgres-patterns` / `clickhouse-io` | Version labels, feature snapshots, prediction logs, experiment metrics, and drift analytics |
57
+ | `deployment-patterns` / `docker-patterns` | Package reproducible training and serving images with health checks, resource limits, and rollback |
58
+ | `canary-watch` / `dashboard-builder` | Make rollout health visible with model-version, slice, drift, latency, cost, and delayed-label dashboards |
59
+ | `security-review` / `security-scan` | Check model artifacts, notebooks, prompts, datasets, and logs for secrets, PII, unsafe deserialization, and supply-chain risk |
60
+ | `e2e-testing` / `browser-qa` / `accessibility` | Test critical product flows that consume predictions, including explainability and fallback UI states |
61
+ | `benchmark` / `performance-optimizer` | Measure throughput, p95 latency, memory, GPU utilization, and cost per prediction or retrain |
62
+ | `cost-aware-llm-pipeline` / `token-budget-advisor` | Route LLM/embedding workloads by quality, latency, and budget instead of defaulting to the largest model |
63
+ | `documentation-lookup` / `search-first` | Verify current library behavior for model serving, feature stores, vector DBs, and eval tooling before coding |
64
+ | `git-workflow` / `github-ops` / `opensource-pipeline` | Package MLE changes for review with crisp scope, generated artifacts excluded, and reproducible test evidence |
65
+ | `strategic-compact` / `dmux-workflows` | Split long ML work into parallel tracks: data contract, eval harness, serving path, monitoring, and docs |
66
+
67
+ ## Ten MLE Task Simulations
68
+
69
+ Use these simulations as coverage checks when planning or reviewing MLE work. A strong MLE workflow should reduce each task to explicit contracts, reusable SWE surfaces, automated evidence, and a reviewable artifact.
70
+
71
+ | ID | Common MLE task | Streamlined ECC path | Required output | Pipeline lanes covered |
72
+ |----|-----------------|----------------------|-----------------|------------------------|
73
+ | MLE-01 | Frame an ambiguous prediction, ranking, recommender, classifier, embedding, or forecast capability | `product-capability`, `plan`, `architecture-decision-records`, `mle-workflow` | Iteration Compact naming who cares, decision owner, success metric, unacceptable mistakes, assumptions, constraints, and first experiment | product contract, stakeholder loss, risk, rollout |
74
+ | MLE-02 | Define metric goals, labels, data sources, and the mistake budget | `repo-scan`, `database-reviewer`, `database-migrations`, `postgres-patterns`, `clickhouse-io` | Data and metric contract with entity grain, label timing, label confidence, feature timing, point-in-time joins, split policy, and dataset snapshot | data contract, metric design, leakage, reproducibility |
75
+ | MLE-03 | Build a baseline model and scoring path before adding complexity | `tdd-workflow`, `python-testing`, `python-patterns`, `code-reviewer` | Baseline scorer with confusion matrix, calibration notes, latency/cost estimate, known weaknesses, and tests for score shape and determinism | baseline, scoring, testing, serving parity |
76
+ | MLE-04 | Generate features from hypotheses about what separates outcomes | `python-patterns`, `pytorch-patterns`, `docker-patterns`, `deployment-patterns` | Feature plan and transform module covering signal source, missing values, outliers, correlations, leakage checks, and train/serve equivalence | feature pipeline, leakage, training, artifacts |
77
+ | MLE-05 | Tune thresholds, configs, and model complexity under tradeoffs | `eval-harness`, `ai-regression-testing`, `quality-gate`, `test-coverage` | Threshold/config report comparing precision, recall, F1, AUC, calibration, group slices, latency, cost, complexity, and acceptable error classes | evaluation, threshold, promotion, regression |
78
+ | MLE-06 | Run error analysis and turn mistakes into the next experiment | `eval-harness`, `ai-regression-testing`, `mle-reviewer`, `silent-failure-hunter` | Error cluster report for false positives, false negatives, ambiguous labels, stale features, missing signals, and bug traces with lessons captured | error analysis, bug trace, iteration, regression |
79
+ | MLE-07 | Package a model artifact for batch or online inference | `api-design`, `backend-patterns`, `security-review`, `security-scan` | Versioned artifact bundle with preprocessing, config, dependency constraints, schema validation, safe loading, and PII-safe logs | artifact, security, inference contract |
80
+ | MLE-08 | Ship online serving or batch scoring with feedback capture | `api-design`, `backend-patterns`, `e2e-testing`, `browser-qa`, `accessibility` | Prediction endpoint or batch job with response envelope, timeout, batching, fallback, model version, confidence, feedback logging, and product-flow tests | serving, batch inference, fallback, user workflow |
81
+ | MLE-09 | Roll out a model with shadow traffic, canary, A/B test, or rollback | `canary-watch`, `dashboard-builder`, `verification-loop`, `performance-optimizer` | Rollout plan naming traffic split, dashboards, p95 latency, cost, quality guardrails, rollback artifact, and rollback trigger | deployment, canary, rollback |
82
+ | MLE-10 | Operate, debug, and refresh a production model after launch | `silent-failure-hunter`, `dashboard-builder`, `mle-reviewer`, `doc-updater`, `github-ops` | Observation ledger and refresh plan with drift checks, delayed-label health, alert owners, runbook updates, retrain criteria, and PR evidence | monitoring, incident response, retraining |
83
+
84
+ ## Iteration Compact
85
+
86
+ Before touching model code, compress the work into one reviewable artifact. This should be short enough to fit in a PR description and precise enough that another engineer can challenge the tradeoffs.
87
+
88
+ ```text
89
+ Goal:
90
+ Who cares:
91
+ Decision owner:
92
+ User or system action changed by the model:
93
+ Success metric:
94
+ Guardrail metrics:
95
+ Mistake budget:
96
+ Unacceptable mistakes:
97
+ Acceptable mistakes:
98
+ Assumptions:
99
+ Constraints:
100
+ Labels and data snapshot:
101
+ Baseline:
102
+ Candidate signals:
103
+ Threshold or config plan:
104
+ Eval slices:
105
+ Known risks:
106
+ Next experiment:
107
+ Rollback or fallback:
108
+ ```
109
+
110
+ This compact is the MLE equivalent of a strong SWE design note. It keeps the team from optimizing a metric no one trusts, adding features that do not address the real error mode, or shipping complexity without a rollback.
111
+
112
+ ## Decision Brain
113
+
114
+ Use this loop whenever the task is ambiguous, high-impact, or metric-heavy:
115
+
116
+ 1. Start from the decision, not the model. Name the action that changes downstream behavior.
117
+ 2. Name who cares and why. Different stakeholders pay different costs for false positives, false negatives, latency, compute spend, opacity, or missed opportunities.
118
+ 3. Convert ambiguity into hypotheses. Ask what signal would separate outcomes, what evidence would disprove it, and what simple baseline should be hard to beat.
119
+ 4. Research prior art or a nearby known problem before inventing a bespoke system.
120
+ 5. Score choices with `(probability, confidence) x (cost, severity, importance, impact)`.
121
+ 6. Consider adversarial behavior, incentives, selective disclosure, distribution shift, and feedback loops.
122
+ 7. Prefer the simplest change that reduces the most important mistake. Simplicity is not laziness; it is a way to minimize blunders while preserving iteration speed.
123
+ 8. Capture the decision, evidence, counterargument, and next reversible step.
124
+
125
+ ## Metric and Mistake Economics
126
+
127
+ Choose metrics from failure costs, not habit:
128
+
129
+ - Use a confusion matrix early so the team can discuss concrete false positives and false negatives instead of abstract accuracy.
130
+ - Favor precision when the cost of an incorrect positive decision dominates.
131
+ - Favor recall when the cost of a missed positive dominates.
132
+ - Use F1 only when the precision/recall tradeoff is genuinely balanced and explainable.
133
+ - Use AUC or ranking metrics when ordering quality matters more than a single threshold.
134
+ - Track latency, throughput, memory, and cost as first-class metrics because they shape feasible model complexity.
135
+ - Compare against a baseline and the current production model before celebrating an offline gain.
136
+ - Treat real-world feedback signals as delayed labels with bias, lag, and coverage gaps; do not treat them as ground truth without analysis.
137
+
138
+ Every metric choice should state which mistake it makes cheaper, which mistake it makes more likely, and who absorbs that cost.
139
+
140
+ ## Data and Feature Hypotheses
141
+
142
+ Features should come from a theory of separation:
143
+
144
+ - Text, categorical fields, numeric histories, graph relationships, recency, frequency, and aggregates are candidate signal families, not automatic features.
145
+ - For every feature family, state why it should separate outcomes and how it could leak future information.
146
+ - For noisy labels, consider adjudication, label confidence, soft targets, or confidence weighting.
147
+ - For class imbalance, compare weighted loss, resampling, threshold movement, and calibrated decision rules.
148
+ - For missing values, decide whether absence is informative, imputable, or a reason to abstain.
149
+ - For outliers, decide whether to clip, bucket, investigate, or preserve them as rare but important signal.
150
+ - For correlated features, check whether they are redundant, unstable, or proxies for unavailable future state.
151
+
152
+ Do not add model complexity until error analysis shows that the baseline is failing for a reason additional signal or capacity can plausibly fix.
153
+
154
+ ## Error Analysis Loop
155
+
156
+ After each baseline, training run, threshold change, or config change:
157
+
158
+ 1. Split mistakes into false positives, false negatives, abstentions, low-confidence cases, and system failures.
159
+ 2. Cluster errors by shared traits: language, entity type, source, time, geography, device, sparsity, recency, feature freshness, label source, or model version.
160
+ 3. Separate model mistakes from data bugs, label ambiguity, product ambiguity, instrumentation gaps, and serving mismatches.
161
+ 4. Trace each major cluster to one of four moves: better labels, better features, better threshold/config, or better product fallback.
162
+ 5. Preserve every important mistake as a regression test, eval slice, dashboard panel, or runbook entry.
163
+ 6. Write the next iteration as a falsifiable experiment, not a vague "improve model" task.
164
+
165
+ The strongest MLE loop is not train -> metric -> ship. It is mistake -> cluster -> hypothesis -> experiment -> evidence -> simpler system.
166
+
167
+ ## Observation Ledger
168
+
169
+ Keep a compact decision and evidence trail beside the code, PR, experiment report, or runbook:
170
+
171
+ ```text
172
+ Iteration:
173
+ Change:
174
+ Why this mattered:
175
+ Metric movement:
176
+ Slice movement:
177
+ False positives:
178
+ False negatives:
179
+ Unexpected errors:
180
+ Decision:
181
+ Tradeoff accepted:
182
+ Lesson captured:
183
+ Regression added:
184
+ Debt created:
185
+ Next iteration:
186
+ ```
187
+
188
+ Use the ledger to make model work cumulative. The goal is for each iteration to make the next decision easier, not merely to produce another artifact.
189
+
190
+ ## Core Workflow
191
+
192
+ ### 1. Define the Prediction Contract
193
+
194
+ Capture the product-level contract before writing model code:
195
+
196
+ - Prediction target and decision owner
197
+ - Input entity, output schema, confidence/calibration fields, and allowed latency
198
+ - Batch, online, streaming, or hybrid serving mode
199
+ - Fallback behavior when the model, feature store, or dependency is unavailable
200
+ - Human review or override path for high-impact decisions
201
+ - Privacy, retention, and audit requirements for inputs, predictions, and labels
202
+
203
+ Do not accept "improve the model" as a requirement. Tie the model to an observable product behavior and a measurable acceptance gate.
204
+
205
+ ### 2. Lock the Data Contract
206
+
207
+ Every ML task needs an explicit data contract:
208
+
209
+ - Entity grain and primary key
210
+ - Label definition, label timestamp, and label availability delay
211
+ - Feature timestamp, freshness SLA, and point-in-time join rules
212
+ - Train, validation, test, and backtest split policy
213
+ - Required columns, allowed nulls, ranges, categories, and units
214
+ - PII or sensitive fields that must not enter training artifacts or logs
215
+ - Dataset version or snapshot ID for reproducibility
216
+
217
+ Guard against leakage first. If a feature is not available at prediction time, or is joined using future information, remove it or move it to an analysis-only path.
218
+
219
+ ### 3. Build a Reproducible Pipeline
220
+
221
+ Training code should be runnable by another engineer without hidden notebook state:
222
+
223
+ - Use typed config files or dataclasses for all hyperparameters and paths
224
+ - Pin package and model dependencies
225
+ - Set random seeds and document any nondeterministic GPU behavior
226
+ - Record dataset version, code SHA, config hash, metrics, and artifact URI
227
+ - Save preprocessing logic with the model artifact, not separately in a notebook
228
+ - Keep train, eval, and inference transformations shared or generated from one source
229
+ - Make every step idempotent so retries do not corrupt artifacts or metrics
230
+
231
+ Prefer immutable values and pure transformation functions. Avoid mutating shared data frames or global config during feature generation.
232
+
233
+ ```python
234
+ import hashlib
235
+ from dataclasses import dataclass
236
+ from pathlib import Path
237
+
238
+
239
+ @dataclass(frozen=True)
240
+ class TrainingConfig:
241
+ dataset_uri: str
242
+ model_dir: Path
243
+ seed: int
244
+ learning_rate: float
245
+ batch_size: int
246
+
247
+
248
+ def artifact_name(config: TrainingConfig, code_sha: str) -> str:
249
+ config_key = f"{config.dataset_uri}:{config.seed}:{config.learning_rate}:{config.batch_size}"
250
+ config_hash = hashlib.sha256(config_key.encode("utf-8")).hexdigest()[:12]
251
+ return f"{code_sha[:12]}-{config_hash}"
252
+ ```
253
+
254
+ ### 4. Evaluate Before Promotion
255
+
256
+ Promotion criteria should be declared before training finishes:
257
+
258
+ - Baseline model and current production model comparison
259
+ - Primary metric aligned to product behavior
260
+ - Guardrail metrics for latency, calibration, fairness slices, cost, and error concentration
261
+ - Slice metrics for important cohorts, geographies, devices, languages, or data sources
262
+ - Confidence intervals or repeated-run variance when metrics are noisy
263
+ - Failure examples reviewed by a human for high-impact models
264
+ - Explicit "do not ship" thresholds
265
+
266
+ ```python
267
+ PROMOTION_GATES = {
268
+ "auc": ("min", 0.82),
269
+ "calibration_error": ("max", 0.04),
270
+ "p95_latency_ms": ("max", 80),
271
+ }
272
+
273
+
274
+ def assert_promotion_ready(metrics: dict[str, float]) -> None:
275
+ missing = sorted(name for name in PROMOTION_GATES if name not in metrics)
276
+ if missing:
277
+ raise ValueError(f"Model promotion metrics missing required gates: {missing}")
278
+
279
+ failures = {
280
+ name: value
281
+ for name, (direction, threshold) in PROMOTION_GATES.items()
282
+ for value in [metrics[name]]
283
+ if (direction == "min" and value < threshold)
284
+ or (direction == "max" and value > threshold)
285
+ }
286
+ if failures:
287
+ raise ValueError(f"Model failed promotion gates: {failures}")
288
+ ```
289
+
290
+ Use offline metrics as gates, not guarantees. When the model changes product behavior, plan shadow evaluation, canary rollout, or A/B testing before full rollout.
291
+
292
+ ### 5. Package for Serving
293
+
294
+ An ML artifact is production-ready only when the serving contract is testable:
295
+
296
+ - Model artifact includes version, training data reference, config, and preprocessing
297
+ - Input schema rejects invalid, stale, or out-of-range features
298
+ - Output schema includes model version and confidence or explanation fields when useful
299
+ - Serving path has timeout, batching, resource limits, and fallback behavior
300
+ - CPU/GPU requirements are explicit and tested
301
+ - Prediction logs avoid PII and include enough identifiers for debugging and label joins
302
+ - Integration tests cover missing features, stale features, bad types, empty batches, and fallback path
303
+
304
+ Never let training-only feature code diverge from serving feature code without a test that proves equivalence.
305
+
306
+ ### 6. Operate the Model
307
+
308
+ Model monitoring needs both system and quality signals:
309
+
310
+ - Availability, error rate, timeout rate, queue depth, and p50/p95/p99 latency
311
+ - Feature null rate, range drift, categorical drift, and freshness drift
312
+ - Prediction distribution drift and confidence distribution drift
313
+ - Label arrival health and delayed quality metrics
314
+ - Business KPI guardrails and rollback triggers
315
+ - Per-version dashboards for canaries and rollbacks
316
+
317
+ Every deployment should have a rollback plan that names the previous artifact, config, data dependency, and traffic-switch mechanism.
318
+
319
+ ## Review Checklist
320
+
321
+ - [ ] Prediction contract is explicit and testable
322
+ - [ ] Data contract defines entity grain, label timing, feature timing, and snapshot/version
323
+ - [ ] Leakage risks were checked against prediction-time availability
324
+ - [ ] Training is reproducible from code, config, data version, and seed
325
+ - [ ] Metrics compare against baseline and current production model
326
+ - [ ] Slice metrics and guardrails are included for high-risk cohorts
327
+ - [ ] Promotion gates are automated and fail closed
328
+ - [ ] Training and serving transformations are shared or equivalence-tested
329
+ - [ ] Model artifact carries version, config, dataset reference, and preprocessing
330
+ - [ ] Serving path validates inputs and has timeout, fallback, and rollback behavior
331
+ - [ ] Monitoring covers system health, feature drift, prediction drift, and delayed labels
332
+ - [ ] Sensitive data is excluded from artifacts, logs, prompts, and examples
333
+
334
+ ## Anti-Patterns
335
+
336
+ - Notebook state is required to reproduce the model
337
+ - Random split leaks future data into validation or test sets
338
+ - Feature joins ignore event time and label availability
339
+ - Offline metric improves while important slices regress
340
+ - Thresholds are tuned on the test set repeatedly
341
+ - Training preprocessing is copied manually into serving code
342
+ - Model version is missing from prediction logs
343
+ - Monitoring only checks service uptime, not data or prediction quality
344
+ - Rollback requires retraining instead of switching to a known-good artifact
345
+
346
+ ## Output Expectations
347
+
348
+ When using this skill, return concrete artifacts: data contract, promotion gates, pipeline steps, test plan, deployment plan, or review findings. Call out unknowns that block production readiness instead of filling them with assumptions.