@rubytech/create-realagent-code 0.1.62 → 0.1.64

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 (688) hide show
  1. package/dist/__tests__/installer-specialist-registration.test.js +112 -0
  2. package/dist/index.js +22 -0
  3. package/dist/specialist-registration.js +78 -0
  4. package/package.json +1 -1
  5. package/payload/platform/plugins/admin/PLUGIN.md +22 -0
  6. package/payload/platform/plugins/admin/hooks/__tests__/turn-completed-graph-write.test.sh +50 -13
  7. package/payload/platform/plugins/admin/hooks/turn-completed-graph-write.sh +22 -21
  8. package/payload/platform/plugins/contacts/PLUGIN.md +9 -0
  9. package/payload/platform/plugins/docs/references/admin-session.md +57 -8
  10. package/payload/platform/plugins/docs/references/platform.md +4 -0
  11. package/payload/platform/plugins/email/PLUGIN.md +9 -0
  12. package/payload/platform/plugins/memory/PLUGIN.md +37 -0
  13. package/payload/platform/plugins/memory/mcp/dist/index.js +3 -3
  14. package/payload/platform/plugins/memory/mcp/dist/index.js.map +1 -1
  15. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/live-schema-source.test.js +137 -75
  16. package/payload/platform/plugins/memory/mcp/dist/lib/__tests__/live-schema-source.test.js.map +1 -1
  17. package/payload/platform/plugins/memory/mcp/dist/lib/live-schema-source.d.ts +0 -17
  18. package/payload/platform/plugins/memory/mcp/dist/lib/live-schema-source.d.ts.map +1 -1
  19. package/payload/platform/plugins/memory/mcp/dist/lib/live-schema-source.js +32 -4
  20. package/payload/platform/plugins/memory/mcp/dist/lib/live-schema-source.js.map +1 -1
  21. package/payload/platform/plugins/memory/mcp/dist/lib/log-ingest.d.ts +65 -0
  22. package/payload/platform/plugins/memory/mcp/dist/lib/log-ingest.d.ts.map +1 -0
  23. package/payload/platform/plugins/memory/mcp/dist/lib/log-ingest.js +182 -0
  24. package/payload/platform/plugins/memory/mcp/dist/lib/log-ingest.js.map +1 -0
  25. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-enrich-rejection.test.js +8 -8
  26. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/conversation-archive-enrich-rejection.test.js.map +1 -1
  27. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/log-ingest.test.d.ts +2 -0
  28. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/log-ingest.test.d.ts.map +1 -0
  29. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/log-ingest.test.js +241 -0
  30. package/payload/platform/plugins/memory/mcp/dist/tools/__tests__/log-ingest.test.js.map +1 -0
  31. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.d.ts.map +1 -1
  32. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.js +9 -0
  33. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-derive-insights.js.map +1 -1
  34. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-enrich-rejection.d.ts +1 -1
  35. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-enrich-rejection.d.ts.map +1 -1
  36. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-enrich-rejection.js +9 -1
  37. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-archive-enrich-rejection.js.map +1 -1
  38. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-memory-expunge.d.ts.map +1 -1
  39. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-memory-expunge.js +10 -2
  40. package/payload/platform/plugins/memory/mcp/dist/tools/conversation-memory-expunge.js.map +1 -1
  41. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-add.d.ts +1 -1
  42. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-add.d.ts.map +1 -1
  43. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-add.js +5 -1
  44. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-add.js.map +1 -1
  45. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-remove.d.ts +1 -1
  46. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-remove.d.ts.map +1 -1
  47. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-remove.js +5 -1
  48. package/payload/platform/plugins/memory/mcp/dist/tools/graph-prune-denylist-remove.js.map +1 -1
  49. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.d.ts.map +1 -1
  50. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.js +4 -0
  51. package/payload/platform/plugins/memory/mcp/dist/tools/memory-archive-write.js.map +1 -1
  52. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.d.ts.map +1 -1
  53. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.js +4 -0
  54. package/payload/platform/plugins/memory/mcp/dist/tools/memory-classify.js.map +1 -1
  55. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.d.ts.map +1 -1
  56. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.js +4 -0
  57. package/payload/platform/plugins/memory/mcp/dist/tools/memory-delete.js.map +1 -1
  58. package/payload/platform/plugins/memory/mcp/dist/tools/memory-edit-attachment.d.ts.map +1 -1
  59. package/payload/platform/plugins/memory/mcp/dist/tools/memory-edit-attachment.js +4 -0
  60. package/payload/platform/plugins/memory/mcp/dist/tools/memory-edit-attachment.js.map +1 -1
  61. package/payload/platform/plugins/memory/mcp/dist/tools/memory-empty-trash.d.ts.map +1 -1
  62. package/payload/platform/plugins/memory/mcp/dist/tools/memory-empty-trash.js +4 -0
  63. package/payload/platform/plugins/memory/mcp/dist/tools/memory-empty-trash.js.map +1 -1
  64. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-extract.d.ts.map +1 -1
  65. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-extract.js +4 -0
  66. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-extract.js.map +1 -1
  67. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-web.d.ts.map +1 -1
  68. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-web.js +4 -0
  69. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest-web.js.map +1 -1
  70. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.d.ts.map +1 -1
  71. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js +5 -0
  72. package/payload/platform/plugins/memory/mcp/dist/tools/memory-ingest.js.map +1 -1
  73. package/payload/platform/plugins/memory/mcp/dist/tools/memory-reindex.d.ts.map +1 -1
  74. package/payload/platform/plugins/memory/mcp/dist/tools/memory-reindex.js +4 -0
  75. package/payload/platform/plugins/memory/mcp/dist/tools/memory-reindex.js.map +1 -1
  76. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rename-attachment.d.ts.map +1 -1
  77. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rename-attachment.js +4 -0
  78. package/payload/platform/plugins/memory/mcp/dist/tools/memory-rename-attachment.js.map +1 -1
  79. package/payload/platform/plugins/memory/mcp/dist/tools/memory-restore.d.ts.map +1 -1
  80. package/payload/platform/plugins/memory/mcp/dist/tools/memory-restore.js +4 -0
  81. package/payload/platform/plugins/memory/mcp/dist/tools/memory-restore.js.map +1 -1
  82. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.d.ts.map +1 -1
  83. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js +5 -0
  84. package/payload/platform/plugins/memory/mcp/dist/tools/memory-update.js.map +1 -1
  85. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.d.ts.map +1 -1
  86. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js +6 -0
  87. package/payload/platform/plugins/memory/mcp/dist/tools/memory-write.js.map +1 -1
  88. package/payload/platform/plugins/memory/mcp/dist/tools/profile-delete.d.ts.map +1 -1
  89. package/payload/platform/plugins/memory/mcp/dist/tools/profile-delete.js +4 -0
  90. package/payload/platform/plugins/memory/mcp/dist/tools/profile-delete.js.map +1 -1
  91. package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.d.ts.map +1 -1
  92. package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.js +4 -0
  93. package/payload/platform/plugins/memory/mcp/dist/tools/profile-update.js.map +1 -1
  94. package/payload/platform/plugins/memory/mcp/vitest.config.ts +10 -3
  95. package/payload/platform/plugins/outlook/PLUGIN.md +7 -0
  96. package/payload/platform/plugins/replicate/PLUGIN.md +3 -0
  97. package/payload/platform/plugins/scheduling/PLUGIN.md +8 -0
  98. package/payload/platform/plugins/tasks/PLUGIN.md +14 -0
  99. package/payload/platform/plugins/waitlist/PLUGIN.md +7 -0
  100. package/payload/platform/plugins/whatsapp/PLUGIN.md +12 -0
  101. package/payload/platform/plugins/workflows/PLUGIN.md +8 -0
  102. package/payload/platform/services/claude-session-manager/dist/index.js +43 -1
  103. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  104. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +33 -0
  105. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
  106. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +214 -59
  107. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
  108. package/payload/platform/services/claude-session-manager/dist/specialist-drift.d.ts +23 -0
  109. package/payload/platform/services/claude-session-manager/dist/specialist-drift.d.ts.map +1 -0
  110. package/payload/platform/services/claude-session-manager/dist/specialist-drift.js +141 -0
  111. package/payload/platform/services/claude-session-manager/dist/specialist-drift.js.map +1 -0
  112. package/payload/platform/services/claude-session-manager/dist/tool-surface.d.ts +13 -2
  113. package/payload/platform/services/claude-session-manager/dist/tool-surface.d.ts.map +1 -1
  114. package/payload/platform/services/claude-session-manager/dist/tool-surface.js +150 -37
  115. package/payload/platform/services/claude-session-manager/dist/tool-surface.js.map +1 -1
  116. package/payload/platform/services/claude-session-manager/dist/types.d.ts +5 -0
  117. package/payload/platform/services/claude-session-manager/dist/types.d.ts.map +1 -1
  118. package/payload/platform/templates/agents/admin/IDENTITY.md +1 -1
  119. package/payload/premium-plugins/real-agent/BUNDLE.md +2 -4
  120. package/payload/premium-plugins/real-agent/agents/compliance.md +1 -1
  121. package/payload/premium-plugins/real-agent/agents/valuer.md +1 -2
  122. package/payload/premium-plugins/real-agent/plugins/epc/.claude-plugin/plugin.json +3 -3
  123. package/payload/premium-plugins/real-agent/plugins/listings/.claude-plugin/plugin.json +1 -1
  124. package/payload/premium-plugins/real-agent/plugins/listings/PLUGIN.md +1 -3
  125. package/payload/premium-plugins/real-agent/plugins/listings/skills/new-instruction/SKILL.md +11 -12
  126. package/payload/premium-plugins/real-agent/plugins/loop/PLUGIN.md +27 -0
  127. package/payload/premium-plugins/real-agent/plugins/preval/.claude-plugin/plugin.json +1 -1
  128. package/payload/premium-plugins/real-agent/plugins/preval/PLUGIN.md +16 -8
  129. package/payload/premium-plugins/real-agent/plugins/preval/hooks/preval-prompt-required.sh +140 -0
  130. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/SKILL.md +92 -40
  131. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/references/__tests__/adherence.test.py +373 -0
  132. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/references/render.py +299 -115
  133. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/references/template-inputs.schema.json +34 -19
  134. package/payload/premium-plugins/real-agent/plugins/preval/skills/property-preval/references/template.html +88 -19
  135. package/payload/premium-plugins/real-agent/plugins/property-data/PLUGIN.md +22 -0
  136. package/payload/premium-plugins/real-agent/specs/03-new-instruction.md +8 -12
  137. package/payload/server/{chunk-2IKQERHN.js → chunk-S6PQA6Q4.js} +43 -34
  138. package/payload/server/maxy-edge.js +1 -1
  139. package/payload/server/public/assets/{admin-DhN3G8W7.js → admin-ymReS1mN.js} +1 -1
  140. package/payload/server/public/assets/{data-B2ZVXOcE.js → data-D6U2e85B.js} +1 -1
  141. package/payload/server/public/assets/{graph-BAMGPHrK.js → graph-C274PN27.js} +1 -1
  142. package/payload/server/public/assets/{graph-labels-D9eBbvxo.js → graph-labels-DQFzd1FY.js} +1 -1
  143. package/payload/server/public/assets/{page-DjdVMWCz.js → page-D-OLjort.js} +1 -1
  144. package/payload/server/public/assets/{page-CV27Al6Z.js → page-DFFt9_Q0.js} +1 -1
  145. package/payload/server/public/data.html +3 -3
  146. package/payload/server/public/graph.html +3 -3
  147. package/payload/server/public/index.html +4 -4
  148. package/payload/server/server.js +2 -2
  149. package/payload/platform/plugins/brochures/.claude-plugin/plugin.json +0 -8
  150. package/payload/platform/plugins/brochures/PLUGIN.md +0 -38
  151. package/payload/platform/plugins/brochures/commands/make-brochure.md +0 -11
  152. package/payload/platform/plugins/brochures/skills/a4-print-documents/SKILL.md +0 -478
  153. package/payload/platform/plugins/brochures/skills/brand-design/SKILL.md +0 -192
  154. package/payload/platform/plugins/brochures/skills/make-brochure/SKILL.md +0 -354
  155. package/payload/platform/plugins/brochures/skills/make-brochure/references/seller-brief-template.md +0 -115
  156. package/payload/platform/plugins/brochures/skills/property-brochure/SKILL.md +0 -142
  157. package/payload/platform/plugins/brochures/skills/property-brochure/references/build.md +0 -270
  158. package/payload/platform/plugins/brochures/skills/property-brochure/references/copy.md +0 -211
  159. package/payload/platform/plugins/brochures/skills/property-brochure/references/images.md +0 -166
  160. package/payload/platform/plugins/brochures/skills/property-brochure/references/index-landing.md +0 -376
  161. package/payload/platform/plugins/brochures/skills/property-brochure/references/index.html +0 -1288
  162. package/payload/platform/plugins/brochures/skills/property-brochure/references/placeholders.md +0 -250
  163. package/payload/platform/plugins/brochures/skills/property-brochure/references/registers.md +0 -47
  164. package/payload/platform/plugins/brochures/skills/property-brochure/references/seller-brief.md +0 -56
  165. package/payload/platform/plugins/brochures/skills/property-brochure/references/structure.md +0 -249
  166. package/payload/platform/plugins/brochures/skills/property-brochure/references/template.html +0 -2370
  167. package/payload/platform/plugins/brochures/skills/property-extract/SKILL.md +0 -372
  168. package/payload/platform/plugins/brochures/skills/property-market-report/SKILL.md +0 -100
  169. package/payload/platform/plugins/brochures/skills/property-market-report/references/render.py +0 -267
  170. package/payload/platform/plugins/brochures/skills/property-market-report/references/template.html +0 -266
  171. package/payload/platform/plugins/brochures/skills/property-socials/SKILL.md +0 -141
  172. package/payload/platform/plugins/buyers/.claude-plugin/plugin.json +0 -8
  173. package/payload/platform/plugins/buyers/PLUGIN.md +0 -34
  174. package/payload/platform/plugins/buyers/skills/buyer-feedback/SKILL.md +0 -109
  175. package/payload/platform/plugins/buyers/skills/buyer-management/SKILL.md +0 -42
  176. package/payload/platform/plugins/buyers/skills/buyer-management/references/buyer-qualification-questions.md +0 -16
  177. package/payload/platform/plugins/buyers/skills/buyer-management/references/buyer-qualification.md +0 -59
  178. package/payload/platform/plugins/buyers/skills/buyer-management/references/buyer-scripts.md +0 -63
  179. package/payload/platform/plugins/buyers/skills/buyer-management/references/buyer-working-scripts.md +0 -54
  180. package/payload/platform/plugins/buyers/skills/buyer-management/references/feedback-collection.md +0 -42
  181. package/payload/platform/plugins/buyers/skills/buyer-management/references/offer-capture.md +0 -38
  182. package/payload/platform/plugins/buyers/skills/buyer-management/references/viewing-booking.md +0 -32
  183. package/payload/platform/plugins/buyers/skills/buyer-management/references/viewing-management.md +0 -52
  184. package/payload/platform/plugins/buyers/skills/buyer-seller-guides/SKILL.md +0 -407
  185. package/payload/platform/plugins/buyers/skills/buyer-seller-guides/references/care-fees-guide.md +0 -68
  186. package/payload/platform/plugins/buyers/skills/buyer-seller-guides/references/divorce-sales-guide.md +0 -61
  187. package/payload/platform/plugins/buyers/skills/buyer-seller-guides/references/downsizing-guide.md +0 -45
  188. package/payload/platform/plugins/buyers/skills/buyer-seller-guides/references/first-time-buyers.md +0 -92
  189. package/payload/platform/plugins/buyers/skills/buyer-seller-guides/references/first-time-sellers.md +0 -78
  190. package/payload/platform/plugins/buyers/skills/buyer-seller-guides/references/probate-guide.md +0 -53
  191. package/payload/platform/plugins/buyers/skills/buyer-seller-guides/references/upsizing-guide.md +0 -41
  192. package/payload/platform/plugins/buyers/skills/property-enquiry/SKILL.md +0 -126
  193. package/payload/platform/plugins/buyers/skills/viewing-management/SKILL.md +0 -111
  194. package/payload/platform/plugins/epc/.claude-plugin/plugin.json +0 -17
  195. package/payload/platform/plugins/epc/PLUGIN.md +0 -85
  196. package/payload/platform/plugins/epc/mcp/dist/index.d.ts +0 -2
  197. package/payload/platform/plugins/epc/mcp/dist/index.d.ts.map +0 -1
  198. package/payload/platform/plugins/epc/mcp/dist/index.js +0 -117
  199. package/payload/platform/plugins/epc/mcp/dist/index.js.map +0 -1
  200. package/payload/platform/plugins/epc/mcp/dist/lib/crypto.d.ts +0 -3
  201. package/payload/platform/plugins/epc/mcp/dist/lib/crypto.d.ts.map +0 -1
  202. package/payload/platform/plugins/epc/mcp/dist/lib/crypto.js +0 -72
  203. package/payload/platform/plugins/epc/mcp/dist/lib/crypto.js.map +0 -1
  204. package/payload/platform/plugins/epc/mcp/dist/lib/epc-api.d.ts +0 -60
  205. package/payload/platform/plugins/epc/mcp/dist/lib/epc-api.d.ts.map +0 -1
  206. package/payload/platform/plugins/epc/mcp/dist/lib/epc-api.js +0 -181
  207. package/payload/platform/plugins/epc/mcp/dist/lib/epc-api.js.map +0 -1
  208. package/payload/platform/plugins/epc/mcp/dist/lib/file-crypto.d.ts +0 -3
  209. package/payload/platform/plugins/epc/mcp/dist/lib/file-crypto.d.ts.map +0 -1
  210. package/payload/platform/plugins/epc/mcp/dist/lib/file-crypto.js +0 -49
  211. package/payload/platform/plugins/epc/mcp/dist/lib/file-crypto.js.map +0 -1
  212. package/payload/platform/plugins/epc/mcp/dist/lib/key-store.d.ts +0 -15
  213. package/payload/platform/plugins/epc/mcp/dist/lib/key-store.d.ts.map +0 -1
  214. package/payload/platform/plugins/epc/mcp/dist/lib/key-store.js +0 -130
  215. package/payload/platform/plugins/epc/mcp/dist/lib/key-store.js.map +0 -1
  216. package/payload/platform/plugins/epc/mcp/dist/lib/neo4j.d.ts +0 -5
  217. package/payload/platform/plugins/epc/mcp/dist/lib/neo4j.d.ts.map +0 -1
  218. package/payload/platform/plugins/epc/mcp/dist/lib/neo4j.js +0 -38
  219. package/payload/platform/plugins/epc/mcp/dist/lib/neo4j.js.map +0 -1
  220. package/payload/platform/plugins/epc/mcp/dist/tools/key-deregister.d.ts +0 -4
  221. package/payload/platform/plugins/epc/mcp/dist/tools/key-deregister.d.ts.map +0 -1
  222. package/payload/platform/plugins/epc/mcp/dist/tools/key-deregister.js +0 -9
  223. package/payload/platform/plugins/epc/mcp/dist/tools/key-deregister.js.map +0 -1
  224. package/payload/platform/plugins/epc/mcp/dist/tools/key-list.d.ts +0 -4
  225. package/payload/platform/plugins/epc/mcp/dist/tools/key-list.d.ts.map +0 -1
  226. package/payload/platform/plugins/epc/mcp/dist/tools/key-list.js +0 -10
  227. package/payload/platform/plugins/epc/mcp/dist/tools/key-list.js.map +0 -1
  228. package/payload/platform/plugins/epc/mcp/dist/tools/key-register.d.ts +0 -5
  229. package/payload/platform/plugins/epc/mcp/dist/tools/key-register.d.ts.map +0 -1
  230. package/payload/platform/plugins/epc/mcp/dist/tools/key-register.js +0 -36
  231. package/payload/platform/plugins/epc/mcp/dist/tools/key-register.js.map +0 -1
  232. package/payload/platform/plugins/epc/mcp/dist/tools/lookup.d.ts +0 -10
  233. package/payload/platform/plugins/epc/mcp/dist/tools/lookup.d.ts.map +0 -1
  234. package/payload/platform/plugins/epc/mcp/dist/tools/lookup.js +0 -30
  235. package/payload/platform/plugins/epc/mcp/dist/tools/lookup.js.map +0 -1
  236. package/payload/platform/plugins/epc/mcp/package-lock.json +0 -2566
  237. package/payload/platform/plugins/epc/mcp/package.json +0 -21
  238. package/payload/platform/plugins/epc/mcp/src/__tests__/epc-api.test.ts +0 -251
  239. package/payload/platform/plugins/epc/mcp/src/__tests__/key-roundtrip.test.ts +0 -113
  240. package/payload/platform/plugins/epc/mcp/src/__tests__/lookup.test.ts +0 -181
  241. package/payload/platform/plugins/epc/mcp/src/__tests__/schema-parity.test.ts +0 -54
  242. package/payload/platform/plugins/epc/mcp/src/index.ts +0 -156
  243. package/payload/platform/plugins/epc/mcp/src/lib/crypto.ts +0 -79
  244. package/payload/platform/plugins/epc/mcp/src/lib/epc-api.ts +0 -241
  245. package/payload/platform/plugins/epc/mcp/src/lib/file-crypto.ts +0 -55
  246. package/payload/platform/plugins/epc/mcp/src/lib/key-store.ts +0 -172
  247. package/payload/platform/plugins/epc/mcp/src/lib/neo4j.ts +0 -47
  248. package/payload/platform/plugins/epc/mcp/src/tools/key-deregister.ts +0 -9
  249. package/payload/platform/plugins/epc/mcp/src/tools/key-list.ts +0 -10
  250. package/payload/platform/plugins/epc/mcp/src/tools/key-register.ts +0 -44
  251. package/payload/platform/plugins/epc/mcp/src/tools/lookup.ts +0 -43
  252. package/payload/platform/plugins/epc/mcp/tsconfig.json +0 -20
  253. package/payload/platform/plugins/epc/mcp/vitest.config.ts +0 -8
  254. package/payload/platform/plugins/estate-business/.claude-plugin/plugin.json +0 -8
  255. package/payload/platform/plugins/estate-business/PLUGIN.md +0 -64
  256. package/payload/platform/plugins/estate-business/skills/business-growth/SKILL.md +0 -133
  257. package/payload/platform/plugins/estate-business/skills/business-growth/references/buy-back-your-time.md +0 -37
  258. package/payload/platform/plugins/estate-business/skills/business-growth/references/firewave-gost-scorecards.md +0 -14
  259. package/payload/platform/plugins/estate-business/skills/business-growth/references/keller-org-model.md +0 -17
  260. package/payload/platform/plugins/estate-business/skills/business-growth/references/lencioni-team-models.md +0 -22
  261. package/payload/platform/plugins/estate-business/skills/business-growth/references/listing-management-system.md +0 -11
  262. package/payload/platform/plugins/estate-business/skills/business-growth/references/net-figure-form.md +0 -11
  263. package/payload/platform/plugins/estate-business/skills/business-growth/references/serhant-bizinbox-notes.md +0 -13
  264. package/payload/platform/plugins/estate-business/skills/business-growth/references/team-roles-commission.md +0 -14
  265. package/payload/platform/plugins/estate-business/skills/business-growth/references/va-2026-ops.md +0 -43
  266. package/payload/platform/plugins/estate-business/skills/business-growth/references/wingman-structure.md +0 -13
  267. package/payload/platform/plugins/estate-business/skills/business-operations/SKILL.md +0 -32
  268. package/payload/platform/plugins/estate-business/skills/business-operations/references/crm-systems.md +0 -57
  269. package/payload/platform/plugins/estate-business/skills/business-operations/references/hiring-guide.md +0 -59
  270. package/payload/platform/plugins/estate-business/skills/business-operations/references/impact-framework.md +0 -47
  271. package/payload/platform/plugins/estate-business/skills/business-operations/references/minutes-equal-money.md +0 -55
  272. package/payload/platform/plugins/estate-business/skills/business-operations/references/team-management.md +0 -48
  273. package/payload/platform/plugins/estate-business/skills/commission-calculator/SKILL.md +0 -40
  274. package/payload/platform/plugins/estate-business/skills/exp-partnership/SKILL.md +0 -52
  275. package/payload/platform/plugins/estate-business/skills/exp-partnership/references/12-reasons.md +0 -39
  276. package/payload/platform/plugins/estate-business/skills/exp-partnership/references/95-5-system.md +0 -66
  277. package/payload/platform/plugins/estate-business/skills/exp-partnership/references/agent-attraction-scripts.md +0 -90
  278. package/payload/platform/plugins/estate-business/skills/exp-partnership/references/business-partnership.md +0 -92
  279. package/payload/platform/plugins/estate-business/skills/exp-partnership/references/exp-model-overview.md +0 -66
  280. package/payload/platform/plugins/estate-business/skills/exp-partnership/references/model-comparison.md +0 -66
  281. package/payload/platform/plugins/estate-business/skills/exp-partnership/references/revenue-share-explained.md +0 -57
  282. package/payload/platform/plugins/estate-business/skills/month-end-close/SKILL.md +0 -69
  283. package/payload/platform/plugins/estate-business/skills/payment-batch-stager/SKILL.md +0 -42
  284. package/payload/platform/plugins/estate-business/skills/period-reconciler/SKILL.md +0 -42
  285. package/payload/platform/plugins/estate-business/skills/personal-branding/SKILL.md +0 -117
  286. package/payload/platform/plugins/estate-business/skills/personal-branding/references/attraction-agent-notes.md +0 -31
  287. package/payload/platform/plugins/estate-business/skills/personal-branding/references/attraction-agent.md +0 -58
  288. package/payload/platform/plugins/estate-business/skills/personal-branding/references/authenticity-boundaries.md +0 -28
  289. package/payload/platform/plugins/estate-business/skills/personal-branding/references/become-a-brand-leader-notes.md +0 -19
  290. package/payload/platform/plugins/estate-business/skills/personal-branding/references/blast-formula.md +0 -42
  291. package/payload/platform/plugins/estate-business/skills/personal-branding/references/brand-leader.md +0 -48
  292. package/payload/platform/plugins/estate-business/skills/personal-branding/references/brand-strategy-system.md +0 -59
  293. package/payload/platform/plugins/estate-business/skills/personal-branding/references/content-engine.md +0 -49
  294. package/payload/platform/plugins/estate-business/skills/personal-branding/references/firewave-blast-and-blogging.md +0 -23
  295. package/payload/platform/plugins/estate-business/skills/personal-branding/references/gary-v-content.md +0 -52
  296. package/payload/platform/plugins/estate-business/skills/personal-branding/references/gary-v-principles.md +0 -20
  297. package/payload/platform/plugins/estate-business/skills/personal-branding/references/oversubscribed-positioning.md +0 -18
  298. package/payload/platform/plugins/estate-business/skills/personal-branding/references/platforms.md +0 -41
  299. package/payload/platform/plugins/estate-business/skills/personal-branding/references/priestley-oversubscribed.md +0 -54
  300. package/payload/platform/plugins/estate-business/skills/personal-branding/references/storeys-style-examples.md +0 -25
  301. package/payload/platform/plugins/estate-business/skills/personal-branding/references/visual-identity.md +0 -27
  302. package/payload/platform/plugins/estate-coaching/.claude-plugin/plugin.json +0 -8
  303. package/payload/platform/plugins/estate-coaching/PLUGIN.md +0 -54
  304. package/payload/platform/plugins/estate-coaching/skills/agent-performance/SKILL.md +0 -371
  305. package/payload/platform/plugins/estate-coaching/skills/agent-performance/references/atomic-habits.md +0 -52
  306. package/payload/platform/plugins/estate-coaching/skills/agent-performance/references/daily-routine-scorecard.md +0 -104
  307. package/payload/platform/plugins/estate-coaching/skills/agent-performance/references/hp6-model.md +0 -63
  308. package/payload/platform/plugins/estate-coaching/skills/agent-performance/references/twelve-week-year.md +0 -71
  309. package/payload/platform/plugins/estate-coaching/skills/bespoke-coaching/SKILL.md +0 -36
  310. package/payload/platform/plugins/estate-coaching/skills/bespoke-coaching/references/coaching-boundaries.md +0 -56
  311. package/payload/platform/plugins/estate-coaching/skills/bespoke-coaching/references/feedback-framework.md +0 -61
  312. package/payload/platform/plugins/estate-coaching/skills/bespoke-coaching/references/performance-framework.md +0 -109
  313. package/payload/platform/plugins/estate-coaching/skills/coaching-toolkit/SKILL.md +0 -421
  314. package/payload/platform/plugins/estate-coaching/skills/coaching-toolkit/references/coaching-exercises.md +0 -86
  315. package/payload/platform/plugins/estate-coaching/skills/coaching-toolkit/references/goal-setting.md +0 -78
  316. package/payload/platform/plugins/estate-coaching/skills/coaching-toolkit/references/one-to-one-framework.md +0 -92
  317. package/payload/platform/plugins/estate-coaching/skills/coaching-toolkit/references/soi-workbook.md +0 -103
  318. package/payload/platform/plugins/estate-coaching/skills/serhant-training/SKILL.md +0 -410
  319. package/payload/platform/plugins/estate-coaching/skills/serhant-training/references/agent-training-guide.md +0 -70
  320. package/payload/platform/plugins/estate-coaching/skills/serhant-training/references/business-in-a-box.md +0 -72
  321. package/payload/platform/plugins/estate-coaching/skills/serhant-training/references/buyers-guide.md +0 -53
  322. package/payload/platform/plugins/estate-coaching/skills/serhant-training/references/codo-method.md +0 -72
  323. package/payload/platform/plugins/estate-coaching/skills/serhant-training/references/website-planning-guide.md +0 -79
  324. package/payload/platform/plugins/estate-sales/.claude-plugin/plugin.json +0 -8
  325. package/payload/platform/plugins/estate-sales/PLUGIN.md +0 -52
  326. package/payload/platform/plugins/estate-sales/skills/chase-progression/SKILL.md +0 -107
  327. package/payload/platform/plugins/estate-sales/skills/negotiation/SKILL.md +0 -35
  328. package/payload/platform/plugins/estate-sales/skills/negotiation/references/deal-saving.md +0 -47
  329. package/payload/platform/plugins/estate-sales/skills/negotiation/references/negotiation-deep-guide.md +0 -64
  330. package/payload/platform/plugins/estate-sales/skills/negotiation/references/negotiation-prep-principles.md +0 -29
  331. package/payload/platform/plugins/estate-sales/skills/negotiation/references/negotiation-techniques.md +0 -42
  332. package/payload/platform/plugins/estate-sales/skills/negotiation/references/offer-presentation.md +0 -43
  333. package/payload/platform/plugins/estate-sales/skills/risk-scorer/SKILL.md +0 -42
  334. package/payload/platform/plugins/estate-sales/skills/sales-closer/SKILL.md +0 -24
  335. package/payload/platform/plugins/estate-sales/skills/sales-closer/references/serhant-emotion-stages.md +0 -36
  336. package/payload/platform/plugins/estate-sales/skills/sales-discovery/SKILL.md +0 -30
  337. package/payload/platform/plugins/estate-sales/skills/sales-discovery/references/chris-voss-discovery.md +0 -88
  338. package/payload/platform/plugins/estate-sales/skills/sales-discovery/references/firewave-gost-journey.md +0 -68
  339. package/payload/platform/plugins/estate-sales/skills/sales-discovery/references/phil-jones-openers.md +0 -78
  340. package/payload/platform/plugins/estate-sales/skills/sales-discovery/references/pre-listing-checklist.md +0 -77
  341. package/payload/platform/plugins/estate-sales/skills/sales-discovery/references/serhant-improv.md +0 -22
  342. package/payload/platform/plugins/estate-sales/skills/sales-discovery/references/tom-ferry-discovery.md +0 -103
  343. package/payload/platform/plugins/estate-sales/skills/sales-discovery/references/vendor-motivation-competitor.md +0 -52
  344. package/payload/platform/plugins/estate-sales/skills/sales-negotiation/SKILL.md +0 -29
  345. package/payload/platform/plugins/estate-sales/skills/sales-negotiation/references/chris-voss-negotiation.md +0 -70
  346. package/payload/platform/plugins/estate-sales/skills/sales-negotiation/references/phil-jones-price-words.md +0 -40
  347. package/payload/platform/plugins/estate-sales/skills/sales-negotiation/references/serhant-negotiation-plus.md +0 -55
  348. package/payload/platform/plugins/estate-sales/skills/sales-negotiation/references/tom-panos-commission-pricing.md +0 -57
  349. package/payload/platform/plugins/estate-sales/skills/sales-negotiation/references/tony-morris-questioning.md +0 -54
  350. package/payload/platform/plugins/estate-sales/skills/sales-progression/SKILL.md +0 -27
  351. package/payload/platform/plugins/estate-sales/skills/sales-progression/references/conveyancing-guide.md +0 -54
  352. package/payload/platform/plugins/estate-sales/skills/sales-progression/references/transaction-tracking.md +0 -66
  353. package/payload/platform/plugins/estate-teaching/.claude-plugin/plugin.json +0 -8
  354. package/payload/platform/plugins/estate-teaching/PLUGIN.md +0 -30
  355. package/payload/platform/plugins/estate-teaching/skills/content-directory/SKILL.md +0 -39
  356. package/payload/platform/plugins/estate-teaching/skills/content-directory/references/module-delivery.md +0 -65
  357. package/payload/platform/plugins/estate-teaching/skills/content-directory/references/progress-tracking.md +0 -47
  358. package/payload/platform/plugins/leads/.claude-plugin/plugin.json +0 -8
  359. package/payload/platform/plugins/leads/PLUGIN.md +0 -61
  360. package/payload/platform/plugins/leads/skills/chain-progression-tracker/SKILL.md +0 -51
  361. package/payload/platform/plugins/leads/skills/diary-builder/SKILL.md +0 -38
  362. package/payload/platform/plugins/leads/skills/enquiry-triage/SKILL.md +0 -36
  363. package/payload/platform/plugins/leads/skills/lead-nurturing/SKILL.md +0 -137
  364. package/payload/platform/plugins/leads/skills/lead-nurturing/references/buyer-search-letter.md +0 -28
  365. package/payload/platform/plugins/leads/skills/lead-nurturing/references/buyer-search-letters.md +0 -37
  366. package/payload/platform/plugins/leads/skills/lead-nurturing/references/database-reactivation.md +0 -30
  367. package/payload/platform/plugins/leads/skills/lead-nurturing/references/email-nurture-sequences.md +0 -45
  368. package/payload/platform/plugins/leads/skills/lead-nurturing/references/facebook-referrals.md +0 -30
  369. package/payload/platform/plugins/leads/skills/lead-nurturing/references/firewave-email-nurture-sequences.md +0 -41
  370. package/payload/platform/plugins/leads/skills/lead-nurturing/references/keller-33-touch.md +0 -34
  371. package/payload/platform/plugins/leads/skills/lead-nurturing/references/neighbour-letters.md +0 -31
  372. package/payload/platform/plugins/leads/skills/lead-nurturing/references/neighbour-notification-letter.md +0 -20
  373. package/payload/platform/plugins/leads/skills/lead-nurturing/references/ofi-follow-up-dialogue.md +0 -22
  374. package/payload/platform/plugins/leads/skills/lead-nurturing/references/ofi-follow-up.md +0 -26
  375. package/payload/platform/plugins/leads/skills/lead-nurturing/references/serhant-three-fs-plus.md +0 -21
  376. package/payload/platform/plugins/leads/skills/lead-nurturing/references/sharran-10x10x10.md +0 -18
  377. package/payload/platform/plugins/leads/skills/lead-nurturing/references/sms-templates.md +0 -40
  378. package/payload/platform/plugins/leads/skills/lead-nurturing/references/sphere-of-influence-notes.md +0 -34
  379. package/payload/platform/plugins/leads/skills/lead-nurturing/references/sphere-of-influence.md +0 -60
  380. package/payload/platform/plugins/leads/skills/lead-nurturing/references/tom-panos-sms-templates.md +0 -59
  381. package/payload/platform/plugins/leads/skills/morning-round/SKILL.md +0 -72
  382. package/payload/platform/plugins/leads/skills/prospecting/SKILL.md +0 -33
  383. package/payload/platform/plugins/leads/skills/prospecting/references/database-matching.md +0 -30
  384. package/payload/platform/plugins/leads/skills/prospecting/references/database-value.md +0 -53
  385. package/payload/platform/plugins/leads/skills/prospecting/references/prospecting-dialogues.md +0 -24
  386. package/payload/platform/plugins/leads/skills/prospecting/references/reactivation.md +0 -34
  387. package/payload/platform/plugins/listings/.claude-plugin/plugin.json +0 -8
  388. package/payload/platform/plugins/listings/PLUGIN.md +0 -102
  389. package/payload/platform/plugins/listings/skills/comparable-finder/SKILL.md +0 -52
  390. package/payload/platform/plugins/listings/skills/epc-checker/SKILL.md +0 -38
  391. package/payload/platform/plugins/listings/skills/home-preparation/SKILL.md +0 -28
  392. package/payload/platform/plugins/listings/skills/home-preparation/references/kerb-appeal.md +0 -38
  393. package/payload/platform/plugins/listings/skills/home-preparation/references/photo-day.md +0 -59
  394. package/payload/platform/plugins/listings/skills/home-preparation/references/situational-tips.md +0 -50
  395. package/payload/platform/plugins/listings/skills/home-preparation/references/staging-guide.md +0 -52
  396. package/payload/platform/plugins/listings/skills/listing-copy-writer/SKILL.md +0 -55
  397. package/payload/platform/plugins/listings/skills/listing-presentation/SKILL.md +0 -286
  398. package/payload/platform/plugins/listings/skills/listing-presentation/references/booking-script.md +0 -51
  399. package/payload/platform/plugins/listings/skills/listing-presentation/references/objection-scripts.md +0 -193
  400. package/payload/platform/plugins/listings/skills/listing-presentation/references/penhaul-presentation.md +0 -123
  401. package/payload/platform/plugins/listings/skills/listing-presentation/references/pre-listing-kit.md +0 -139
  402. package/payload/platform/plugins/listings/skills/listing-presentation/references/set-to-sell.md +0 -55
  403. package/payload/platform/plugins/listings/skills/listing-presentation/references/sharran-frameworks.md +0 -107
  404. package/payload/platform/plugins/listings/skills/local-market-stats/SKILL.md +0 -33
  405. package/payload/platform/plugins/listings/skills/new-instruction/SKILL.md +0 -78
  406. package/payload/platform/plugins/listings/skills/particulars-builder/SKILL.md +0 -48
  407. package/payload/platform/plugins/listings/skills/portal-launch-scheduler/SKILL.md +0 -49
  408. package/payload/platform/plugins/listings/skills/pricing-scenario-builder/SKILL.md +0 -35
  409. package/payload/platform/plugins/listings/skills/property-marketing/SKILL.md +0 -337
  410. package/payload/platform/plugins/listings/skills/property-marketing/references/auction-report-template.md +0 -41
  411. package/payload/platform/plugins/listings/skills/property-marketing/references/coming-soon-campaign.md +0 -43
  412. package/payload/platform/plugins/listings/skills/property-marketing/references/direct-mail-templates.md +0 -121
  413. package/payload/platform/plugins/listings/skills/property-marketing/references/eoi-form-template.md +0 -62
  414. package/payload/platform/plugins/listings/skills/property-marketing/references/monthly-scorecard.md +0 -63
  415. package/payload/platform/plugins/listings/skills/supplier-booker/SKILL.md +0 -39
  416. package/payload/platform/plugins/listings/skills/talk-track-composer/SKILL.md +0 -36
  417. package/payload/platform/plugins/listings/skills/terms-of-business-drafter/SKILL.md +0 -54
  418. package/payload/platform/plugins/listings/skills/valuation-prep/SKILL.md +0 -69
  419. package/payload/platform/plugins/loop/.claude-plugin/plugin.json +0 -17
  420. package/payload/platform/plugins/loop/PLUGIN.md +0 -233
  421. package/payload/platform/plugins/loop/mcp/dist/index.d.ts +0 -2
  422. package/payload/platform/plugins/loop/mcp/dist/index.d.ts.map +0 -1
  423. package/payload/platform/plugins/loop/mcp/dist/index.js +0 -320
  424. package/payload/platform/plugins/loop/mcp/dist/index.js.map +0 -1
  425. package/payload/platform/plugins/loop/mcp/dist/lib/crypto.d.ts +0 -10
  426. package/payload/platform/plugins/loop/mcp/dist/lib/crypto.d.ts.map +0 -1
  427. package/payload/platform/plugins/loop/mcp/dist/lib/crypto.js +0 -88
  428. package/payload/platform/plugins/loop/mcp/dist/lib/crypto.js.map +0 -1
  429. package/payload/platform/plugins/loop/mcp/dist/lib/file-crypto.d.ts +0 -3
  430. package/payload/platform/plugins/loop/mcp/dist/lib/file-crypto.d.ts.map +0 -1
  431. package/payload/platform/plugins/loop/mcp/dist/lib/file-crypto.js +0 -48
  432. package/payload/platform/plugins/loop/mcp/dist/lib/file-crypto.js.map +0 -1
  433. package/payload/platform/plugins/loop/mcp/dist/lib/key-store.d.ts +0 -22
  434. package/payload/platform/plugins/loop/mcp/dist/lib/key-store.d.ts.map +0 -1
  435. package/payload/platform/plugins/loop/mcp/dist/lib/key-store.js +0 -165
  436. package/payload/platform/plugins/loop/mcp/dist/lib/key-store.js.map +0 -1
  437. package/payload/platform/plugins/loop/mcp/dist/lib/loop-api.d.ts +0 -82
  438. package/payload/platform/plugins/loop/mcp/dist/lib/loop-api.d.ts.map +0 -1
  439. package/payload/platform/plugins/loop/mcp/dist/lib/loop-api.js +0 -392
  440. package/payload/platform/plugins/loop/mcp/dist/lib/loop-api.js.map +0 -1
  441. package/payload/platform/plugins/loop/mcp/dist/lib/neo4j.d.ts +0 -5
  442. package/payload/platform/plugins/loop/mcp/dist/lib/neo4j.d.ts.map +0 -1
  443. package/payload/platform/plugins/loop/mcp/dist/lib/neo4j.js +0 -40
  444. package/payload/platform/plugins/loop/mcp/dist/lib/neo4j.js.map +0 -1
  445. package/payload/platform/plugins/loop/mcp/dist/tools/auto-responder.d.ts +0 -12
  446. package/payload/platform/plugins/loop/mcp/dist/tools/auto-responder.d.ts.map +0 -1
  447. package/payload/platform/plugins/loop/mcp/dist/tools/auto-responder.js +0 -22
  448. package/payload/platform/plugins/loop/mcp/dist/tools/auto-responder.js.map +0 -1
  449. package/payload/platform/plugins/loop/mcp/dist/tools/customer-preferences.d.ts +0 -10
  450. package/payload/platform/plugins/loop/mcp/dist/tools/customer-preferences.d.ts.map +0 -1
  451. package/payload/platform/plugins/loop/mcp/dist/tools/customer-preferences.js +0 -24
  452. package/payload/platform/plugins/loop/mcp/dist/tools/customer-preferences.js.map +0 -1
  453. package/payload/platform/plugins/loop/mcp/dist/tools/feedback.d.ts +0 -16
  454. package/payload/platform/plugins/loop/mcp/dist/tools/feedback.d.ts.map +0 -1
  455. package/payload/platform/plugins/loop/mcp/dist/tools/feedback.js +0 -35
  456. package/payload/platform/plugins/loop/mcp/dist/tools/feedback.js.map +0 -1
  457. package/payload/platform/plugins/loop/mcp/dist/tools/key-deregister.d.ts +0 -5
  458. package/payload/platform/plugins/loop/mcp/dist/tools/key-deregister.d.ts.map +0 -1
  459. package/payload/platform/plugins/loop/mcp/dist/tools/key-deregister.js +0 -9
  460. package/payload/platform/plugins/loop/mcp/dist/tools/key-deregister.js.map +0 -1
  461. package/payload/platform/plugins/loop/mcp/dist/tools/key-list.d.ts +0 -4
  462. package/payload/platform/plugins/loop/mcp/dist/tools/key-list.d.ts.map +0 -1
  463. package/payload/platform/plugins/loop/mcp/dist/tools/key-list.js +0 -14
  464. package/payload/platform/plugins/loop/mcp/dist/tools/key-list.js.map +0 -1
  465. package/payload/platform/plugins/loop/mcp/dist/tools/key-register.d.ts +0 -9
  466. package/payload/platform/plugins/loop/mcp/dist/tools/key-register.d.ts.map +0 -1
  467. package/payload/platform/plugins/loop/mcp/dist/tools/key-register.js +0 -43
  468. package/payload/platform/plugins/loop/mcp/dist/tools/key-register.js.map +0 -1
  469. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts +0 -6
  470. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts.map +0 -1
  471. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-enquiry.js +0 -7
  472. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-enquiry.js.map +0 -1
  473. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts +0 -9
  474. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts.map +0 -1
  475. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match-batch.js +0 -16
  476. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match-batch.js.map +0 -1
  477. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts +0 -15
  478. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts.map +0 -1
  479. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match-request.js +0 -11
  480. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match-request.js.map +0 -1
  481. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match.d.ts +0 -10
  482. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match.d.ts.map +0 -1
  483. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match.js +0 -39
  484. package/payload/platform/plugins/loop/mcp/dist/tools/marketing-match.js.map +0 -1
  485. package/payload/platform/plugins/loop/mcp/dist/tools/people-detail.d.ts +0 -9
  486. package/payload/platform/plugins/loop/mcp/dist/tools/people-detail.d.ts.map +0 -1
  487. package/payload/platform/plugins/loop/mcp/dist/tools/people-detail.js +0 -125
  488. package/payload/platform/plugins/loop/mcp/dist/tools/people-detail.js.map +0 -1
  489. package/payload/platform/plugins/loop/mcp/dist/tools/people-search.d.ts +0 -18
  490. package/payload/platform/plugins/loop/mcp/dist/tools/people-search.d.ts.map +0 -1
  491. package/payload/platform/plugins/loop/mcp/dist/tools/people-search.js +0 -87
  492. package/payload/platform/plugins/loop/mcp/dist/tools/people-search.js.map +0 -1
  493. package/payload/platform/plugins/loop/mcp/dist/tools/property-detail.d.ts +0 -10
  494. package/payload/platform/plugins/loop/mcp/dist/tools/property-detail.d.ts.map +0 -1
  495. package/payload/platform/plugins/loop/mcp/dist/tools/property-detail.js +0 -82
  496. package/payload/platform/plugins/loop/mcp/dist/tools/property-detail.js.map +0 -1
  497. package/payload/platform/plugins/loop/mcp/dist/tools/property-intent.d.ts +0 -33
  498. package/payload/platform/plugins/loop/mcp/dist/tools/property-intent.d.ts.map +0 -1
  499. package/payload/platform/plugins/loop/mcp/dist/tools/property-intent.js +0 -19
  500. package/payload/platform/plugins/loop/mcp/dist/tools/property-intent.js.map +0 -1
  501. package/payload/platform/plugins/loop/mcp/dist/tools/property-listed.d.ts +0 -11
  502. package/payload/platform/plugins/loop/mcp/dist/tools/property-listed.d.ts.map +0 -1
  503. package/payload/platform/plugins/loop/mcp/dist/tools/property-listed.js +0 -26
  504. package/payload/platform/plugins/loop/mcp/dist/tools/property-listed.js.map +0 -1
  505. package/payload/platform/plugins/loop/mcp/dist/tools/property-request.d.ts +0 -15
  506. package/payload/platform/plugins/loop/mcp/dist/tools/property-request.d.ts.map +0 -1
  507. package/payload/platform/plugins/loop/mcp/dist/tools/property-request.js +0 -11
  508. package/payload/platform/plugins/loop/mcp/dist/tools/property-request.js.map +0 -1
  509. package/payload/platform/plugins/loop/mcp/dist/tools/property-search.d.ts +0 -16
  510. package/payload/platform/plugins/loop/mcp/dist/tools/property-search.d.ts.map +0 -1
  511. package/payload/platform/plugins/loop/mcp/dist/tools/property-search.js +0 -41
  512. package/payload/platform/plugins/loop/mcp/dist/tools/property-search.js.map +0 -1
  513. package/payload/platform/plugins/loop/mcp/dist/tools/property-sold.d.ts +0 -9
  514. package/payload/platform/plugins/loop/mcp/dist/tools/property-sold.d.ts.map +0 -1
  515. package/payload/platform/plugins/loop/mcp/dist/tools/property-sold.js +0 -19
  516. package/payload/platform/plugins/loop/mcp/dist/tools/property-sold.js.map +0 -1
  517. package/payload/platform/plugins/loop/mcp/dist/tools/supplier.d.ts +0 -13
  518. package/payload/platform/plugins/loop/mcp/dist/tools/supplier.d.ts.map +0 -1
  519. package/payload/platform/plugins/loop/mcp/dist/tools/supplier.js +0 -49
  520. package/payload/platform/plugins/loop/mcp/dist/tools/supplier.js.map +0 -1
  521. package/payload/platform/plugins/loop/mcp/dist/tools/team-availability.d.ts +0 -7
  522. package/payload/platform/plugins/loop/mcp/dist/tools/team-availability.d.ts.map +0 -1
  523. package/payload/platform/plugins/loop/mcp/dist/tools/team-availability.js +0 -19
  524. package/payload/platform/plugins/loop/mcp/dist/tools/team-availability.js.map +0 -1
  525. package/payload/platform/plugins/loop/mcp/dist/tools/team-info.d.ts +0 -5
  526. package/payload/platform/plugins/loop/mcp/dist/tools/team-info.d.ts.map +0 -1
  527. package/payload/platform/plugins/loop/mcp/dist/tools/team-info.js +0 -32
  528. package/payload/platform/plugins/loop/mcp/dist/tools/team-info.js.map +0 -1
  529. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-create.d.ts +0 -14
  530. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-create.d.ts.map +0 -1
  531. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-create.js +0 -11
  532. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-create.js.map +0 -1
  533. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-detail.d.ts +0 -9
  534. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-detail.d.ts.map +0 -1
  535. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-detail.js +0 -85
  536. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-detail.js.map +0 -1
  537. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-search.d.ts +0 -13
  538. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-search.d.ts.map +0 -1
  539. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-search.js +0 -44
  540. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-search.js.map +0 -1
  541. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-update.d.ts +0 -14
  542. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-update.d.ts.map +0 -1
  543. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-update.js +0 -18
  544. package/payload/platform/plugins/loop/mcp/dist/tools/viewing-update.js.map +0 -1
  545. package/payload/platform/plugins/loop/mcp/package-lock.json +0 -2549
  546. package/payload/platform/plugins/loop/mcp/package.json +0 -21
  547. package/payload/platform/plugins/loop/mcp/src/__tests__/loop-swagger.snapshot.json +0 -26467
  548. package/payload/platform/plugins/loop/mcp/src/__tests__/new-tool-shape.test.ts +0 -99
  549. package/payload/platform/plugins/loop/mcp/src/__tests__/plugin-md-time-doctrine.test.ts +0 -132
  550. package/payload/platform/plugins/loop/mcp/src/__tests__/swagger-write-coverage.test.ts +0 -154
  551. package/payload/platform/plugins/loop/mcp/src/index.ts +0 -498
  552. package/payload/platform/plugins/loop/mcp/src/lib/crypto.ts +0 -105
  553. package/payload/platform/plugins/loop/mcp/src/lib/file-crypto.ts +0 -54
  554. package/payload/platform/plugins/loop/mcp/src/lib/key-store.ts +0 -221
  555. package/payload/platform/plugins/loop/mcp/src/lib/loop-api.ts +0 -567
  556. package/payload/platform/plugins/loop/mcp/src/lib/neo4j.ts +0 -51
  557. package/payload/platform/plugins/loop/mcp/src/tools/auto-responder.ts +0 -80
  558. package/payload/platform/plugins/loop/mcp/src/tools/customer-preferences.ts +0 -66
  559. package/payload/platform/plugins/loop/mcp/src/tools/feedback.ts +0 -86
  560. package/payload/platform/plugins/loop/mcp/src/tools/key-deregister.ts +0 -12
  561. package/payload/platform/plugins/loop/mcp/src/tools/key-list.ts +0 -19
  562. package/payload/platform/plugins/loop/mcp/src/tools/key-register.ts +0 -70
  563. package/payload/platform/plugins/loop/mcp/src/tools/marketing-enquiry.ts +0 -27
  564. package/payload/platform/plugins/loop/mcp/src/tools/marketing-match-batch.ts +0 -53
  565. package/payload/platform/plugins/loop/mcp/src/tools/marketing-match-request.ts +0 -42
  566. package/payload/platform/plugins/loop/mcp/src/tools/marketing-match.ts +0 -84
  567. package/payload/platform/plugins/loop/mcp/src/tools/people-detail.ts +0 -245
  568. package/payload/platform/plugins/loop/mcp/src/tools/people-search.ts +0 -180
  569. package/payload/platform/plugins/loop/mcp/src/tools/property-detail.ts +0 -145
  570. package/payload/platform/plugins/loop/mcp/src/tools/property-intent.ts +0 -84
  571. package/payload/platform/plugins/loop/mcp/src/tools/property-listed.ts +0 -81
  572. package/payload/platform/plugins/loop/mcp/src/tools/property-search.ts +0 -92
  573. package/payload/platform/plugins/loop/mcp/src/tools/property-sold.ts +0 -67
  574. package/payload/platform/plugins/loop/mcp/src/tools/supplier.ts +0 -129
  575. package/payload/platform/plugins/loop/mcp/src/tools/team-availability.ts +0 -52
  576. package/payload/platform/plugins/loop/mcp/src/tools/team-info.ts +0 -95
  577. package/payload/platform/plugins/loop/mcp/src/tools/viewing-create.ts +0 -41
  578. package/payload/platform/plugins/loop/mcp/src/tools/viewing-detail.ts +0 -171
  579. package/payload/platform/plugins/loop/mcp/src/tools/viewing-search.ts +0 -92
  580. package/payload/platform/plugins/loop/mcp/src/tools/viewing-update.ts +0 -53
  581. package/payload/platform/plugins/loop/mcp/tsconfig.json +0 -20
  582. package/payload/platform/plugins/loop/mcp/vitest.config.ts +0 -9
  583. package/payload/platform/plugins/loop/skills/compliance-flag-checker/SKILL.md +0 -53
  584. package/payload/platform/plugins/loop/skills/priority-ranker/SKILL.md +0 -40
  585. package/payload/platform/plugins/loop/skills/tone-matched-drafter/SKILL.md +0 -53
  586. package/payload/platform/plugins/loop/skills/variance-narrator/SKILL.md +0 -50
  587. package/payload/platform/plugins/loop/skills/vendor-research/SKILL.md +0 -54
  588. package/payload/platform/plugins/preval/.claude-plugin/plugin.json +0 -8
  589. package/payload/platform/plugins/preval/PLUGIN.md +0 -47
  590. package/payload/platform/plugins/preval/skills/property-preval/SKILL.md +0 -146
  591. package/payload/platform/plugins/preval/skills/property-preval/references/render.py +0 -630
  592. package/payload/platform/plugins/preval/skills/property-preval/references/template-inputs.schema.json +0 -189
  593. package/payload/platform/plugins/preval/skills/property-preval/references/template.html +0 -312
  594. package/payload/platform/plugins/property-data/.claude-plugin/plugin.json +0 -17
  595. package/payload/platform/plugins/property-data/PLUGIN.md +0 -158
  596. package/payload/platform/plugins/property-data/mcp/dist/index.d.ts +0 -2
  597. package/payload/platform/plugins/property-data/mcp/dist/index.d.ts.map +0 -1
  598. package/payload/platform/plugins/property-data/mcp/dist/index.js +0 -236
  599. package/payload/platform/plugins/property-data/mcp/dist/index.js.map +0 -1
  600. package/payload/platform/plugins/property-data/mcp/dist/lib/crypto.d.ts +0 -3
  601. package/payload/platform/plugins/property-data/mcp/dist/lib/crypto.d.ts.map +0 -1
  602. package/payload/platform/plugins/property-data/mcp/dist/lib/crypto.js +0 -72
  603. package/payload/platform/plugins/property-data/mcp/dist/lib/crypto.js.map +0 -1
  604. package/payload/platform/plugins/property-data/mcp/dist/lib/file-crypto.d.ts +0 -3
  605. package/payload/platform/plugins/property-data/mcp/dist/lib/file-crypto.d.ts.map +0 -1
  606. package/payload/platform/plugins/property-data/mcp/dist/lib/file-crypto.js +0 -49
  607. package/payload/platform/plugins/property-data/mcp/dist/lib/file-crypto.js.map +0 -1
  608. package/payload/platform/plugins/property-data/mcp/dist/lib/key-store.d.ts +0 -15
  609. package/payload/platform/plugins/property-data/mcp/dist/lib/key-store.d.ts.map +0 -1
  610. package/payload/platform/plugins/property-data/mcp/dist/lib/key-store.js +0 -135
  611. package/payload/platform/plugins/property-data/mcp/dist/lib/key-store.js.map +0 -1
  612. package/payload/platform/plugins/property-data/mcp/dist/lib/neo4j.d.ts +0 -5
  613. package/payload/platform/plugins/property-data/mcp/dist/lib/neo4j.d.ts.map +0 -1
  614. package/payload/platform/plugins/property-data/mcp/dist/lib/neo4j.js +0 -38
  615. package/payload/platform/plugins/property-data/mcp/dist/lib/neo4j.js.map +0 -1
  616. package/payload/platform/plugins/property-data/mcp/dist/lib/propertydata-api.d.ts +0 -28
  617. package/payload/platform/plugins/property-data/mcp/dist/lib/propertydata-api.d.ts.map +0 -1
  618. package/payload/platform/plugins/property-data/mcp/dist/lib/propertydata-api.js +0 -101
  619. package/payload/platform/plugins/property-data/mcp/dist/lib/propertydata-api.js.map +0 -1
  620. package/payload/platform/plugins/property-data/mcp/dist/tools/endpoints.d.ts +0 -24
  621. package/payload/platform/plugins/property-data/mcp/dist/tools/endpoints.d.ts.map +0 -1
  622. package/payload/platform/plugins/property-data/mcp/dist/tools/endpoints.js +0 -33
  623. package/payload/platform/plugins/property-data/mcp/dist/tools/endpoints.js.map +0 -1
  624. package/payload/platform/plugins/property-data/mcp/dist/tools/key-deregister.d.ts +0 -4
  625. package/payload/platform/plugins/property-data/mcp/dist/tools/key-deregister.d.ts.map +0 -1
  626. package/payload/platform/plugins/property-data/mcp/dist/tools/key-deregister.js +0 -9
  627. package/payload/platform/plugins/property-data/mcp/dist/tools/key-deregister.js.map +0 -1
  628. package/payload/platform/plugins/property-data/mcp/dist/tools/key-list.d.ts +0 -4
  629. package/payload/platform/plugins/property-data/mcp/dist/tools/key-list.d.ts.map +0 -1
  630. package/payload/platform/plugins/property-data/mcp/dist/tools/key-list.js +0 -10
  631. package/payload/platform/plugins/property-data/mcp/dist/tools/key-list.js.map +0 -1
  632. package/payload/platform/plugins/property-data/mcp/dist/tools/key-register.d.ts +0 -5
  633. package/payload/platform/plugins/property-data/mcp/dist/tools/key-register.d.ts.map +0 -1
  634. package/payload/platform/plugins/property-data/mcp/dist/tools/key-register.js +0 -50
  635. package/payload/platform/plugins/property-data/mcp/dist/tools/key-register.js.map +0 -1
  636. package/payload/platform/plugins/property-data/mcp/package-lock.json +0 -2566
  637. package/payload/platform/plugins/property-data/mcp/package.json +0 -21
  638. package/payload/platform/plugins/property-data/mcp/src/__tests__/endpoints.test.ts +0 -252
  639. package/payload/platform/plugins/property-data/mcp/src/__tests__/key-roundtrip.test.ts +0 -107
  640. package/payload/platform/plugins/property-data/mcp/src/__tests__/propertydata-api.test.ts +0 -184
  641. package/payload/platform/plugins/property-data/mcp/src/__tests__/schema-parity.test.ts +0 -62
  642. package/payload/platform/plugins/property-data/mcp/src/index.ts +0 -409
  643. package/payload/platform/plugins/property-data/mcp/src/lib/crypto.ts +0 -79
  644. package/payload/platform/plugins/property-data/mcp/src/lib/file-crypto.ts +0 -55
  645. package/payload/platform/plugins/property-data/mcp/src/lib/key-store.ts +0 -181
  646. package/payload/platform/plugins/property-data/mcp/src/lib/neo4j.ts +0 -47
  647. package/payload/platform/plugins/property-data/mcp/src/lib/propertydata-api.ts +0 -120
  648. package/payload/platform/plugins/property-data/mcp/src/tools/endpoints.ts +0 -47
  649. package/payload/platform/plugins/property-data/mcp/src/tools/key-deregister.ts +0 -9
  650. package/payload/platform/plugins/property-data/mcp/src/tools/key-list.ts +0 -10
  651. package/payload/platform/plugins/property-data/mcp/src/tools/key-register.ts +0 -54
  652. package/payload/platform/plugins/property-data/mcp/tsconfig.json +0 -20
  653. package/payload/platform/plugins/property-data/mcp/vitest.config.ts +0 -8
  654. package/payload/platform/plugins/property-data/skills/property-data/SKILL.md +0 -77
  655. package/payload/platform/plugins/vendors/.claude-plugin/plugin.json +0 -8
  656. package/payload/platform/plugins/vendors/PLUGIN.md +0 -33
  657. package/payload/platform/plugins/vendors/skills/vendor-communication/SKILL.md +0 -42
  658. package/payload/platform/plugins/vendors/skills/vendor-communication/references/fee-protection-and-agenda.md +0 -28
  659. package/payload/platform/plugins/vendors/skills/vendor-communication/references/listing-scripts.md +0 -44
  660. package/payload/platform/plugins/vendors/skills/vendor-communication/references/negotiation-deep-guide.md +0 -70
  661. package/payload/platform/plugins/vendors/skills/vendor-communication/references/price-alignment-scripts.md +0 -33
  662. package/payload/platform/plugins/vendors/skills/vendor-communication/references/price-alignment.md +0 -34
  663. package/payload/platform/plugins/vendors/skills/vendor-communication/references/scenario-scripts.md +0 -38
  664. package/payload/platform/plugins/vendors/skills/vendor-communication/references/seller-engagement.md +0 -51
  665. package/payload/platform/plugins/vendors/skills/vendor-communication/references/valuation-booking.md +0 -76
  666. package/payload/platform/plugins/vendors/skills/vendor-communication/references/vendor-scripts.md +0 -63
  667. package/payload/platform/plugins/vendors/skills/vendor-communication/references/vendor-updates.md +0 -41
  668. package/payload/platform/plugins/vendors/skills/vendor-updates/SKILL.md +0 -153
  669. package/payload/premium-plugins/real-agent/plugins/epc/PLUGIN.md +0 -85
  670. package/payload/premium-plugins/real-agent/plugins/epc/mcp/package-lock.json +0 -2566
  671. package/payload/premium-plugins/real-agent/plugins/epc/mcp/package.json +0 -21
  672. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/__tests__/epc-api.test.ts +0 -251
  673. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/__tests__/key-roundtrip.test.ts +0 -113
  674. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/__tests__/lookup.test.ts +0 -181
  675. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/__tests__/schema-parity.test.ts +0 -54
  676. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/index.ts +0 -156
  677. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/lib/crypto.ts +0 -79
  678. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/lib/epc-api.ts +0 -241
  679. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/lib/file-crypto.ts +0 -55
  680. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/lib/key-store.ts +0 -172
  681. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/lib/neo4j.ts +0 -47
  682. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/tools/key-deregister.ts +0 -9
  683. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/tools/key-list.ts +0 -10
  684. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/tools/key-register.ts +0 -44
  685. package/payload/premium-plugins/real-agent/plugins/epc/mcp/src/tools/lookup.ts +0 -43
  686. package/payload/premium-plugins/real-agent/plugins/epc/mcp/tsconfig.json +0 -20
  687. package/payload/premium-plugins/real-agent/plugins/epc/mcp/vitest.config.ts +0 -8
  688. package/payload/premium-plugins/real-agent/plugins/listings/skills/epc-checker/SKILL.md +0 -38
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: real-agent-listings
3
- description: "Valuation prep and new-instruction onboarding for UK residential sales agents. Includes the valuation-prep master plus four building blocks (comparable-finder, local-market-stats, pricing-scenario-builder, talk-track-composer) and the new-instruction master plus its six building blocks (terms-of-business-drafter, epc-checker, supplier-booker, listing-copy-writer, particulars-builder, portal-launch-scheduler). Also retains the existing listing-presentation, property-marketing, and home-preparation skills."
3
+ description: "Valuation prep and new-instruction onboarding for UK residential sales agents. Includes the valuation-prep master plus four building blocks (comparable-finder, local-market-stats, pricing-scenario-builder, talk-track-composer) and the new-instruction master plus its five building blocks (terms-of-business-drafter, supplier-booker, listing-copy-writer, particulars-builder, portal-launch-scheduler). Also retains the existing listing-presentation, property-marketing, and home-preparation skills."
4
4
  tools: []
5
5
  skills:
6
6
  - skills/valuation-prep/SKILL.md
@@ -10,7 +10,6 @@ skills:
10
10
  - skills/talk-track-composer/SKILL.md
11
11
  - skills/new-instruction/SKILL.md
12
12
  - skills/terms-of-business-drafter/SKILL.md
13
- - skills/epc-checker/SKILL.md
14
13
  - skills/supplier-booker/SKILL.md
15
14
  - skills/listing-copy-writer/SKILL.md
16
15
  - skills/particulars-builder/SKILL.md
@@ -80,7 +79,6 @@ The user is preparing for a valuation or market appraisal, has just won an instr
80
79
  | `talk-track-composer` | valuer | Drafts vendor questions, objections, USP |
81
80
  | `new-instruction` | valuer then negotiator | Master workflow: terms to portal in 72 hours |
82
81
  | `terms-of-business-drafter` | compliance | Populates the agency template and stages DocuSign |
83
- | `epc-checker` | valuer | EPC register lookup and order staging |
84
82
  | `supplier-booker` | negotiator | Photographer and floorplan bookings |
85
83
  | `listing-copy-writer` | negotiator | Portal-optimised descriptions, material info |
86
84
  | `particulars-builder` | negotiator (chains into Maxy `content-producer` for PDF render) | Property brochure |
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  name: new-instruction
3
- description: "Run the post-win onboarding sequence after a valuation is won. Drafts terms of business, checks the EPC, books photographer and floorplan supplier, drafts listing copy and PDF particulars, schedules portal launch, and drafts the vendor welcome. Each write action is individually gated. Triggers when the operator says 'set up <address>', 'I won <name>', 'I won the <address> val', 'instruction taken at <address>', 'get <address> on the market', 'kick off the <name> property'. Also offered proactively when the CRM marks a property as instructed."
3
+ description: "Run the post-win onboarding sequence after a valuation is won. Drafts terms of business, books photographer and floorplan supplier, drafts listing copy and PDF particulars, schedules portal launch, and drafts the vendor welcome. Each write action is individually gated. Triggers when the operator says 'set up <address>', 'I won <name>', 'I won the <address> val', 'instruction taken at <address>', 'get <address> on the market', 'kick off the <name> property'. Also offered proactively when the CRM marks a property as instructed."
4
4
  ---
5
5
 
6
6
  # New instruction
7
7
 
8
- The master workflow that takes a property from "instruction won" to "on the portal" inside 72 hours. Owned jointly by the valuer (until terms are signed and the EPC is confirmed) and the negotiator (from photography onward).
8
+ The master workflow that takes a property from "instruction won" to "on the portal" inside 72 hours. Owned jointly by the valuer (until terms are signed) and the negotiator (from photography onward).
9
9
 
10
10
  Done well, this workflow is the second-highest-value moment in the agent's week after winning the instruction itself. The speed compounds: faster on-market means more viewings in the first weekend, which is when offers happen.
11
11
 
@@ -20,7 +20,7 @@ If any input is missing, the workflow asks once and then proceeds with the rest
20
20
 
21
21
  ## Architecture principles encoded here
22
22
 
23
- - Read before write. The workflow opens by reading the property's CRM state, the EPC register, and the calendar. It writes nothing until the operator approves each individual stage.
23
+ - Read before write. The workflow opens by reading the property's CRM state and the calendar. It writes nothing until the operator approves each individual stage.
24
24
  - Stage, don't send. Every write action is staged, not fired. Eight gates in total, each individually approved.
25
25
  - One screen of output. The sequenced checklist is one screen even when every item is staged. Each item collapses to a status line.
26
26
  - Cite the source. Every populated field in the terms of business, the listing copy, and the particulars traces to a CRM record, a profile entry, or a connector read.
@@ -29,16 +29,15 @@ If any input is missing, the workflow asks once and then proceeds with the rest
29
29
 
30
30
  ## Sequence and approval gates
31
31
 
32
- The workflow presents the eight steps in order. The operator can approve them one at a time, approve everything ("ship everything"), or pause and return later. State is preserved between sessions.
32
+ The workflow presents the seven steps in order. The operator can approve them one at a time, approve everything ("ship everything"), or pause and return later. State is preserved between sessions.
33
33
 
34
34
  1. **Terms of business.** Drafted by `terms-of-business-drafter` from the agency template, populated with property, vendor, fee structure, sole or multi agency, marketing period, withdrawal fee. Staged in DocuSign with the vendor as recipient. *Gate: approve before send.*
35
- 2. **EPC check.** `epc-checker` looks up the EPC register. If a current EPC exists, the workflow records the expiry date and moves on, no gate needed. If not, an order is staged with the agent's preferred supplier from the profile. *Gate: approve order before send if no current EPC.*
36
- 3. **Photographer booking.** `supplier-booker` drafts a booking request to the agent's preferred photographer with the property address, vendor contact, and the agent's standard brief. *Gate: approve before send.*
37
- 4. **Floorplan booking.** Same as photography. Combined into a single booking request if the same supplier handles both. *Gate: approve before send.*
38
- 5. **Listing copy.** Drafted by `listing-copy-writer` in the agent's voice, length, and structure from the profile. Headline, key features bullets, full description, location paragraph. Optimised for the profile's portals. *Gate: approve before any portal upload.*
39
- 6. **Particulars.** PDF brochure built by `particulars-builder`. The skill chains into the Maxy `content-producer` for the PDF render so the agency brand is applied consistently. Staged for the agent's review and the vendor's review before any wider distribution. *Gate: approve distribution before send.*
40
- 7. **Portal launch schedule.** `portal-launch-scheduler` proposes the launch sequence (Rightmove premium on a Friday by default; learns). Staged, not fired. *Gate: approve schedule before any portal upload happens.*
41
- 8. **Vendor welcome email.** Drafted by `tone-matched-drafter` explaining what happens next, what to expect, when to expect photos, who will be in touch. *Gate: approve before send.*
35
+ 2. **Photographer booking.** `supplier-booker` drafts a booking request to the agent's preferred photographer with the property address, vendor contact, and the agent's standard brief. *Gate: approve before send.*
36
+ 3. **Floorplan booking.** Same as photography. Combined into a single booking request if the same supplier handles both. *Gate: approve before send.*
37
+ 4. **Listing copy.** Drafted by `listing-copy-writer` in the agent's voice, length, and structure from the profile. Headline, key features bullets, full description, location paragraph. Optimised for the profile's portals. *Gate: approve before any portal upload.*
38
+ 5. **Particulars.** PDF brochure built by `particulars-builder`. The skill chains into the Maxy `content-producer` for the PDF render so the agency brand is applied consistently. Staged for the agent's review and the vendor's review before any wider distribution. *Gate: approve distribution before send.*
39
+ 6. **Portal launch schedule.** `portal-launch-scheduler` proposes the launch sequence (Rightmove premium on a Friday by default; learns). Staged, not fired. *Gate: approve schedule before any portal upload happens.*
40
+ 7. **Vendor welcome email.** Drafted by `tone-matched-drafter` explaining what happens next, what to expect, when to expect photos, who will be in touch. *Gate: approve before send.*
42
41
 
43
42
  ## AML and material information
44
43
 
@@ -58,7 +57,7 @@ All writes go through `profile-writer`.
58
57
 
59
58
  ## Connectors
60
59
 
61
- Read: CRM, EPC register, calendar, profile.
60
+ Read: CRM, calendar, profile.
62
61
  Write: DocuSign (terms), email (vendor welcome, supplier bookings), portal upload APIs (Rightmove, Zoopla, OnTheMarket, staged only).
63
62
 
64
63
  ## Profile keys
@@ -4,58 +4,85 @@ description: "Loop CRM integration — full read/write access to all 8 resource
4
4
  tools:
5
5
  - name: loop-key-register
6
6
  publicAllowlist: false
7
+ adminAllowlist: false
7
8
  - name: loop-key-deregister
8
9
  publicAllowlist: false
10
+ adminAllowlist: false
9
11
  - name: loop-key-list
10
12
  publicAllowlist: false
13
+ adminAllowlist: false
11
14
  - name: loop-people-search
12
15
  publicAllowlist: false
16
+ adminAllowlist: false
13
17
  - name: loop-people-detail
14
18
  publicAllowlist: false
19
+ adminAllowlist: false
15
20
  - name: loop-property-search
16
21
  publicAllowlist: false
22
+ adminAllowlist: false
17
23
  - name: loop-property-detail
18
24
  publicAllowlist: false
25
+ adminAllowlist: false
19
26
  - name: loop-property-listed
20
27
  publicAllowlist: false
28
+ adminAllowlist: false
21
29
  - name: loop-property-sold
22
30
  publicAllowlist: false
31
+ adminAllowlist: false
23
32
  - name: loop-property-viewing
24
33
  publicAllowlist: false
34
+ adminAllowlist: false
25
35
  - name: loop-property-callback
26
36
  publicAllowlist: false
37
+ adminAllowlist: false
27
38
  - name: loop-property-information
28
39
  publicAllowlist: false
40
+ adminAllowlist: false
29
41
  - name: loop-viewing-search
30
42
  publicAllowlist: false
43
+ adminAllowlist: false
31
44
  - name: loop-viewing-detail
32
45
  publicAllowlist: false
46
+ adminAllowlist: false
33
47
  - name: loop-viewing-create
34
48
  publicAllowlist: false
49
+ adminAllowlist: false
35
50
  - name: loop-viewing-update
36
51
  publicAllowlist: false
52
+ adminAllowlist: false
37
53
  - name: loop-feedback-get
38
54
  publicAllowlist: false
55
+ adminAllowlist: false
39
56
  - name: loop-feedback-submit
40
57
  publicAllowlist: false
58
+ adminAllowlist: false
41
59
  - name: loop-team-info
42
60
  publicAllowlist: false
61
+ adminAllowlist: false
43
62
  - name: loop-team-availability
44
63
  publicAllowlist: false
64
+ adminAllowlist: false
45
65
  - name: loop-marketing-match
46
66
  publicAllowlist: false
67
+ adminAllowlist: false
47
68
  - name: loop-marketing-match-batch
48
69
  publicAllowlist: false
70
+ adminAllowlist: false
49
71
  - name: loop-marketing-match-request
50
72
  publicAllowlist: false
73
+ adminAllowlist: false
51
74
  - name: loop-marketing-enquiry
52
75
  publicAllowlist: false
76
+ adminAllowlist: false
53
77
  - name: loop-auto-responder
54
78
  publicAllowlist: false
79
+ adminAllowlist: false
55
80
  - name: loop-customer-preferences
56
81
  publicAllowlist: false
82
+ adminAllowlist: false
57
83
  - name: loop-supplier
58
84
  publicAllowlist: false
85
+ adminAllowlist: false
59
86
  skills:
60
87
  - skills/tone-matched-drafter/SKILL.md
61
88
  - skills/priority-ranker/SKILL.md
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "real-agent-preval",
3
- "description": "Single-address pre-valuation pitch pack. One full UK address in, 5-page A4 PDF out (cover · subject valuation · market context · comparables · recently with <brand>). Consumes the real-agent-property-data and real-agent-epc MCPs — no MCP tools of its own.",
3
+ "description": "Single-address pre-valuation pitch pack. One full UK address in, 5-page A4 PDF out (cover · subject valuation · market context · comparables · recently with <brand>). Consumes the real-agent-property-data MCP — no MCP tools of its own. EPC certificate fields (total_floor_area_m2, current_energy_rating, lodgement_date) are pasted by the operator into inputs.json before invocation.",
4
4
  "version": "0.1.0",
5
5
  "author": {
6
6
  "name": "Rubytech LLC"
@@ -1,8 +1,12 @@
1
1
  ---
2
2
  name: real-agent-preval
3
- description: "Single-address pre-valuation pitch pack. One full UK address in, 5-page A4 PDF out (cover · subject valuation · market context · comparables · recently with <brand>). Consumes the real-agent-property-data and real-agent-epc MCPs — no MCP tools of its own."
3
+ description: "Single-address pre-valuation pitch pack. One full UK address in, 5-page A4 PDF out (cover · subject valuation · market context · comparables · recently with <brand>). Consumes the real-agent-property-data MCP — no MCP tools of its own. EPC certificate fields (total_floor_area_m2, current_energy_rating, lodgement_date) are pasted by the operator into inputs.json before invocation."
4
4
  skills:
5
5
  - skills/property-preval/SKILL.md
6
+ hooks:
7
+ PreToolUse:
8
+ - matcher: "Write|Edit|MultiEdit"
9
+ command: "${CLAUDE_PLUGIN_ROOT}/hooks/preval-prompt-required.sh"
6
10
  always: false
7
11
  metadata: {"platform":{"optional":true,"embed":["admin"]}}
8
12
  ---
@@ -16,20 +20,19 @@ Consumer sub-plugin. No MCP server, no new tools — only a skill (`property-pre
16
20
  A 5-page A4 PDF and the source HTML, written to `~/Documents/Maxy/preval/<postcode-compact>-<YYYY-MM-DD>/`:
17
21
 
18
22
  - **Page 1 — Cover.** Full-bleed subject hero photo with gradient scrim. Light brand wordmark top-left. Address in display-italic. Postcode chip. Four-up meta strip (Report · Address · Postcode · Generated). Lifted from the `property-market-report` cover contract.
19
- - **Page 2 — Subject valuation.** KPI strip (floor area, bedrooms, EPC rating, type). Valuation panel: headline range = `subject.sqft × sold £/sqft 70pc band` (Land Registry), asking £/sqft cross-check, operator adjustments (`subject.adjustments[]`) shown as a stacked list with colour-coded percentages, final indicative range pill. `subject.sqft` is required — a null value aborts the run.
23
+ - **Page 2 — Subject valuation.** KPI strip (floor area, bedrooms, EPC rating, type). Valuation panel: headline range = `derived sqft × sold £/sqft 70pc band` (Land Registry), asking £/sqft cross-check, operator adjustments (`subject.adjustments[]`) shown as a stacked list with colour-coded percentages, final indicative range pill. Floor area is derived from `subject.total_floor_area_m2` (operator-pasted from the EPC certificate) — a null value aborts the run with `epc-certificate-not-supplied`.
20
24
  - **Page 3 — Market context.** Market summary headline + paragraphs with drop cap. KPI strip (avg asking £, avg sold £, £/sqft). Price-growth panel (YoY) + demand pill with gauge. 7-year sparkline of £ and £/sqft. Same patterns as `property-market-report`.
21
25
  - **Page 4 — Comparables.** Full-width Land Registry sold-transactions table (≤ 6 rows), stacked above a full-width live-asking-comparables tile grid (≤ 4 tiles). Never side-by-side — corrects the cramped two-column layout in v1 preval.
22
26
  - **Page 5 — Recently with `<brand>` + sources.** Operator-curated `agent_listings[]` rendered as a clickable tile grid with status badges (Sold / Under offer / For sale), then the sources & methodology block. The vendor reads this page and knows who to call.
23
27
 
24
28
  ## Tool dependencies
25
29
 
26
- The skill fans out to **13** MCP calls in parallel:
27
-
28
- - **12 PropertyData** tools (postcode-keyed): `prices`, `prices-per-sqf`, `sold-prices`, `sold-prices-per-sqf`, `growth`, `growth-psf`, `demand`, `demand-rent`, `property-types`, `crime`, `flood-risk`, `council-tax`.
29
- - **1 EPC** tool (address-keyed): `epc-lookup-by-address` for subject floor area + energy rating + lodgement date.
30
+ The skill fans out to **12** PropertyData MCP calls in parallel (postcode-keyed): `prices`, `prices-per-sqf`, `sold-prices`, `sold-prices-per-sqf`, `growth`, `growth-psf`, `demand`, `demand-rent`, `property-types`, `crime`, `flood-risk`, `council-tax`.
30
31
 
31
32
  `property-data-address-match-uprn` and `property-data-planning-applications` are deliberately not called (CRM hygiene and dev-precedent reports, respectively).
32
33
 
34
+ The three EPC certificate fields the page-2 KPI strip needs — `total_floor_area_m2`, `current_energy_rating`, `lodgement_date` — are pasted by the operator into `subject` in `inputs.json` before invocation. There is no MCP fan-out for EPC; the PreToolUse hook and `render.py` both abort with `epc-certificate-not-supplied` if any of the three fields is null.
35
+
33
36
  ## Failure handling
34
37
 
35
38
  Every failure is fail-loud. The skill emits `[preval] aborted reason=<cause> …` and exits 2; no partial `index.html` or PDF is left on disk.
@@ -37,11 +40,16 @@ Every failure is fail-loud. The skill emits `[preval] aborted reason=<cause> …
37
40
  - **PropertyData `key-not-registered`** → abort `reason=property-data-key-not-registered` with the `property-data-key-register` remediation hint.
38
41
  - **PropertyData `http-429`** → back off and retry the single throttled tool once. A second `http-429` aborts `reason=property-data-rate-limited`.
39
42
  - **PropertyData `http-5xx` / network failure** → abort `reason=property-data-unavailable`.
40
- - **EPC failure of any kind** `key-not-registered`, `http-404 (no record)`, `http-429`, `http-5xx`, network failure, EPC MCP not configured — aborts the run. There is no in-band prompt and no benchmark-only mode. The operator's options before re-running are (a) run Task 155 to deploy / register the EPC MCP, or (b) paste `subject.sqft` and `subject.sqft_m2` into the inputs as a deliberate operator override.
43
+ - **Any of the 12 PropertyData log lines missing** within 60s of `[preval] start` abort `reason=observability-missing tool=<name>`. A silent tool drop must never proceed to render.
44
+ - **Subject EPC certificate field missing** — any of `subject.total_floor_area_m2`, `subject.current_energy_rating`, `subject.lodgement_date` is null → abort `reason=epc-certificate-not-supplied`. The operator pastes all three from the EPC certificate into `inputs.json` before re-invoking. There is no mid-run prompt and no MCP fallback.
41
45
  - See `skills/property-preval/SKILL.md` § Hard breakpoints for the full table of abort causes.
42
46
 
43
47
  ## External dependencies
44
48
 
45
49
  - Requires `real-agent-property-data` enabled on the account with a registered PropertyData API key (`property-data-key-register`).
46
- - Requires `real-agent-epc` enabled with a registered EPC API key (`epc-key-register`), **or** an operator-supplied `subject.sqft` + `subject.sqft_m2` override pre-baked into the inputs. EPC failures are not silently absorbed.
50
+ - Requires the operator to paste the three EPC certificate fields (`total_floor_area_m2`, `current_energy_rating`, `lodgement_date`) into `subject` in `inputs.json` before invocation. There is no automated EPC lookup.
47
51
  - Requires Google Chrome at `/Applications/Google Chrome.app/Contents/MacOS/Google Chrome` for headless `--print-to-pdf`. Same Chrome dependency as `property-market-report`.
52
+
53
+ ## Hooks
54
+
55
+ - `hooks/preval-prompt-required.sh` — PreToolUse gate on `Write|Edit|MultiEdit` of `**/preval/**/inputs.json`. Blocks (exit 2) before the file lands on disk if any of `epc-certificate-not-supplied`, `agent-listings-invented`, `market-summary-invented`, or `brand-invented` applies. The same five causes (plus `cover-hero-not-subject`) are re-checked by `render.py`'s `_assert_inputs` gate — defence in depth against silent fallback completions. Paths outside `preval/inputs.json` pass through.
@@ -0,0 +1,140 @@
1
+ #!/usr/bin/env bash
2
+ # PreToolUse hook — defence-in-depth gate for property-preval's inputs.json.
3
+ #
4
+ # Fires on Write/Edit when the target path ends in `/preval/.../inputs.json`.
5
+ # Blocks (exit 2) before the payload reaches disk if any of the five named
6
+ # adherence violations is present. The render.py validator catches the same
7
+ # violations downstream — this hook stops the bad payload one step earlier,
8
+ # while the agent still has the opportunity to prompt the operator.
9
+ #
10
+ # Aborts named here mirror the AdherenceError causes raised by render.py:
11
+ # - epc-certificate-not-supplied
12
+ # - agent-listings-invented
13
+ # - market-summary-invented
14
+ # - brand-invented
15
+ #
16
+ # (cover-hero-not-subject is checked by render.py only — the slug heuristic
17
+ # needs the on-disk path to be inspectable, which isn't reliable from the
18
+ # tool args alone.)
19
+ #
20
+ # Error philosophy: fail closed on the four named contract violations; fail
21
+ # open on anything else (missing python3, malformed stdin, file not under
22
+ # preval/). Failing open lets unrelated tool calls proceed; the named
23
+ # violations are the only ones the hook owns.
24
+
25
+ set -u
26
+
27
+ if [ -t 0 ]; then
28
+ exit 0
29
+ fi
30
+
31
+ if ! command -v python3 >/dev/null 2>&1; then
32
+ cat >/dev/null
33
+ echo "[preval-prompt-required] action=fail reason=python3-missing" >&2
34
+ exit 0
35
+ fi
36
+
37
+ INPUT=$(cat)
38
+
39
+ INPUT="$INPUT" python3 <<'PY'
40
+ import json, os, sys
41
+
42
+ INPUT = os.environ.get("INPUT", "")
43
+
44
+ def passthrough(reason):
45
+ print(f"[preval-prompt-required] action=passthrough reason={reason}", file=sys.stderr)
46
+ sys.exit(0)
47
+
48
+ def block(cause, remediation):
49
+ print(f"[preval-prompt-required] action=block cause={cause}", file=sys.stderr)
50
+ print(f"[preval] {cause}: {remediation}", file=sys.stderr)
51
+ sys.exit(2)
52
+
53
+ try:
54
+ payload = json.loads(INPUT) if INPUT else {}
55
+ except Exception:
56
+ passthrough("malformed-stdin")
57
+
58
+ tool_name = payload.get("tool_name") or ""
59
+ if tool_name not in ("Write", "Edit", "MultiEdit"):
60
+ passthrough(f"tool={tool_name}")
61
+
62
+ tool_input = payload.get("tool_input") or {}
63
+ file_path = tool_input.get("file_path") or ""
64
+ norm = file_path.replace("\\", "/").lower()
65
+ if "/preval/" not in norm or not norm.endswith("/inputs.json"):
66
+ passthrough("path-not-preval-inputs")
67
+
68
+ if tool_name == "Write":
69
+ content = tool_input.get("content") or ""
70
+ elif tool_name == "Edit":
71
+ content = tool_input.get("new_string") or ""
72
+ else: # MultiEdit
73
+ edits = tool_input.get("edits") or []
74
+ content = edits[-1].get("new_string", "") if edits else ""
75
+
76
+ try:
77
+ data = json.loads(content)
78
+ except Exception:
79
+ passthrough("content-not-json")
80
+
81
+ if not isinstance(data, dict):
82
+ passthrough("content-not-object")
83
+
84
+ overrides = data.get("agent_overrides") or {}
85
+
86
+ subject = data.get("subject") or {}
87
+ missing_epc = [
88
+ f for f in ("total_floor_area_m2", "current_energy_rating", "lodgement_date")
89
+ if not subject.get(f)
90
+ ]
91
+ if missing_epc:
92
+ block(
93
+ "epc-certificate-not-supplied",
94
+ f"subject is missing EPC certificate field(s) {missing_epc}. "
95
+ "Paste total_floor_area_m2, current_energy_rating, and lodgement_date "
96
+ "from the EPC certificate into subject before re-invoking. "
97
+ "No mid-run prompt — the operator supplies the certificate before invocation.",
98
+ )
99
+
100
+ if not overrides.get("listings_status_curated"):
101
+ for listing in data.get("agent_listings") or []:
102
+ origin = (listing or {}).get("origin")
103
+ if not origin or origin == "operator":
104
+ continue
105
+ try:
106
+ src_path = os.path.expanduser(str(origin))
107
+ if not os.path.isfile(src_path):
108
+ continue
109
+ with open(src_path) as f:
110
+ source = json.load(f)
111
+ except Exception:
112
+ continue
113
+ if source.get("status") in (None, "") and listing.get("status"):
114
+ block(
115
+ "agent-listings-invented",
116
+ f"agent_listings entry {listing.get('slug')} has status "
117
+ f"'{listing['status']}' but source {src_path} carries status:null. "
118
+ "Prompt the operator and set agent_overrides.listings_status_curated: true.",
119
+ )
120
+
121
+ ms = data.get("market_summary") or {}
122
+ if ms.get("origin") not in ("operator", "operator-edited-llm-stub"):
123
+ block(
124
+ "market-summary-invented",
125
+ "market_summary.origin must be 'operator' or 'operator-edited-llm-stub'. "
126
+ "Have the operator draft or accept the paragraphs before writing inputs.json.",
127
+ )
128
+
129
+ brand = data.get("brand") or {}
130
+ if brand.get("name") and not overrides.get("brand_selected_by_operator"):
131
+ block(
132
+ "brand-invented",
133
+ f"brand.name ('{brand['name']}') was set without "
134
+ "agent_overrides.brand_selected_by_operator: true. Ask the operator which "
135
+ "estate agent is pitching; presence of a DESIGN.md on disk does not authorise selection.",
136
+ )
137
+
138
+ print("[preval-prompt-required] action=allow", file=sys.stderr)
139
+ sys.exit(0)
140
+ PY