@rubix0270/arboris 1.0.2 → 1.0.4

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 (451) hide show
  1. package/package.json +25 -37
  2. package/run.mjs +10 -0
  3. package/dist/cli.mjs +0 -383
  4. package/manifest.json +0 -323
  5. package/prisma/skills/accessibility/SKILL.md +0 -147
  6. package/prisma/skills/agent-architecture-audit/SKILL.md +0 -257
  7. package/prisma/skills/agent-eval/SKILL.md +0 -146
  8. package/prisma/skills/agent-harness-construction/SKILL.md +0 -74
  9. package/prisma/skills/agent-introspection-debugging/SKILL.md +0 -154
  10. package/prisma/skills/agent-payment-x402/SKILL.md +0 -225
  11. package/prisma/skills/agent-self-evaluation/SKILL.md +0 -182
  12. package/prisma/skills/agent-self-evaluation/examples/high-score-example.md +0 -87
  13. package/prisma/skills/agent-self-evaluation/examples/low-score-example.md +0 -86
  14. package/prisma/skills/agent-self-evaluation/references/evaluation-criteria.md +0 -71
  15. package/prisma/skills/agent-self-evaluation/references/hook-integration.md +0 -64
  16. package/prisma/skills/agent-self-evaluation/scripts/evaluate.py +0 -408
  17. package/prisma/skills/agent-self-evaluation/templates/evaluation-report.md +0 -86
  18. package/prisma/skills/agent-sort/SKILL.md +0 -216
  19. package/prisma/skills/agentic-engineering/SKILL.md +0 -64
  20. package/prisma/skills/agentic-os/SKILL.md +0 -388
  21. package/prisma/skills/ai-first-engineering/SKILL.md +0 -52
  22. package/prisma/skills/ai-regression-testing/SKILL.md +0 -386
  23. package/prisma/skills/android-clean-architecture/SKILL.md +0 -340
  24. package/prisma/skills/angular-developer/SKILL.md +0 -155
  25. package/prisma/skills/angular-developer/references/angular-animations.md +0 -160
  26. package/prisma/skills/angular-developer/references/angular-aria.md +0 -410
  27. package/prisma/skills/angular-developer/references/cli.md +0 -86
  28. package/prisma/skills/angular-developer/references/component-harnesses.md +0 -59
  29. package/prisma/skills/angular-developer/references/component-styling.md +0 -91
  30. package/prisma/skills/angular-developer/references/components.md +0 -117
  31. package/prisma/skills/angular-developer/references/creating-services.md +0 -97
  32. package/prisma/skills/angular-developer/references/data-resolvers.md +0 -69
  33. package/prisma/skills/angular-developer/references/define-routes.md +0 -67
  34. package/prisma/skills/angular-developer/references/defining-providers.md +0 -72
  35. package/prisma/skills/angular-developer/references/di-fundamentals.md +0 -120
  36. package/prisma/skills/angular-developer/references/e2e-testing.md +0 -56
  37. package/prisma/skills/angular-developer/references/effects.md +0 -83
  38. package/prisma/skills/angular-developer/references/hierarchical-injectors.md +0 -43
  39. package/prisma/skills/angular-developer/references/host-elements.md +0 -80
  40. package/prisma/skills/angular-developer/references/injection-context.md +0 -63
  41. package/prisma/skills/angular-developer/references/inputs.md +0 -101
  42. package/prisma/skills/angular-developer/references/linked-signal.md +0 -59
  43. package/prisma/skills/angular-developer/references/loading-strategies.md +0 -61
  44. package/prisma/skills/angular-developer/references/mcp.md +0 -108
  45. package/prisma/skills/angular-developer/references/navigate-to-routes.md +0 -69
  46. package/prisma/skills/angular-developer/references/outputs.md +0 -86
  47. package/prisma/skills/angular-developer/references/reactive-forms.md +0 -122
  48. package/prisma/skills/angular-developer/references/rendering-strategies.md +0 -44
  49. package/prisma/skills/angular-developer/references/resource.md +0 -77
  50. package/prisma/skills/angular-developer/references/route-animations.md +0 -56
  51. package/prisma/skills/angular-developer/references/route-guards.md +0 -52
  52. package/prisma/skills/angular-developer/references/router-lifecycle.md +0 -45
  53. package/prisma/skills/angular-developer/references/router-testing.md +0 -87
  54. package/prisma/skills/angular-developer/references/show-routes-with-outlets.md +0 -68
  55. package/prisma/skills/angular-developer/references/signal-forms.md +0 -795
  56. package/prisma/skills/angular-developer/references/signals-overview.md +0 -94
  57. package/prisma/skills/angular-developer/references/tailwind-css.md +0 -69
  58. package/prisma/skills/angular-developer/references/template-driven-forms.md +0 -114
  59. package/prisma/skills/angular-developer/references/testing-fundamentals.md +0 -65
  60. package/prisma/skills/api-connector-builder/SKILL.md +0 -121
  61. package/prisma/skills/api-design/SKILL.md +0 -524
  62. package/prisma/skills/architecture-decision-records/SKILL.md +0 -180
  63. package/prisma/skills/article-writing/SKILL.md +0 -80
  64. package/prisma/skills/automation-audit-ops/SKILL.md +0 -143
  65. package/prisma/skills/autonomous-agent-harness/SKILL.md +0 -274
  66. package/prisma/skills/autonomous-loops/SKILL.md +0 -611
  67. package/prisma/skills/backend-patterns/SKILL.md +0 -562
  68. package/prisma/skills/benchmark/SKILL.md +0 -94
  69. package/prisma/skills/benchmark-methodology/SKILL.md +0 -190
  70. package/prisma/skills/benchmark-optimization-loop/SKILL.md +0 -70
  71. package/prisma/skills/blender-motion-state-inspection/SKILL.md +0 -165
  72. package/prisma/skills/blueprint/SKILL.md +0 -106
  73. package/prisma/skills/brand-discovery/SKILL.md +0 -145
  74. package/prisma/skills/brand-discovery/references/10_purpose-why.md +0 -40
  75. package/prisma/skills/brand-discovery/references/20_positioning.md +0 -44
  76. package/prisma/skills/brand-discovery/references/30_audience-niche.md +0 -52
  77. package/prisma/skills/brand-discovery/references/40_personality-archetype.md +0 -57
  78. package/prisma/skills/brand-discovery/references/50_voice-tone.md +0 -59
  79. package/prisma/skills/brand-discovery/references/60_narrative-story.md +0 -50
  80. package/prisma/skills/brand-discovery/references/70_founder-tension.md +0 -49
  81. package/prisma/skills/brand-discovery/references/90_SYNTHESIS.md +0 -133
  82. package/prisma/skills/brand-voice/SKILL.md +0 -98
  83. package/prisma/skills/brand-voice/references/voice-profile-schema.md +0 -55
  84. package/prisma/skills/browser-qa/SKILL.md +0 -105
  85. package/prisma/skills/bun-runtime/SKILL.md +0 -85
  86. package/prisma/skills/canary-watch/SKILL.md +0 -108
  87. package/prisma/skills/carrier-relationship-management/SKILL.md +0 -212
  88. package/prisma/skills/cisco-ios-patterns/SKILL.md +0 -164
  89. package/prisma/skills/ck/SKILL.md +0 -148
  90. package/prisma/skills/ck/commands/forget.mjs +0 -44
  91. package/prisma/skills/ck/commands/info.mjs +0 -24
  92. package/prisma/skills/ck/commands/init.mjs +0 -143
  93. package/prisma/skills/ck/commands/list.mjs +0 -40
  94. package/prisma/skills/ck/commands/migrate.mjs +0 -202
  95. package/prisma/skills/ck/commands/resume.mjs +0 -36
  96. package/prisma/skills/ck/commands/save.mjs +0 -210
  97. package/prisma/skills/ck/commands/shared.mjs +0 -387
  98. package/prisma/skills/ck/hooks/session-start.mjs +0 -224
  99. package/prisma/skills/claude-devfleet/SKILL.md +0 -112
  100. package/prisma/skills/click-path-audit/SKILL.md +0 -245
  101. package/prisma/skills/clickhouse-io/SKILL.md +0 -440
  102. package/prisma/skills/code-tour/SKILL.md +0 -254
  103. package/prisma/skills/codebase-onboarding/SKILL.md +0 -234
  104. package/prisma/skills/codehealth-mcp/SKILL.md +0 -167
  105. package/prisma/skills/coding-standards/SKILL.md +0 -551
  106. package/prisma/skills/competitive-platform-analysis/SKILL.md +0 -214
  107. package/prisma/skills/competitive-report-structure/SKILL.md +0 -162
  108. package/prisma/skills/compose-multiplatform-patterns/SKILL.md +0 -300
  109. package/prisma/skills/config-gc/SKILL.md +0 -120
  110. package/prisma/skills/configure-ecc/SKILL.md +0 -385
  111. package/prisma/skills/connections-optimizer/SKILL.md +0 -190
  112. package/prisma/skills/content-engine/SKILL.md +0 -132
  113. package/prisma/skills/content-hash-cache-pattern/SKILL.md +0 -162
  114. package/prisma/skills/context-budget/SKILL.md +0 -136
  115. package/prisma/skills/continuous-agent-loop/SKILL.md +0 -46
  116. package/prisma/skills/continuous-learning/SKILL.md +0 -132
  117. package/prisma/skills/continuous-learning/config.json +0 -18
  118. package/prisma/skills/continuous-learning/evaluate-session.sh +0 -69
  119. package/prisma/skills/continuous-learning-v2/SKILL.md +0 -361
  120. package/prisma/skills/continuous-learning-v2/agents/observer-loop.sh +0 -359
  121. package/prisma/skills/continuous-learning-v2/agents/observer.md +0 -189
  122. package/prisma/skills/continuous-learning-v2/agents/session-guardian.sh +0 -150
  123. package/prisma/skills/continuous-learning-v2/agents/start-observer.sh +0 -248
  124. package/prisma/skills/continuous-learning-v2/config.json +0 -8
  125. package/prisma/skills/continuous-learning-v2/hooks/observe.sh +0 -585
  126. package/prisma/skills/continuous-learning-v2/scripts/detect-project.sh +0 -322
  127. package/prisma/skills/continuous-learning-v2/scripts/instinct-cli.py +0 -1956
  128. package/prisma/skills/continuous-learning-v2/scripts/lib/homunculus-dir.sh +0 -31
  129. package/prisma/skills/continuous-learning-v2/scripts/migrate-homunculus.sh +0 -68
  130. package/prisma/skills/continuous-learning-v2/scripts/test_parse_instinct.py +0 -1421
  131. package/prisma/skills/cost-aware-llm-pipeline/SKILL.md +0 -184
  132. package/prisma/skills/cost-tracking/SKILL.md +0 -97
  133. package/prisma/skills/council/SKILL.md +0 -204
  134. package/prisma/skills/cpp-coding-standards/SKILL.md +0 -724
  135. package/prisma/skills/cpp-testing/SKILL.md +0 -325
  136. package/prisma/skills/crosspost/SKILL.md +0 -112
  137. package/prisma/skills/csharp-testing/SKILL.md +0 -322
  138. package/prisma/skills/customer-billing-ops/SKILL.md +0 -141
  139. package/prisma/skills/customs-trade-compliance/SKILL.md +0 -263
  140. package/prisma/skills/dart-flutter-patterns/SKILL.md +0 -564
  141. package/prisma/skills/dashboard-builder/SKILL.md +0 -109
  142. package/prisma/skills/data-scraper-agent/SKILL.md +0 -765
  143. package/prisma/skills/data-throughput-accelerator/SKILL.md +0 -73
  144. package/prisma/skills/database-migrations/SKILL.md +0 -430
  145. package/prisma/skills/deep-research/SKILL.md +0 -160
  146. package/prisma/skills/defi-amm-security/SKILL.md +0 -167
  147. package/prisma/skills/delivery-gate/SKILL.md +0 -126
  148. package/prisma/skills/delivery-gate/hooks/quality-gate.py +0 -220
  149. package/prisma/skills/deployment-patterns/SKILL.md +0 -428
  150. package/prisma/skills/design-system/SKILL.md +0 -83
  151. package/prisma/skills/django-celery/SKILL.md +0 -458
  152. package/prisma/skills/django-patterns/SKILL.md +0 -735
  153. package/prisma/skills/django-security/SKILL.md +0 -644
  154. package/prisma/skills/django-tdd/SKILL.md +0 -730
  155. package/prisma/skills/django-verification/SKILL.md +0 -470
  156. package/prisma/skills/dmux-workflows/SKILL.md +0 -192
  157. package/prisma/skills/docker-patterns/SKILL.md +0 -365
  158. package/prisma/skills/documentation-lookup/SKILL.md +0 -91
  159. package/prisma/skills/dotnet-patterns/SKILL.md +0 -322
  160. package/prisma/skills/dynamic-workflow-mode/SKILL.md +0 -124
  161. package/prisma/skills/e2e-testing/SKILL.md +0 -327
  162. package/prisma/skills/ecc-guide/SKILL.md +0 -190
  163. package/prisma/skills/ecc-recipes/SKILL.md +0 -149
  164. package/prisma/skills/ecc-tools-cost-audit/SKILL.md +0 -161
  165. package/prisma/skills/email-ops/SKILL.md +0 -122
  166. package/prisma/skills/energy-procurement/SKILL.md +0 -228
  167. package/prisma/skills/enterprise-agent-ops/SKILL.md +0 -51
  168. package/prisma/skills/error-handling/SKILL.md +0 -377
  169. package/prisma/skills/eval-harness/SKILL.md +0 -271
  170. package/prisma/skills/evm-token-decimals/SKILL.md +0 -131
  171. package/prisma/skills/exa-search/SKILL.md +0 -108
  172. package/prisma/skills/fal-ai-media/SKILL.md +0 -289
  173. package/prisma/skills/fastapi-patterns/SKILL.md +0 -514
  174. package/prisma/skills/finance-billing-ops/SKILL.md +0 -128
  175. package/prisma/skills/flox-environments/SKILL.md +0 -497
  176. package/prisma/skills/flutter-dart-code-review/SKILL.md +0 -436
  177. package/prisma/skills/foundation-models-on-device/SKILL.md +0 -243
  178. package/prisma/skills/frontend-a11y/SKILL.md +0 -446
  179. package/prisma/skills/frontend-design-direction/SKILL.md +0 -93
  180. package/prisma/skills/frontend-patterns/SKILL.md +0 -657
  181. package/prisma/skills/frontend-slides/SKILL.md +0 -185
  182. package/prisma/skills/frontend-slides/STYLE_PRESETS.md +0 -330
  183. package/prisma/skills/frontend-slides/animation-patterns.md +0 -122
  184. package/prisma/skills/frontend-slides/html-template.md +0 -419
  185. package/prisma/skills/frontend-slides/scripts/export-pdf.sh +0 -418
  186. package/prisma/skills/frontend-slides/scripts/extract-pptx.py +0 -96
  187. package/prisma/skills/frontend-slides/viewport-base.css +0 -153
  188. package/prisma/skills/fsharp-testing/SKILL.md +0 -281
  189. package/prisma/skills/gan-style-harness/SKILL.md +0 -279
  190. package/prisma/skills/gateguard/SKILL.md +0 -133
  191. package/prisma/skills/generating-python-installer/SKILL.md +0 -820
  192. package/prisma/skills/git-workflow/SKILL.md +0 -716
  193. package/prisma/skills/github-ops/SKILL.md +0 -145
  194. package/prisma/skills/golang-patterns/SKILL.md +0 -675
  195. package/prisma/skills/golang-testing/SKILL.md +0 -721
  196. package/prisma/skills/google-workspace-ops/SKILL.md +0 -96
  197. package/prisma/skills/growth-log/SKILL.md +0 -128
  198. package/prisma/skills/healthcare-cdss-patterns/SKILL.md +0 -246
  199. package/prisma/skills/healthcare-emr-patterns/SKILL.md +0 -160
  200. package/prisma/skills/healthcare-eval-harness/SKILL.md +0 -208
  201. package/prisma/skills/healthcare-phi-compliance/SKILL.md +0 -146
  202. package/prisma/skills/hermes-imports/SKILL.md +0 -89
  203. package/prisma/skills/hexagonal-architecture/SKILL.md +0 -277
  204. package/prisma/skills/hipaa-compliance/SKILL.md +0 -79
  205. package/prisma/skills/homelab-network-readiness/SKILL.md +0 -170
  206. package/prisma/skills/homelab-network-setup/SKILL.md +0 -130
  207. package/prisma/skills/homelab-pihole-dns/SKILL.md +0 -275
  208. package/prisma/skills/homelab-vlan-segmentation/SKILL.md +0 -312
  209. package/prisma/skills/homelab-wireguard-vpn/SKILL.md +0 -306
  210. package/prisma/skills/hookify-rules/SKILL.md +0 -128
  211. package/prisma/skills/inherit-legacy-style/SKILL.md +0 -157
  212. package/prisma/skills/intent-driven-development/SKILL.md +0 -360
  213. package/prisma/skills/inventory-demand-planning/SKILL.md +0 -247
  214. package/prisma/skills/investor-materials/SKILL.md +0 -97
  215. package/prisma/skills/investor-outreach/SKILL.md +0 -92
  216. package/prisma/skills/ios-icon-gen/SKILL.md +0 -158
  217. package/prisma/skills/ios-icon-gen/scripts/generate_icons.swift +0 -258
  218. package/prisma/skills/ios-icon-gen/scripts/iconify_gen.sh +0 -235
  219. package/prisma/skills/iterative-retrieval/SKILL.md +0 -212
  220. package/prisma/skills/ito-basket-compare/SKILL.md +0 -64
  221. package/prisma/skills/ito-data-atlas-agent/SKILL.md +0 -64
  222. package/prisma/skills/ito-market-intelligence/SKILL.md +0 -61
  223. package/prisma/skills/ito-trade-planner/SKILL.md +0 -68
  224. package/prisma/skills/java-coding-standards/SKILL.md +0 -384
  225. package/prisma/skills/jira-integration/SKILL.md +0 -303
  226. package/prisma/skills/jpa-patterns/SKILL.md +0 -152
  227. package/prisma/skills/knowledge-ops/SKILL.md +0 -155
  228. package/prisma/skills/kotlin-coroutines-flows/SKILL.md +0 -285
  229. package/prisma/skills/kotlin-exposed-patterns/SKILL.md +0 -720
  230. package/prisma/skills/kotlin-ktor-patterns/SKILL.md +0 -690
  231. package/prisma/skills/kotlin-patterns/SKILL.md +0 -712
  232. package/prisma/skills/kotlin-testing/SKILL.md +0 -825
  233. package/prisma/skills/kubernetes-patterns/SKILL.md +0 -756
  234. package/prisma/skills/laravel-patterns/SKILL.md +0 -416
  235. package/prisma/skills/laravel-plugin-discovery/SKILL.md +0 -230
  236. package/prisma/skills/laravel-security/SKILL.md +0 -948
  237. package/prisma/skills/laravel-tdd/SKILL.md +0 -675
  238. package/prisma/skills/laravel-verification/SKILL.md +0 -180
  239. package/prisma/skills/latency-critical-systems/SKILL.md +0 -74
  240. package/prisma/skills/lead-intelligence/SKILL.md +0 -322
  241. package/prisma/skills/lead-intelligence/agents/enrichment-agent.md +0 -85
  242. package/prisma/skills/lead-intelligence/agents/mutual-mapper.md +0 -75
  243. package/prisma/skills/lead-intelligence/agents/outreach-drafter.md +0 -98
  244. package/prisma/skills/lead-intelligence/agents/signal-scorer.md +0 -60
  245. package/prisma/skills/liquid-glass-design/SKILL.md +0 -279
  246. package/prisma/skills/llm-trading-agent-security/SKILL.md +0 -147
  247. package/prisma/skills/logistics-exception-management/SKILL.md +0 -222
  248. package/prisma/skills/loop-design-check/SKILL.md +0 -143
  249. package/prisma/skills/mailtrap-email-integration/SKILL.md +0 -77
  250. package/prisma/skills/make-interfaces-feel-better/SKILL.md +0 -152
  251. package/prisma/skills/manim-video/SKILL.md +0 -90
  252. package/prisma/skills/manim-video/assets/network_graph_scene.py +0 -52
  253. package/prisma/skills/market-research/SKILL.md +0 -76
  254. package/prisma/skills/marketing-campaign/SKILL.md +0 -114
  255. package/prisma/skills/mcp-server-patterns/SKILL.md +0 -70
  256. package/prisma/skills/messages-ops/SKILL.md +0 -105
  257. package/prisma/skills/ml-adoption-playbook/SKILL.md +0 -57
  258. package/prisma/skills/mle-workflow/SKILL.md +0 -347
  259. package/prisma/skills/motion-advanced/SKILL.md +0 -596
  260. package/prisma/skills/motion-foundations/SKILL.md +0 -299
  261. package/prisma/skills/motion-patterns/SKILL.md +0 -434
  262. package/prisma/skills/motion-ui/SKILL.md +0 -576
  263. package/prisma/skills/mysql-patterns/SKILL.md +0 -413
  264. package/prisma/skills/nanoclaw-repl/SKILL.md +0 -34
  265. package/prisma/skills/nestjs-patterns/SKILL.md +0 -231
  266. package/prisma/skills/netmiko-ssh-automation/SKILL.md +0 -174
  267. package/prisma/skills/network-bgp-diagnostics/SKILL.md +0 -168
  268. package/prisma/skills/network-config-validation/SKILL.md +0 -211
  269. package/prisma/skills/network-interface-health/SKILL.md +0 -153
  270. package/prisma/skills/nextjs-turbopack/SKILL.md +0 -58
  271. package/prisma/skills/nodejs-keccak256/SKILL.md +0 -103
  272. package/prisma/skills/nutrient-document-processing/SKILL.md +0 -168
  273. package/prisma/skills/nuxt4-patterns/SKILL.md +0 -101
  274. package/prisma/skills/openclaw-persona-forge/SKILL.md +0 -289
  275. package/prisma/skills/openclaw-persona-forge/gacha.py +0 -224
  276. package/prisma/skills/openclaw-persona-forge/gacha.sh +0 -5
  277. package/prisma/skills/openclaw-persona-forge/references/avatar-style.md +0 -124
  278. package/prisma/skills/openclaw-persona-forge/references/boundary-rules.md +0 -53
  279. package/prisma/skills/openclaw-persona-forge/references/error-handling.md +0 -53
  280. package/prisma/skills/openclaw-persona-forge/references/identity-tension.md +0 -48
  281. package/prisma/skills/openclaw-persona-forge/references/naming-system.md +0 -39
  282. package/prisma/skills/openclaw-persona-forge/references/output-template.md +0 -166
  283. package/prisma/skills/opensource-pipeline/SKILL.md +0 -256
  284. package/prisma/skills/orch-add-feature/SKILL.md +0 -45
  285. package/prisma/skills/orch-build-mvp/SKILL.md +0 -49
  286. package/prisma/skills/orch-change-feature/SKILL.md +0 -43
  287. package/prisma/skills/orch-fix-defect/SKILL.md +0 -43
  288. package/prisma/skills/orch-pipeline/SKILL.md +0 -121
  289. package/prisma/skills/orch-refine-code/SKILL.md +0 -44
  290. package/prisma/skills/parallel-execution-optimizer/SKILL.md +0 -73
  291. package/prisma/skills/perl-patterns/SKILL.md +0 -505
  292. package/prisma/skills/perl-security/SKILL.md +0 -504
  293. package/prisma/skills/perl-testing/SKILL.md +0 -476
  294. package/prisma/skills/plan-orchestrate/SKILL.md +0 -263
  295. package/prisma/skills/plankton-code-quality/SKILL.md +0 -237
  296. package/prisma/skills/postgres-patterns/SKILL.md +0 -148
  297. package/prisma/skills/prediction-market-oracle-research/SKILL.md +0 -64
  298. package/prisma/skills/prediction-market-risk-review/SKILL.md +0 -61
  299. package/prisma/skills/prisma-patterns/SKILL.md +0 -401
  300. package/prisma/skills/product-capability/SKILL.md +0 -142
  301. package/prisma/skills/product-lens/SKILL.md +0 -93
  302. package/prisma/skills/production-audit/SKILL.md +0 -207
  303. package/prisma/skills/production-scheduling/SKILL.md +0 -238
  304. package/prisma/skills/project-flow-ops/SKILL.md +0 -112
  305. package/prisma/skills/prompt-optimizer/SKILL.md +0 -398
  306. package/prisma/skills/python-patterns/SKILL.md +0 -751
  307. package/prisma/skills/python-testing/SKILL.md +0 -817
  308. package/prisma/skills/pytorch-patterns/SKILL.md +0 -397
  309. package/prisma/skills/quality-nonconformance/SKILL.md +0 -260
  310. package/prisma/skills/quarkus-patterns/SKILL.md +0 -723
  311. package/prisma/skills/quarkus-security/SKILL.md +0 -468
  312. package/prisma/skills/quarkus-tdd/SKILL.md +0 -812
  313. package/prisma/skills/quarkus-verification/SKILL.md +0 -480
  314. package/prisma/skills/ralphinho-rfc-pipeline/SKILL.md +0 -68
  315. package/prisma/skills/react-native-patterns/SKILL.md +0 -326
  316. package/prisma/skills/react-patterns/SKILL.md +0 -342
  317. package/prisma/skills/react-performance/SKILL.md +0 -575
  318. package/prisma/skills/react-testing/SKILL.md +0 -424
  319. package/prisma/skills/recsys-pipeline-architect/SKILL.md +0 -115
  320. package/prisma/skills/recursive-decision-ledger/SKILL.md +0 -80
  321. package/prisma/skills/redis-patterns/SKILL.md +0 -404
  322. package/prisma/skills/regex-vs-llm-structured-text/SKILL.md +0 -221
  323. package/prisma/skills/remotion-video-creation/SKILL.md +0 -43
  324. package/prisma/skills/remotion-video-creation/rules/3d.md +0 -86
  325. package/prisma/skills/remotion-video-creation/rules/animations.md +0 -29
  326. package/prisma/skills/remotion-video-creation/rules/assets/charts-bar-chart.tsx +0 -173
  327. package/prisma/skills/remotion-video-creation/rules/assets/text-animations-typewriter.tsx +0 -100
  328. package/prisma/skills/remotion-video-creation/rules/assets/text-animations-word-highlight.tsx +0 -108
  329. package/prisma/skills/remotion-video-creation/rules/assets.md +0 -78
  330. package/prisma/skills/remotion-video-creation/rules/audio.md +0 -172
  331. package/prisma/skills/remotion-video-creation/rules/calculate-metadata.md +0 -104
  332. package/prisma/skills/remotion-video-creation/rules/can-decode.md +0 -75
  333. package/prisma/skills/remotion-video-creation/rules/charts.md +0 -58
  334. package/prisma/skills/remotion-video-creation/rules/compositions.md +0 -146
  335. package/prisma/skills/remotion-video-creation/rules/display-captions.md +0 -126
  336. package/prisma/skills/remotion-video-creation/rules/extract-frames.md +0 -229
  337. package/prisma/skills/remotion-video-creation/rules/fonts.md +0 -152
  338. package/prisma/skills/remotion-video-creation/rules/get-audio-duration.md +0 -58
  339. package/prisma/skills/remotion-video-creation/rules/get-video-dimensions.md +0 -68
  340. package/prisma/skills/remotion-video-creation/rules/get-video-duration.md +0 -58
  341. package/prisma/skills/remotion-video-creation/rules/gifs.md +0 -138
  342. package/prisma/skills/remotion-video-creation/rules/images.md +0 -130
  343. package/prisma/skills/remotion-video-creation/rules/import-srt-captions.md +0 -67
  344. package/prisma/skills/remotion-video-creation/rules/lottie.md +0 -67
  345. package/prisma/skills/remotion-video-creation/rules/measuring-dom-nodes.md +0 -34
  346. package/prisma/skills/remotion-video-creation/rules/measuring-text.md +0 -143
  347. package/prisma/skills/remotion-video-creation/rules/sequencing.md +0 -106
  348. package/prisma/skills/remotion-video-creation/rules/tailwind.md +0 -11
  349. package/prisma/skills/remotion-video-creation/rules/text-animations.md +0 -20
  350. package/prisma/skills/remotion-video-creation/rules/timing.md +0 -179
  351. package/prisma/skills/remotion-video-creation/rules/transcribe-captions.md +0 -19
  352. package/prisma/skills/remotion-video-creation/rules/transitions.md +0 -122
  353. package/prisma/skills/remotion-video-creation/rules/trimming.md +0 -52
  354. package/prisma/skills/remotion-video-creation/rules/videos.md +0 -171
  355. package/prisma/skills/repo-scan/SKILL.md +0 -79
  356. package/prisma/skills/research-ops/SKILL.md +0 -113
  357. package/prisma/skills/returns-reverse-logistics/SKILL.md +0 -240
  358. package/prisma/skills/rules-distill/SKILL.md +0 -265
  359. package/prisma/skills/rules-distill/scripts/scan-rules.sh +0 -58
  360. package/prisma/skills/rules-distill/scripts/scan-skills.sh +0 -129
  361. package/prisma/skills/rust-patterns/SKILL.md +0 -500
  362. package/prisma/skills/rust-testing/SKILL.md +0 -501
  363. package/prisma/skills/safety-guard/SKILL.md +0 -76
  364. package/prisma/skills/santa-method/SKILL.md +0 -307
  365. package/prisma/skills/scientific-db-pubmed-database/SKILL.md +0 -176
  366. package/prisma/skills/scientific-db-uspto-database/SKILL.md +0 -178
  367. package/prisma/skills/scientific-pkg-gget/SKILL.md +0 -167
  368. package/prisma/skills/scientific-thinking-literature-review/SKILL.md +0 -193
  369. package/prisma/skills/scientific-thinking-scholar-evaluation/SKILL.md +0 -161
  370. package/prisma/skills/search-first/SKILL.md +0 -183
  371. package/prisma/skills/security-bounty-hunter/SKILL.md +0 -100
  372. package/prisma/skills/security-review/SKILL.md +0 -504
  373. package/prisma/skills/security-review/cloud-infrastructure-security.md +0 -361
  374. package/prisma/skills/security-scan/SKILL.md +0 -166
  375. package/prisma/skills/seo/SKILL.md +0 -155
  376. package/prisma/skills/skill-comply/SKILL.md +0 -59
  377. package/prisma/skills/skill-comply/fixtures/compliant_trace.jsonl +0 -5
  378. package/prisma/skills/skill-comply/fixtures/noncompliant_trace.jsonl +0 -3
  379. package/prisma/skills/skill-comply/fixtures/tdd_spec.yaml +0 -44
  380. package/prisma/skills/skill-comply/prompts/classifier.md +0 -24
  381. package/prisma/skills/skill-comply/prompts/scenario_generator.md +0 -62
  382. package/prisma/skills/skill-comply/prompts/spec_generator.md +0 -42
  383. package/prisma/skills/skill-comply/pyproject.toml +0 -15
  384. package/prisma/skills/skill-comply/scripts/__init__.py +0 -0
  385. package/prisma/skills/skill-comply/scripts/classifier.py +0 -85
  386. package/prisma/skills/skill-comply/scripts/grader.py +0 -124
  387. package/prisma/skills/skill-comply/scripts/parser.py +0 -107
  388. package/prisma/skills/skill-comply/scripts/report.py +0 -170
  389. package/prisma/skills/skill-comply/scripts/run.py +0 -127
  390. package/prisma/skills/skill-comply/scripts/runner.py +0 -194
  391. package/prisma/skills/skill-comply/scripts/scenario_generator.py +0 -70
  392. package/prisma/skills/skill-comply/scripts/spec_generator.py +0 -72
  393. package/prisma/skills/skill-comply/scripts/utils.py +0 -13
  394. package/prisma/skills/skill-comply/tests/test_grader.py +0 -197
  395. package/prisma/skills/skill-comply/tests/test_parser.py +0 -90
  396. package/prisma/skills/skill-comply/tests/test_runner.py +0 -172
  397. package/prisma/skills/skill-scout/SKILL.md +0 -141
  398. package/prisma/skills/skill-stocktake/SKILL.md +0 -195
  399. package/prisma/skills/skill-stocktake/scripts/quick-diff.sh +0 -87
  400. package/prisma/skills/skill-stocktake/scripts/save-results.sh +0 -56
  401. package/prisma/skills/skill-stocktake/scripts/scan.sh +0 -170
  402. package/prisma/skills/social-graph-ranker/SKILL.md +0 -155
  403. package/prisma/skills/social-publisher/SKILL.md +0 -130
  404. package/prisma/skills/springboot-patterns/SKILL.md +0 -315
  405. package/prisma/skills/springboot-security/SKILL.md +0 -273
  406. package/prisma/skills/springboot-tdd/SKILL.md +0 -159
  407. package/prisma/skills/springboot-verification/SKILL.md +0 -232
  408. package/prisma/skills/strategic-compact/SKILL.md +0 -136
  409. package/prisma/skills/swift-actor-persistence/SKILL.md +0 -144
  410. package/prisma/skills/swift-concurrency-6-2/SKILL.md +0 -216
  411. package/prisma/skills/swift-protocol-di-testing/SKILL.md +0 -191
  412. package/prisma/skills/swiftui-patterns/SKILL.md +0 -259
  413. package/prisma/skills/taste/SKILL.md +0 -264
  414. package/prisma/skills/taste/references/genre-taxonomy.md +0 -87
  415. package/prisma/skills/tdd-workflow/SKILL.md +0 -583
  416. package/prisma/skills/team-agent-orchestration/SKILL.md +0 -111
  417. package/prisma/skills/team-builder/SKILL.md +0 -169
  418. package/prisma/skills/terminal-ops/SKILL.md +0 -110
  419. package/prisma/skills/tinystruct-patterns/SKILL.md +0 -279
  420. package/prisma/skills/tinystruct-patterns/references/architecture.md +0 -90
  421. package/prisma/skills/tinystruct-patterns/references/data-handling.md +0 -60
  422. package/prisma/skills/tinystruct-patterns/references/database.md +0 -99
  423. package/prisma/skills/tinystruct-patterns/references/routing.md +0 -64
  424. package/prisma/skills/tinystruct-patterns/references/system-usage.md +0 -97
  425. package/prisma/skills/tinystruct-patterns/references/testing.md +0 -72
  426. package/prisma/skills/token-budget-advisor/SKILL.md +0 -134
  427. package/prisma/skills/ui-demo/SKILL.md +0 -466
  428. package/prisma/skills/ui-to-vue/SKILL.md +0 -135
  429. package/prisma/skills/uncloud/SKILL.md +0 -344
  430. package/prisma/skills/unified-notifications-ops/SKILL.md +0 -188
  431. package/prisma/skills/verification-loop/SKILL.md +0 -127
  432. package/prisma/skills/video-editing/SKILL.md +0 -311
  433. package/prisma/skills/videodb/SKILL.md +0 -375
  434. package/prisma/skills/videodb/reference/api-reference.md +0 -550
  435. package/prisma/skills/videodb/reference/capture-reference.md +0 -407
  436. package/prisma/skills/videodb/reference/capture.md +0 -101
  437. package/prisma/skills/videodb/reference/editor.md +0 -443
  438. package/prisma/skills/videodb/reference/generative.md +0 -331
  439. package/prisma/skills/videodb/reference/rtstream-reference.md +0 -564
  440. package/prisma/skills/videodb/reference/rtstream.md +0 -65
  441. package/prisma/skills/videodb/reference/search.md +0 -230
  442. package/prisma/skills/videodb/reference/streaming.md +0 -406
  443. package/prisma/skills/videodb/reference/use-cases.md +0 -118
  444. package/prisma/skills/videodb/scripts/ws_listener.py +0 -282
  445. package/prisma/skills/visa-doc-translate/README.md +0 -86
  446. package/prisma/skills/visa-doc-translate/SKILL.md +0 -117
  447. package/prisma/skills/vite-patterns/SKILL.md +0 -450
  448. package/prisma/skills/vue-patterns/SKILL.md +0 -471
  449. package/prisma/skills/windows-desktop-e2e/SKILL.md +0 -888
  450. package/prisma/skills/workspace-surface-audit/SKILL.md +0 -126
  451. package/prisma/skills/x-api/SKILL.md +0 -235
@@ -1,96 +0,0 @@
1
- ---
2
- name: google-workspace-ops
3
- description: Operate across Google Drive, Docs, Sheets, and Slides as one workflow surface for plans, trackers, decks, and shared documents. Use when the user needs to find, summarize, edit, migrate, or clean up Google Workspace assets without dropping to raw tool calls.
4
- metadata:
5
- origin: ECC
6
- ---
7
-
8
- # Google Workspace Ops
9
-
10
- This skill is for operating shared docs, spreadsheets, and decks as working systems, not just editing one file in isolation.
11
-
12
- ## When to Use
13
-
14
- - User needs to find a doc, sheet, or deck and update it in place
15
- - Consolidating plans, trackers, notes, or customer lists stored in Google Drive
16
- - Cleaning or restructuring a shared spreadsheet
17
- - Importing, repairing, or reformatting a Google Slides deck
18
- - Producing summaries from Docs, Sheets, or Slides for decision-making
19
-
20
- ## Preferred Tool Surface
21
-
22
- Use Google Drive as the entry point, then switch to the right specialist:
23
-
24
- - Google Docs for text-heavy docs
25
- - Google Sheets for tabular work, formulas, and charts
26
- - Google Slides for decks, imports, template migration, and cleanup
27
-
28
- Do not guess structure from filenames alone. Inspect first.
29
-
30
- ## Workflow
31
-
32
- ### 1. Find the asset
33
-
34
- Start with the Drive search surface to locate:
35
-
36
- - the exact file
37
- - sibling assets
38
- - likely duplicates
39
- - recently modified versions
40
-
41
- If several documents look similar, confirm by title, owner, modified time, or folder.
42
-
43
- ### 2. Inspect before editing
44
-
45
- Before making changes:
46
-
47
- - summarize current structure
48
- - identify tabs, headings, or slide count
49
- - detect whether the task is local cleanup or structural surgery
50
-
51
- Pick the smallest tool that can safely perform the work.
52
-
53
- ### 3. Edit with precision
54
-
55
- - For Docs: use index-aware edits, not vague rewrites
56
- - For Sheets: operate on explicit tabs and ranges
57
- - For Slides: distinguish content edits from visual cleanup or template migration
58
-
59
- If the requested work is visual or layout-sensitive, iterate with inspection and verification instead of one giant blind update.
60
-
61
- ### 4. Keep the working system clean
62
-
63
- When the file is part of a larger workflow, also surface:
64
-
65
- - duplicate trackers
66
- - outdated decks
67
- - stale docs vs canonical docs
68
- - whether the asset should be archived, merged, or renamed
69
-
70
- ## Output Format
71
-
72
- Use:
73
-
74
- ```text
75
- ASSET
76
- - file name
77
- - type
78
- - why this is the right file
79
-
80
- CURRENT STATE
81
- - structure summary
82
- - key problems or blockers
83
-
84
- ACTION
85
- - edits made or recommended
86
-
87
- FOLLOW-UPS
88
- - archive / merge / duplicate cleanup / next file to update
89
- ```
90
-
91
- ## Good Use Cases
92
-
93
- - "Find the active planning doc and condense it"
94
- - "Clean up this customer spreadsheet and show me the churn-risk rows"
95
- - "Import this deck into Slides and make it presentable"
96
- - "Find the current tracker, not the stale duplicate"
@@ -1,128 +0,0 @@
1
- ---
2
- name: growth-log
3
- description: "Use after a complex task, failure, or when reviewing what was learned. Teaches how to write growth logs that extract reusable patterns — not diary entries."
4
- version: 1.1.0
5
- metadata:
6
- origin: ECC
7
- ---
8
-
9
- # Growth Log Skill
10
-
11
- > **The problem:** Most people write "fixed a bug in X" as a learning log. That's a diary entry, not a learning artifact. A real growth log extracts the *pattern* so you recognize it next time.
12
- >
13
- > **This skill teaches:** How to write learning entries that compound across sessions. Works with any note-taking system — Markdown files, Notion, Obsidian, plain text. Templates are generic; adapt to your setup.
14
-
15
- ## When to Activate
16
-
17
- - After completing a complex task (multi-file, new feature, architecture change)
18
- - After a failure, mistake, or "that was harder than expected" moment
19
- - When you want to review what you've learned over a period
20
-
21
- **When NOT to activate:** Trivial changes (typo fixes, single-line tweaks, config value changes with no debugging). The threshold: *did this task involve debugging, redoing, rollback, or a non-obvious decision?* If yes → write an entry. If no → skip.
22
-
23
- ## The Three Rules
24
-
25
- ### Rule 1: Failures > Achievements
26
-
27
- A failure is nutritionally denser than a success. One bug that took 2 hours to find teaches more than 3 features that worked first try.
28
-
29
- **Bad:** "Successfully implemented the login flow."
30
- **Good (web dev):** "Login flow: session token wasn't persisting because the cookie `SameSite` defaulted to `Lax` in Chrome 128+. Pattern: always explicitly set `SameSite=None; Secure` when cross-origin. Signal to recognize: auth breaks after browser upgrade or when crossing origin boundaries."
31
- **Good (data pipeline):** "CSV import failed silently on empty rows because `pandas.read_csv(dropna=False)` keeps zero-width rows that `len()` counts as valid. Pattern: always `df.dropna(how='all', inplace=True)` before row-count validation."
32
-
33
- ### Rule 2: The Bole Principle (伯乐原则)
34
-
35
- Before writing a new entry, ask: *"Is this fundamentally the same as something I already recorded?"*
36
-
37
- Same root cause, different symptom → **merge**, don't duplicate. New root cause → new entry.
38
-
39
- **How to check:** Search existing entries for keywords from your root cause before writing. If you find a match, add your new symptom as an additional example under the existing entry rather than creating a duplicate.
40
-
41
- **Example:** "Forgot to update the output index after creating a file" and "Forgot to update skill ratings after a task" — same root cause (no automatic capture trigger). Merge into one entry about "post-task capture gaps."
42
-
43
- ### Rule 3: Must Be Transferable
44
-
45
- Every entry must answer: *"Next time I face a similar situation, what do I do differently?"*
46
-
47
- If you can't write that sentence, you haven't extracted the pattern yet.
48
-
49
- **How to extract a pattern from a concrete event:**
50
- 1. State what happened in one sentence
51
- 2. Ask "why?" iteratively until you reach root cause (usually 3-5 whys)
52
- 3. Generalize: "What class of problem is this?" (not "Chrome 128 bug" but "browser default change breaking existing behavior")
53
- 4. Formulate as: "Next time I see [signal], I will [action]."
54
- 5. Name the signal: what specific observable tells you this pattern is active?
55
-
56
- ## Entry Template
57
-
58
- **Scope:** One entry per distinct root cause. Typical length: 4-8 sentences. If it takes >2 minutes to write, you're narrating events. If <30 seconds, you haven't gone deep enough.
59
-
60
- ```markdown
61
- ## [Title: the pattern, not the event]
62
-
63
- ### Context
64
- - What was I trying to do?
65
- - What went wrong / what worked surprisingly well?
66
-
67
- ### Root Cause / Core Insight
68
- - The underlying mechanism, not just the symptom
69
-
70
- ### The Pattern (transferable)
71
- - Next time [similar situation], I will [specific action].
72
- - Signal to recognize: [what observable tells me this pattern is active?]
73
-
74
- ### Related
75
- - [entry-name](../path/to/related-entry.md)
76
- ```
77
-
78
- ## Entry Types
79
-
80
- All four types use the template above. The type determines which sections carry the most weight:
81
-
82
- | Type | When to Use | Emphasis | Example Title |
83
- |------|------------|----------|---------------|
84
- | **Failure** | Something broke, needed debugging, or required rework | Root Cause | "Config inheritance ≠ behavior inheritance across sessions" |
85
- | **Methodology** | A repeatable process emerged from the work | Context / Pattern | "PPT → open-book exam study guide: three-layer structure" |
86
- | **Pattern Discovery** | A reusable insight about tools, systems, or thinking | Pattern section | "PR description template: describe the gap, not the feature" |
87
- | **Capability Change** | A measurable skill improvement | Context (before vs after) | "Git: from clone/push to independent PR with 12 commits" |
88
-
89
- ## Quality Checklist
90
-
91
- Before finalizing a growth log entry:
92
-
93
- - [ ] Does the title name the *pattern*, not the event?
94
- - [ ] Is there a "Next time I will..." sentence?
95
- - [ ] Is the "Signal to recognize" specific enough to trigger the pattern next time?
96
- - [ ] Did I search existing entries for duplicates before writing? (Bole Principle)
97
- - [ ] Is the root cause distinguished from the symptom?
98
- - [ ] Are related memories cross-linked?
99
- - [ ] Is the entry 4-8 sentences? Shorter = too shallow; longer = narrating events.
100
-
101
- ## Anti-Patterns
102
-
103
- - Avoid: "Fixed bug in payment module" (event, not pattern)
104
- - Avoid: Copying the git commit message verbatim (commits describe what changed; logs extract why it matters)
105
- - Avoid: Writing an entry for every commit (only when a pattern emerges)
106
- - Avoid: Skipping the transferable sentence (without it, it's just a diary — this is non-negotiable)
107
- - Avoid: Duplicating the same pattern under different titles (violates Bole Principle — search before writing)
108
-
109
- ## Storage
110
-
111
- Store entries wherever you keep notes. Common patterns:
112
- - Markdown files in a `growth-log/` directory (one file per day: `YYYY-MM-DD.md`)
113
- - A dedicated section in Notion, Obsidian, or your note-taking app
114
- - Plain text files with a consistent naming convention
115
-
116
- Pick one convention and stick to it. Searchability matters more than format.
117
-
118
- ## If You Use Delivery Gate
119
-
120
- The `delivery-gate` Stop hook checks that learning files were modified today via filesystem timestamps. This skill teaches *what to write* — so the file that delivery-gate checks actually contains useful patterns, not empty timestamps.
121
-
122
- ```
123
- Task completes → delivery-gate checks: was the learning file touched today?
124
- → Stale (no file modified): block — "what did you learn?"
125
- → Fresh (file touched): pass — this skill ensures the content is useful
126
- ```
127
-
128
- Having enforcement without methodology → empty entries. Having methodology without enforcement → forgotten captures. Each is independently useful; together they close the loop.
@@ -1,246 +0,0 @@
1
- ---
2
- name: healthcare-cdss-patterns
3
- description: Clinical Decision Support System (CDSS) development patterns. Drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), alert severity classification, and integration into EMR workflows.
4
- metadata:
5
- origin: Health1 Super Speciality Hospitals — contributed by Dr. Keyur Patel
6
- version: "1.0.0"
7
- ---
8
-
9
- # Healthcare CDSS Development Patterns
10
-
11
- Patterns for building Clinical Decision Support Systems that integrate into EMR workflows. CDSS modules are patient safety critical — zero tolerance for false negatives.
12
-
13
- ## When to Use
14
-
15
- - Implementing drug interaction checking
16
- - Building dose validation engines
17
- - Implementing clinical scoring systems (NEWS2, qSOFA, APACHE, GCS)
18
- - Designing alert systems for abnormal clinical values
19
- - Building medication order entry with safety checks
20
- - Integrating lab result interpretation with clinical context
21
-
22
- ## How It Works
23
-
24
- The CDSS engine is a **pure function library with zero side effects**. Input clinical data, output alerts. This makes it fully testable.
25
-
26
- Three primary modules:
27
-
28
- 1. **`checkInteractions(newDrug, currentMeds, allergies)`** — Checks a new drug against current medications and known allergies. Returns severity-sorted `InteractionAlert[]`. Uses `DrugInteractionPair` data model.
29
- 2. **`validateDose(drug, dose, route, weight, age, renalFunction)`** — Validates a prescribed dose against weight-based, age-adjusted, and renal-adjusted rules. Returns `DoseValidationResult`.
30
- 3. **`calculateNEWS2(vitals)`** — National Early Warning Score 2 from `NEWS2Input`. Returns `NEWS2Result` with total score, risk level, and escalation guidance.
31
-
32
- ```
33
- EMR UI
34
- ↓ (user enters data)
35
- CDSS Engine (pure functions, no side effects)
36
- ├── Drug Interaction Checker
37
- ├── Dose Validator
38
- ├── Clinical Scoring (NEWS2, qSOFA, etc.)
39
- └── Alert Classifier
40
- ↓ (returns alerts)
41
- EMR UI (displays alerts inline, blocks if critical)
42
- ```
43
-
44
- ### Drug Interaction Checking
45
-
46
- ```typescript
47
- interface DrugInteractionPair {
48
- drugA: string; // generic name
49
- drugB: string; // generic name
50
- severity: 'critical' | 'major' | 'minor';
51
- mechanism: string;
52
- clinicalEffect: string;
53
- recommendation: string;
54
- }
55
-
56
- function checkInteractions(
57
- newDrug: string,
58
- currentMedications: string[],
59
- allergyList: string[]
60
- ): InteractionAlert[] {
61
- if (!newDrug) return [];
62
- const alerts: InteractionAlert[] = [];
63
- for (const current of currentMedications) {
64
- const interaction = findInteraction(newDrug, current);
65
- if (interaction) {
66
- alerts.push({ severity: interaction.severity, pair: [newDrug, current],
67
- message: interaction.clinicalEffect, recommendation: interaction.recommendation });
68
- }
69
- }
70
- for (const allergy of allergyList) {
71
- if (isCrossReactive(newDrug, allergy)) {
72
- alerts.push({ severity: 'critical', pair: [newDrug, allergy],
73
- message: `Cross-reactivity with documented allergy: ${allergy}`,
74
- recommendation: 'Do not prescribe without allergy consultation' });
75
- }
76
- }
77
- return alerts.sort((a, b) => severityOrder(a.severity) - severityOrder(b.severity));
78
- }
79
- ```
80
-
81
- Interaction pairs must be **bidirectional**: if Drug A interacts with Drug B, then Drug B interacts with Drug A.
82
-
83
- ### Dose Validation
84
-
85
- ```typescript
86
- interface DoseValidationResult {
87
- valid: boolean;
88
- message: string;
89
- suggestedRange: { min: number; max: number; unit: string } | null;
90
- factors: string[];
91
- }
92
-
93
- function validateDose(
94
- drug: string,
95
- dose: number,
96
- route: 'oral' | 'iv' | 'im' | 'sc' | 'topical',
97
- patientWeight?: number,
98
- patientAge?: number,
99
- renalFunction?: number
100
- ): DoseValidationResult {
101
- const rules = getDoseRules(drug, route);
102
- if (!rules) return { valid: true, message: 'No validation rules available', suggestedRange: null, factors: [] };
103
- const factors: string[] = [];
104
-
105
- // SAFETY: if rules require weight but weight missing, BLOCK (not pass)
106
- if (rules.weightBased) {
107
- if (!patientWeight || patientWeight <= 0) {
108
- return { valid: false, message: `Weight required for ${drug} (mg/kg drug)`,
109
- suggestedRange: null, factors: ['weight_missing'] };
110
- }
111
- factors.push('weight');
112
- const maxDose = rules.maxPerKg * patientWeight;
113
- if (dose > maxDose) {
114
- return { valid: false, message: `Dose exceeds max for ${patientWeight}kg`,
115
- suggestedRange: { min: rules.minPerKg * patientWeight, max: maxDose, unit: rules.unit }, factors };
116
- }
117
- }
118
-
119
- // Age-based adjustment (when rules define age brackets and age is provided)
120
- if (rules.ageAdjusted && patientAge !== undefined) {
121
- factors.push('age');
122
- const ageMax = rules.getAgeAdjustedMax(patientAge);
123
- if (dose > ageMax) {
124
- return { valid: false, message: `Exceeds age-adjusted max for ${patientAge}yr`,
125
- suggestedRange: { min: rules.typicalMin, max: ageMax, unit: rules.unit }, factors };
126
- }
127
- }
128
-
129
- // Renal adjustment (when rules define eGFR brackets and eGFR is provided)
130
- if (rules.renalAdjusted && renalFunction !== undefined) {
131
- factors.push('renal');
132
- const renalMax = rules.getRenalAdjustedMax(renalFunction);
133
- if (dose > renalMax) {
134
- return { valid: false, message: `Exceeds renal-adjusted max for eGFR ${renalFunction}`,
135
- suggestedRange: { min: rules.typicalMin, max: renalMax, unit: rules.unit }, factors };
136
- }
137
- }
138
-
139
- // Absolute max
140
- if (dose > rules.absoluteMax) {
141
- return { valid: false, message: `Exceeds absolute max ${rules.absoluteMax}${rules.unit}`,
142
- suggestedRange: { min: rules.typicalMin, max: rules.absoluteMax, unit: rules.unit },
143
- factors: [...factors, 'absolute_max'] };
144
- }
145
- return { valid: true, message: 'Within range',
146
- suggestedRange: { min: rules.typicalMin, max: rules.typicalMax, unit: rules.unit }, factors };
147
- }
148
- ```
149
-
150
- ### Clinical Scoring: NEWS2
151
-
152
- ```typescript
153
- interface NEWS2Input {
154
- respiratoryRate: number; oxygenSaturation: number; supplementalOxygen: boolean;
155
- temperature: number; systolicBP: number; heartRate: number;
156
- consciousness: 'alert' | 'voice' | 'pain' | 'unresponsive';
157
- }
158
- interface NEWS2Result {
159
- total: number; // 0-20
160
- risk: 'low' | 'low-medium' | 'medium' | 'high';
161
- components: Record<string, number>;
162
- escalation: string;
163
- }
164
- ```
165
-
166
- Scoring tables must match the Royal College of Physicians specification exactly.
167
-
168
- ### Alert Severity and UI Behavior
169
-
170
- | Severity | UI Behavior | Clinician Action Required |
171
- |----------|-------------|--------------------------|
172
- | Critical | Block action. Non-dismissable modal. Red. | Must document override reason to proceed |
173
- | Major | Warning banner inline. Orange. | Must acknowledge before proceeding |
174
- | Minor | Info note inline. Yellow. | Awareness only, no action required |
175
-
176
- Critical alerts must NEVER be auto-dismissed or implemented as toast notifications. Override reasons must be stored in the audit trail.
177
-
178
- ### Testing CDSS (Zero Tolerance for False Negatives)
179
-
180
- ```typescript
181
- describe('CDSS — Patient Safety', () => {
182
- INTERACTION_PAIRS.forEach(({ drugA, drugB, severity }) => {
183
- it(`detects ${drugA} + ${drugB} (${severity})`, () => {
184
- const alerts = checkInteractions(drugA, [drugB], []);
185
- expect(alerts.length).toBeGreaterThan(0);
186
- expect(alerts[0].severity).toBe(severity);
187
- });
188
- it(`detects ${drugB} + ${drugA} (reverse)`, () => {
189
- const alerts = checkInteractions(drugB, [drugA], []);
190
- expect(alerts.length).toBeGreaterThan(0);
191
- });
192
- });
193
- it('blocks mg/kg drug when weight is missing', () => {
194
- const result = validateDose('gentamicin', 300, 'iv');
195
- expect(result.valid).toBe(false);
196
- expect(result.factors).toContain('weight_missing');
197
- });
198
- it('handles malformed drug data gracefully', () => {
199
- expect(() => checkInteractions('', [], [])).not.toThrow();
200
- });
201
- });
202
- ```
203
-
204
- Pass criteria: 100%. A single missed interaction is a patient safety event.
205
-
206
- ### Anti-Patterns
207
-
208
- - Making CDSS checks optional or skippable without documented reason
209
- - Implementing interaction checks as toast notifications
210
- - Using `any` types for drug or clinical data
211
- - Hardcoding interaction pairs instead of using a maintainable data structure
212
- - Silently catching errors in CDSS engine (must surface failures loudly)
213
- - Skipping weight-based validation when weight is not available (must block, not pass)
214
-
215
- ## Examples
216
-
217
- ### Example 1: Drug Interaction Check
218
-
219
- ```typescript
220
- const alerts = checkInteractions('warfarin', ['aspirin', 'metformin'], ['penicillin']);
221
- // [{ severity: 'critical', pair: ['warfarin', 'aspirin'],
222
- // message: 'Increased bleeding risk', recommendation: 'Avoid combination' }]
223
- ```
224
-
225
- ### Example 2: Dose Validation
226
-
227
- ```typescript
228
- const ok = validateDose('paracetamol', 1000, 'oral', 70, 45);
229
- // { valid: true, suggestedRange: { min: 500, max: 4000, unit: 'mg' } }
230
-
231
- const bad = validateDose('paracetamol', 5000, 'oral', 70, 45);
232
- // { valid: false, message: 'Exceeds absolute max 4000mg' }
233
-
234
- const noWeight = validateDose('gentamicin', 300, 'iv');
235
- // { valid: false, factors: ['weight_missing'] }
236
- ```
237
-
238
- ### Example 3: NEWS2 Scoring
239
-
240
- ```typescript
241
- const result = calculateNEWS2({
242
- respiratoryRate: 24, oxygenSaturation: 93, supplementalOxygen: true,
243
- temperature: 38.5, systolicBP: 100, heartRate: 110, consciousness: 'voice'
244
- });
245
- // { total: 13, risk: 'high', escalation: 'Urgent clinical review. Consider ICU.' }
246
- ```
@@ -1,160 +0,0 @@
1
- ---
2
- name: healthcare-emr-patterns
3
- description: EMR/EHR development patterns for healthcare applications. Clinical safety, encounter workflows, prescription generation, clinical decision support integration, and accessibility-first UI for medical data entry.
4
- metadata:
5
- origin: Health1 Super Speciality Hospitals — contributed by Dr. Keyur Patel
6
- version: "1.0.0"
7
- ---
8
-
9
- # Healthcare EMR Development Patterns
10
-
11
- Patterns for building Electronic Medical Record (EMR) and Electronic Health Record (EHR) systems. Prioritizes patient safety, clinical accuracy, and practitioner efficiency.
12
-
13
- ## When to Use
14
-
15
- - Building patient encounter workflows (complaint, exam, diagnosis, prescription)
16
- - Implementing clinical note-taking (structured + free text + voice-to-text)
17
- - Designing prescription/medication modules with drug interaction checking
18
- - Integrating Clinical Decision Support Systems (CDSS)
19
- - Building lab result displays with reference range highlighting
20
- - Implementing audit trails for clinical data
21
- - Designing healthcare-accessible UIs for clinical data entry
22
-
23
- ## How It Works
24
-
25
- ### Patient Safety First
26
-
27
- Every design decision must be evaluated against: "Could this harm a patient?"
28
-
29
- - Drug interactions MUST alert, not silently pass
30
- - Abnormal lab values MUST be visually flagged
31
- - Critical vitals MUST trigger escalation workflows
32
- - No clinical data modification without audit trail
33
-
34
- ### Single-Page Encounter Flow
35
-
36
- Clinical encounters should flow vertically on a single page — no tab switching:
37
-
38
- ```
39
- Patient Header (sticky — always visible)
40
- ├── Demographics, allergies, active medications
41
-
42
- Encounter Flow (vertical scroll)
43
- ├── 1. Chief Complaint (structured templates + free text)
44
- ├── 2. History of Present Illness
45
- ├── 3. Physical Examination (system-wise)
46
- ├── 4. Vitals (auto-trigger clinical scoring)
47
- ├── 5. Diagnosis (ICD-10/SNOMED search)
48
- ├── 6. Medications (drug DB + interaction check)
49
- ├── 7. Investigations (lab/radiology orders)
50
- ├── 8. Plan & Follow-up
51
- └── 9. Sign / Lock / Print
52
- ```
53
-
54
- ### Smart Template System
55
-
56
- ```typescript
57
- interface ClinicalTemplate {
58
- id: string;
59
- name: string; // e.g., "Chest Pain"
60
- chips: string[]; // clickable symptom chips
61
- requiredFields: string[]; // mandatory data points
62
- redFlags: string[]; // triggers non-dismissable alert
63
- icdSuggestions: string[]; // pre-mapped diagnosis codes
64
- }
65
- ```
66
-
67
- Red flags in any template must trigger a visible, non-dismissable alert — NOT a toast notification.
68
-
69
- ### Medication Safety Pattern
70
-
71
- ```
72
- User selects drug
73
- → Check current medications for interactions
74
- → Check encounter medications for interactions
75
- → Check patient allergies
76
- → Validate dose against weight/age/renal function
77
- → If CRITICAL interaction: BLOCK prescribing entirely
78
- → Clinician must document override reason to proceed past a block
79
- → If MAJOR interaction: display warning, require acknowledgment
80
- → Log all alerts and override reasons in audit trail
81
- ```
82
-
83
- Critical interactions **block prescribing by default**. The clinician must explicitly override with a documented reason stored in the audit trail. The system never silently allows a critical interaction.
84
-
85
- ### Locked Encounter Pattern
86
-
87
- Once a clinical encounter is signed:
88
- - No edits allowed — only an addendum (a separate linked record)
89
- - Both original and addendum appear in the patient timeline
90
- - Audit trail captures who signed, when, and any addendum records
91
-
92
- ### UI Patterns for Clinical Data
93
-
94
- **Vitals Display:** Current values with normal range highlighting (green/yellow/red), trend arrows vs previous, clinical scoring auto-calculated (NEWS2, qSOFA), escalation guidance inline.
95
-
96
- **Lab Results Display:** Normal range highlighting, previous value comparison, critical values with non-dismissable alert, collection/analysis timestamps, pending orders with expected turnaround.
97
-
98
- **Prescription PDF:** One-click generation with patient demographics, allergies, diagnosis, drug details (generic + brand, dose, route, frequency, duration), clinician signature block.
99
-
100
- ### Accessibility for Healthcare
101
-
102
- Healthcare UIs have stricter requirements than typical web apps:
103
- - 4.5:1 minimum contrast (WCAG AA) — clinicians work in varied lighting
104
- - Large touch targets (44x44px minimum) — for gloved/rushed interaction
105
- - Keyboard navigation — for power users entering data rapidly
106
- - No color-only indicators — always pair color with text/icon (colorblind clinicians)
107
- - Screen reader labels on all form fields
108
- - No auto-dismissing toasts for clinical alerts — clinician must actively acknowledge
109
-
110
- ### Anti-Patterns
111
-
112
- - Storing clinical data in browser localStorage
113
- - Silent failures in drug interaction checking
114
- - Dismissable toasts for critical clinical alerts
115
- - Tab-based encounter UIs that fragment the clinical workflow
116
- - Allowing edits to signed/locked encounters
117
- - Displaying clinical data without audit trail
118
- - Using `any` type for clinical data structures
119
-
120
- ## Examples
121
-
122
- ### Example 1: Patient Encounter Flow
123
-
124
- ```
125
- Doctor opens encounter for Patient #4521
126
- → Sticky header shows: "Rajesh M, 58M, Allergies: Penicillin, Active Meds: Metformin 500mg"
127
- → Chief Complaint: selects "Chest Pain" template
128
- → Clicks chips: "substernal", "radiating to left arm", "crushing"
129
- → Red flag "crushing substernal chest pain" triggers non-dismissable alert
130
- → Examination: CVS system — "S1 S2 normal, no murmur"
131
- → Vitals: HR 110, BP 90/60, SpO2 94%
132
- → NEWS2 auto-calculates: score 8, risk HIGH, escalation alert shown
133
- → Diagnosis: searches "ACS" → selects ICD-10 I21.9
134
- → Medications: selects Aspirin 300mg
135
- → CDSS checks against Metformin: no interaction
136
- → Signs encounter → locked, addendum-only from this point
137
- ```
138
-
139
- ### Example 2: Medication Safety Workflow
140
-
141
- ```
142
- Doctor prescribes Warfarin for Patient #4521
143
- → CDSS detects: Warfarin + Aspirin = CRITICAL interaction
144
- → UI: red non-dismissable modal blocks prescribing
145
- → Doctor clicks "Override with reason"
146
- → Types: "Benefits outweigh risks — monitored INR protocol"
147
- → Override reason + alert stored in audit trail
148
- → Prescription proceeds with documented override
149
- ```
150
-
151
- ### Example 3: Locked Encounter + Addendum
152
-
153
- ```
154
- Encounter #E-2024-0891 signed by Dr. Shah at 14:30
155
- → All fields locked — no edit buttons visible
156
- → "Add Addendum" button available
157
- → Dr. Shah clicks addendum, adds: "Lab results received — Troponin elevated"
158
- → New record E-2024-0891-A1 linked to original
159
- → Timeline shows both: original encounter + addendum with timestamps
160
- ```