@rubytech/create-maxy-code 0.1.36 → 0.1.38

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 (344) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/package-lock.json +752 -512
  3. package/payload/platform/plugins/admin/PLUGIN.md +12 -0
  4. package/payload/platform/plugins/admin/hooks/__tests__/turn-completed-graph-write.test.sh +109 -0
  5. package/payload/platform/plugins/admin/hooks/turn-completed-graph-write.sh +114 -0
  6. package/payload/platform/plugins/admin/skills/unzip-attachment/SKILL.md +1 -1
  7. package/payload/platform/plugins/contacts/PLUGIN.md +11 -0
  8. package/payload/platform/plugins/docs/references/internals.md +10 -0
  9. package/payload/platform/plugins/docs/references/platform.md +9 -4
  10. package/payload/platform/plugins/email/PLUGIN.md +11 -0
  11. package/payload/platform/plugins/linkedin-import/.claude-plugin/plugin.json +1 -1
  12. package/payload/platform/plugins/linkedin-import/PLUGIN.md +5 -5
  13. package/payload/platform/plugins/linkedin-import/skills/linkedin-import/SKILL.md +3 -1
  14. package/payload/platform/plugins/linkedin-import/skills/linkedin-import/references/connections.md +2 -2
  15. package/payload/platform/plugins/loop/PLUGIN.md +11 -0
  16. package/payload/platform/plugins/memory/PLUGIN.md +11 -0
  17. package/payload/platform/plugins/memory/skills/conversation-archive/SKILL.md +2 -0
  18. package/payload/platform/plugins/memory/skills/conversation-archive-enrich/SKILL.md +2 -0
  19. package/payload/platform/plugins/memory/skills/document-ingest/SKILL.md +6 -4
  20. package/payload/platform/plugins/outlook/PLUGIN.md +11 -0
  21. package/payload/platform/plugins/replicate/PLUGIN.md +11 -0
  22. package/payload/platform/plugins/scheduling/PLUGIN.md +11 -0
  23. package/payload/platform/plugins/tasks/PLUGIN.md +11 -0
  24. package/payload/platform/plugins/telegram/PLUGIN.md +11 -0
  25. package/payload/platform/plugins/waitlist/PLUGIN.md +11 -0
  26. package/payload/platform/plugins/whatsapp/PLUGIN.md +11 -0
  27. package/payload/platform/plugins/workflows/PLUGIN.md +11 -0
  28. package/payload/platform/scripts/seed-neo4j.sh +14 -0
  29. package/payload/platform/scripts/verify-skill-tool-surface.sh +5 -3
  30. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  31. package/payload/platform/services/claude-session-manager/dist/http-server.js +16 -1
  32. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  33. package/payload/platform/services/claude-session-manager/dist/index.js +63 -3
  34. package/payload/platform/services/claude-session-manager/dist/index.js.map +1 -1
  35. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +34 -1
  36. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
  37. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +132 -1
  38. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
  39. package/payload/platform/services/claude-session-manager/dist/session-store.d.ts +13 -1
  40. package/payload/platform/services/claude-session-manager/dist/session-store.d.ts.map +1 -1
  41. package/payload/platform/services/claude-session-manager/dist/session-store.js +7 -3
  42. package/payload/platform/services/claude-session-manager/dist/session-store.js.map +1 -1
  43. package/payload/platform/services/claude-session-manager/dist/tool-surface.d.ts +37 -4
  44. package/payload/platform/services/claude-session-manager/dist/tool-surface.d.ts.map +1 -1
  45. package/payload/platform/services/claude-session-manager/dist/tool-surface.js +128 -27
  46. package/payload/platform/services/claude-session-manager/dist/tool-surface.js.map +1 -1
  47. package/payload/platform/templates/agents/admin/IDENTITY.md +5 -14
  48. package/payload/platform/templates/specialists/agents/database-operator.md +27 -70
  49. package/payload/platform/templates/specialists/agents/librarian.md +55 -0
  50. package/payload/premium-plugins/real-agent/plugins/loop/PLUGIN.md +11 -0
  51. package/payload/server/public/assets/{Checkbox-C_5g1tvd.js → Checkbox-DAki3vDW.js} +1 -1
  52. package/payload/server/public/assets/{admin-CMhAQf3x.js → admin-CyAZtsYZ.js} +1 -1
  53. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-PATAR9cB.js → architectureDiagram-Q4EWVU46-C-hla3Ip.js} +1 -1
  54. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-BTtUDSn8.js → blockDiagram-DXYQGD6D-CbzjtNs3.js} +1 -1
  55. package/payload/server/public/assets/{brand--hRSJcTa.css → brand-Cun0PBrA.css} +1 -1
  56. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-DagJLqud.js → c4Diagram-AHTNJAMY-B87UblA0.js} +1 -1
  57. package/payload/server/public/assets/channel-CTNo72W7.js +1 -0
  58. package/payload/server/public/assets/{chunk-336JU56O-r_17ZSte.js → chunk-336JU56O-2a2pVlSg.js} +2 -2
  59. package/payload/server/public/assets/{chunk-426QAEUC-BeZHE5Od.js → chunk-426QAEUC-j9NOD8_a.js} +1 -1
  60. package/payload/server/public/assets/{chunk-4TB4RGXK-BOKuzFDs.js → chunk-4TB4RGXK-Cs872xAq.js} +1 -1
  61. package/payload/server/public/assets/{chunk-5FUZZQ4R-CFPql_Mb.js → chunk-5FUZZQ4R-BnDFbZ_I.js} +1 -1
  62. package/payload/server/public/assets/{chunk-5PVQY5BW-B-ooj0Oj.js → chunk-5PVQY5BW-Bu5B3Hyf.js} +1 -1
  63. package/payload/server/public/assets/{chunk-EDXVE4YY-pfgSmAaU.js → chunk-EDXVE4YY-B96Fw4FF.js} +1 -1
  64. package/payload/server/public/assets/{chunk-ENJZ2VHE-Czo3wSBG.js → chunk-ENJZ2VHE-CcGrGQim.js} +1 -1
  65. package/payload/server/public/assets/{chunk-ICPOFSXX-B0Kq8LNp.js → chunk-ICPOFSXX-ZRvcI4Ai.js} +1 -1
  66. package/payload/server/public/assets/{chunk-OYMX7WX6-BM97IkL3.js → chunk-OYMX7WX6-B6RI9Fbf.js} +1 -1
  67. package/payload/server/public/assets/{chunk-U2HBQHQK-Qu1CuohC.js → chunk-U2HBQHQK-BYGHVYyo.js} +1 -1
  68. package/payload/server/public/assets/{chunk-X2U36JSP-uDlh8MVE.js → chunk-X2U36JSP-rwNs-gTO.js} +1 -1
  69. package/payload/server/public/assets/{chunk-YZCP3GAM-DUlG-OZ5.js → chunk-YZCP3GAM-jPttJRap.js} +1 -1
  70. package/payload/server/public/assets/{chunk-ZZ45TVLE-BABivBFM.js → chunk-ZZ45TVLE-DLykWOT5.js} +1 -1
  71. package/payload/server/public/assets/classDiagram-6PBFFD2Q-BaV5nDmT.js +1 -0
  72. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-DOKlCKjY.js +1 -0
  73. package/payload/server/public/assets/clone-sQSwlSln.js +1 -0
  74. package/payload/server/public/assets/{dagre-KV5264BT-CVL1mRVD.js → dagre-KV5264BT-C6wSzHX2.js} +1 -1
  75. package/payload/server/public/assets/{dagre-BLaP4HDY.js → dagre-jnQDnF-5.js} +1 -1
  76. package/payload/server/public/assets/data-DbkuXcPb.js +1 -0
  77. package/payload/server/public/assets/{device-url-actions-Dmhh-Azv.js → device-url-actions-y1tXNDZx.js} +1 -1
  78. package/payload/server/public/assets/{diagram-5BDNPKRD-Db75sppc.js → diagram-5BDNPKRD-N3X-n90h.js} +1 -1
  79. package/payload/server/public/assets/{diagram-G4DWMVQ6-Cj8Nvgev.js → diagram-G4DWMVQ6-vfmbzdPd.js} +1 -1
  80. package/payload/server/public/assets/{diagram-MMDJMWI5-BGXJmtU0.js → diagram-MMDJMWI5-BETmPx_w.js} +1 -1
  81. package/payload/server/public/assets/{diagram-TYMM5635-FALU804i.js → diagram-TYMM5635-BSUGM4wG.js} +1 -1
  82. package/payload/server/public/assets/{erDiagram-SMLLAGMA-Dny5IMgt.js → erDiagram-SMLLAGMA-CWZ9OwMb.js} +1 -1
  83. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-CvKuRNSd.js → flowDiagram-DWJPFMVM-BpQOQS1a.js} +1 -1
  84. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-CMMNRVGJ.js → ganttDiagram-T4ZO3ILL-Dc59igCS.js} +1 -1
  85. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-GNp7o9CH.js → gitGraphDiagram-UUTBAWPF-D6lXg3zl.js} +1 -1
  86. package/payload/server/public/assets/graph-CC5_6-dg.js +1 -0
  87. package/payload/server/public/assets/{graph-labels-DnFPoPy9.js → graph-labels-DFyNH0jb.js} +1 -1
  88. package/payload/server/public/assets/{graphlib-Bbf4iSQ9.js → graphlib-yG7kH8Fr.js} +1 -1
  89. package/payload/server/public/assets/{infoDiagram-42DDH7IO-CKnsQ4zf.js → infoDiagram-42DDH7IO-TS9Pv8Os.js} +1 -1
  90. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-7iiLy5h7.js → ishikawaDiagram-UXIWVN3A-BJiJJTq6.js} +1 -1
  91. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-BqbrYu64.js → journeyDiagram-VCZTEJTY-C7PW4fmw.js} +1 -1
  92. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-B4xrW1HU.js → kanban-definition-6JOO6SKY-BEk21ciD.js} +1 -1
  93. package/payload/server/public/assets/{line-VuY4jgLe.js → line-DusyVWDE.js} +1 -1
  94. package/payload/server/public/assets/{mermaid-parser.core-BaqOkGpC.js → mermaid-parser.core-DeeojQSb.js} +1 -1
  95. package/payload/server/public/assets/{mermaid.core-CCQHCJiH.js → mermaid.core-p65Lo7Sj.js} +3 -3
  96. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-CD7_gX12.js → mindmap-definition-QFDTVHPH-B0jxFxdS.js} +1 -1
  97. package/payload/server/public/assets/{page-BbunxlG3.js → page-BeYGnDzI.js} +1 -1
  98. package/payload/server/public/assets/{page-CDFsJW62.js → page-x5khmfRx.js} +1 -1
  99. package/payload/server/public/assets/{pieDiagram-DEJITSTG-DYv6IDvS.js → pieDiagram-DEJITSTG-DJ5GKYt6.js} +1 -1
  100. package/payload/server/public/assets/{public-vZ5OE_BJ.js → public-cnoUs7vq.js} +3 -3
  101. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-Djjgb1kX.js → quadrantDiagram-34T5L4WZ-BV7R-kwV.js} +1 -1
  102. package/payload/server/public/assets/{requirementDiagram-MS252O5E-D1jpw_fu.js → requirementDiagram-MS252O5E-DRiLzlGN.js} +1 -1
  103. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-CiWmspyf.js → sankeyDiagram-XADWPNL6-C5-6_cCI.js} +1 -1
  104. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-B1GXIeQe.js → sequenceDiagram-FGHM5R23-5FXm_VYM.js} +1 -1
  105. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-DX7QZrhc.js → stateDiagram-FHFEXIEX-FCQTaGqV.js} +1 -1
  106. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-BdpPhdqg.js +1 -0
  107. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-BxiwnKFu.js → timeline-definition-GMOUNBTQ-tvtq62ef.js} +1 -1
  108. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-RxZA_K0W.js → vennDiagram-DHZGUBPP-Dk-k7CE4.js} +1 -1
  109. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-b2tVWjtB.js → wardleyDiagram-NUSXRM2D-CZSrqniY.js} +1 -1
  110. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-D55tkJH1.js → xychartDiagram-5P7HB3ND-CpGLpk7Q.js} +1 -1
  111. package/payload/server/public/data.html +5 -5
  112. package/payload/server/public/graph.html +6 -6
  113. package/payload/server/public/index.html +8 -8
  114. package/payload/server/public/public.html +5 -5
  115. package/dist/__tests__/onboarding-state-readback.test.js +0 -61
  116. package/dist/onboarding-readback.js +0 -27
  117. package/payload/platform/lib/anthropic-key/dist/index.d.ts +0 -22
  118. package/payload/platform/lib/anthropic-key/dist/index.d.ts.map +0 -1
  119. package/payload/platform/lib/anthropic-key/dist/index.js +0 -232
  120. package/payload/platform/lib/anthropic-key/dist/index.js.map +0 -1
  121. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.d.ts +0 -39
  122. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.d.ts.map +0 -1
  123. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.js +0 -249
  124. package/payload/platform/plugins/admin/mcp/dist/lib/onboarding.js.map +0 -1
  125. package/payload/platform/plugins/real-agency/plugins/.claude-plugin/marketplace.json +0 -13
  126. package/payload/platform/plugins/real-agency/plugins/loop/.claude-plugin/plugin.json +0 -17
  127. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/index.d.ts +0 -2
  128. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/index.d.ts.map +0 -1
  129. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/index.js +0 -293
  130. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/index.js.map +0 -1
  131. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/crypto.d.ts +0 -10
  132. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/crypto.d.ts.map +0 -1
  133. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/crypto.js +0 -88
  134. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/crypto.js.map +0 -1
  135. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.d.ts +0 -82
  136. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.d.ts.map +0 -1
  137. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.js +0 -427
  138. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.js.map +0 -1
  139. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/neo4j.d.ts +0 -5
  140. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/neo4j.d.ts.map +0 -1
  141. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/neo4j.js +0 -40
  142. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/lib/neo4j.js.map +0 -1
  143. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/customer-preferences.d.ts +0 -10
  144. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/customer-preferences.d.ts.map +0 -1
  145. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/customer-preferences.js +0 -24
  146. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/customer-preferences.js.map +0 -1
  147. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/feedback.d.ts +0 -16
  148. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/feedback.d.ts.map +0 -1
  149. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/feedback.js +0 -35
  150. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/feedback.js.map +0 -1
  151. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-deregister.d.ts +0 -5
  152. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-deregister.d.ts.map +0 -1
  153. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-deregister.js +0 -19
  154. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-deregister.js.map +0 -1
  155. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-list.d.ts +0 -4
  156. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-list.d.ts.map +0 -1
  157. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-list.js +0 -14
  158. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-list.js.map +0 -1
  159. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-register.d.ts +0 -9
  160. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-register.d.ts.map +0 -1
  161. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-register.js +0 -60
  162. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/key-register.js.map +0 -1
  163. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts +0 -13
  164. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts.map +0 -1
  165. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-enquiry.js +0 -41
  166. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-enquiry.js.map +0 -1
  167. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts +0 -9
  168. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts.map +0 -1
  169. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-batch.js +0 -16
  170. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-batch.js.map +0 -1
  171. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts +0 -15
  172. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts.map +0 -1
  173. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-request.js +0 -11
  174. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-request.js.map +0 -1
  175. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match.d.ts +0 -10
  176. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match.d.ts.map +0 -1
  177. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match.js +0 -39
  178. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match.js.map +0 -1
  179. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-detail.d.ts +0 -9
  180. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-detail.d.ts.map +0 -1
  181. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-detail.js +0 -125
  182. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-detail.js.map +0 -1
  183. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-search.d.ts +0 -18
  184. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-search.d.ts.map +0 -1
  185. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-search.js +0 -87
  186. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/people-search.js.map +0 -1
  187. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-detail.d.ts +0 -10
  188. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-detail.d.ts.map +0 -1
  189. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-detail.js +0 -82
  190. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-detail.js.map +0 -1
  191. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-listed.d.ts +0 -12
  192. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-listed.d.ts.map +0 -1
  193. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-listed.js +0 -32
  194. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-listed.js.map +0 -1
  195. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-request.d.ts +0 -15
  196. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-request.d.ts.map +0 -1
  197. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-request.js +0 -11
  198. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-request.js.map +0 -1
  199. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-search.d.ts +0 -16
  200. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-search.d.ts.map +0 -1
  201. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-search.js +0 -41
  202. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/property-search.js.map +0 -1
  203. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/supplier.d.ts +0 -13
  204. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/supplier.d.ts.map +0 -1
  205. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/supplier.js +0 -49
  206. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/supplier.js.map +0 -1
  207. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-availability.d.ts +0 -7
  208. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-availability.d.ts.map +0 -1
  209. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-availability.js +0 -19
  210. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-availability.js.map +0 -1
  211. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-info.d.ts +0 -5
  212. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-info.d.ts.map +0 -1
  213. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-info.js +0 -32
  214. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/team-info.js.map +0 -1
  215. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-create.d.ts +0 -14
  216. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-create.d.ts.map +0 -1
  217. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-create.js +0 -11
  218. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-create.js.map +0 -1
  219. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-detail.d.ts +0 -9
  220. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-detail.d.ts.map +0 -1
  221. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-detail.js +0 -85
  222. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-detail.js.map +0 -1
  223. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-search.d.ts +0 -13
  224. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-search.d.ts.map +0 -1
  225. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-search.js +0 -44
  226. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-search.js.map +0 -1
  227. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-update.d.ts +0 -14
  228. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-update.d.ts.map +0 -1
  229. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-update.js +0 -18
  230. package/payload/platform/plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-update.js.map +0 -1
  231. package/payload/premium-plugins/real-agency/plugins/.claude-plugin/marketplace.json +0 -13
  232. package/payload/premium-plugins/real-agency/plugins/loop/.claude-plugin/plugin.json +0 -17
  233. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/index.d.ts +0 -2
  234. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/index.d.ts.map +0 -1
  235. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/index.js +0 -293
  236. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/index.js.map +0 -1
  237. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/lib/crypto.d.ts +0 -10
  238. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/lib/crypto.d.ts.map +0 -1
  239. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/lib/crypto.js +0 -88
  240. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/lib/crypto.js.map +0 -1
  241. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.d.ts +0 -82
  242. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.d.ts.map +0 -1
  243. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.js +0 -427
  244. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/lib/loop-api.js.map +0 -1
  245. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/lib/neo4j.d.ts +0 -5
  246. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/lib/neo4j.d.ts.map +0 -1
  247. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/lib/neo4j.js +0 -40
  248. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/lib/neo4j.js.map +0 -1
  249. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/customer-preferences.d.ts +0 -10
  250. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/customer-preferences.d.ts.map +0 -1
  251. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/customer-preferences.js +0 -24
  252. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/customer-preferences.js.map +0 -1
  253. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/feedback.d.ts +0 -16
  254. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/feedback.d.ts.map +0 -1
  255. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/feedback.js +0 -35
  256. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/feedback.js.map +0 -1
  257. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/key-deregister.d.ts +0 -5
  258. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/key-deregister.d.ts.map +0 -1
  259. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/key-deregister.js +0 -19
  260. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/key-deregister.js.map +0 -1
  261. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/key-list.d.ts +0 -4
  262. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/key-list.d.ts.map +0 -1
  263. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/key-list.js +0 -14
  264. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/key-list.js.map +0 -1
  265. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/key-register.d.ts +0 -9
  266. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/key-register.d.ts.map +0 -1
  267. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/key-register.js +0 -60
  268. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/key-register.js.map +0 -1
  269. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts +0 -13
  270. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-enquiry.d.ts.map +0 -1
  271. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-enquiry.js +0 -41
  272. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-enquiry.js.map +0 -1
  273. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts +0 -9
  274. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-batch.d.ts.map +0 -1
  275. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-batch.js +0 -16
  276. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-batch.js.map +0 -1
  277. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts +0 -15
  278. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-request.d.ts.map +0 -1
  279. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-request.js +0 -11
  280. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match-request.js.map +0 -1
  281. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match.d.ts +0 -10
  282. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match.d.ts.map +0 -1
  283. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match.js +0 -39
  284. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/marketing-match.js.map +0 -1
  285. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/people-detail.d.ts +0 -9
  286. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/people-detail.d.ts.map +0 -1
  287. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/people-detail.js +0 -125
  288. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/people-detail.js.map +0 -1
  289. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/people-search.d.ts +0 -18
  290. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/people-search.d.ts.map +0 -1
  291. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/people-search.js +0 -87
  292. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/people-search.js.map +0 -1
  293. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/property-detail.d.ts +0 -10
  294. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/property-detail.d.ts.map +0 -1
  295. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/property-detail.js +0 -82
  296. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/property-detail.js.map +0 -1
  297. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/property-listed.d.ts +0 -12
  298. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/property-listed.d.ts.map +0 -1
  299. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/property-listed.js +0 -32
  300. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/property-listed.js.map +0 -1
  301. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/property-request.d.ts +0 -15
  302. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/property-request.d.ts.map +0 -1
  303. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/property-request.js +0 -11
  304. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/property-request.js.map +0 -1
  305. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/property-search.d.ts +0 -16
  306. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/property-search.d.ts.map +0 -1
  307. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/property-search.js +0 -41
  308. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/property-search.js.map +0 -1
  309. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/supplier.d.ts +0 -13
  310. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/supplier.d.ts.map +0 -1
  311. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/supplier.js +0 -49
  312. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/supplier.js.map +0 -1
  313. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/team-availability.d.ts +0 -7
  314. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/team-availability.d.ts.map +0 -1
  315. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/team-availability.js +0 -19
  316. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/team-availability.js.map +0 -1
  317. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/team-info.d.ts +0 -5
  318. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/team-info.d.ts.map +0 -1
  319. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/team-info.js +0 -32
  320. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/team-info.js.map +0 -1
  321. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-create.d.ts +0 -14
  322. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-create.d.ts.map +0 -1
  323. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-create.js +0 -11
  324. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-create.js.map +0 -1
  325. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-detail.d.ts +0 -9
  326. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-detail.d.ts.map +0 -1
  327. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-detail.js +0 -85
  328. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-detail.js.map +0 -1
  329. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-search.d.ts +0 -13
  330. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-search.d.ts.map +0 -1
  331. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-search.js +0 -44
  332. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-search.js.map +0 -1
  333. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-update.d.ts +0 -14
  334. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-update.d.ts.map +0 -1
  335. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-update.js +0 -18
  336. package/payload/premium-plugins/real-agency/plugins/loop/mcp/dist/tools/viewing-update.js.map +0 -1
  337. package/payload/server/public/assets/channel-ad6bhEyF.js +0 -1
  338. package/payload/server/public/assets/classDiagram-6PBFFD2Q-D9Gycby2.js +0 -1
  339. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-sUgm3wmz.js +0 -1
  340. package/payload/server/public/assets/clone-CZxh5VW0.js +0 -1
  341. package/payload/server/public/assets/data-DarDs6k1.js +0 -1
  342. package/payload/server/public/assets/graph-CG9KcTMy.js +0 -1
  343. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-CekuC-ks.js +0 -1
  344. /package/payload/server/public/assets/{brand-B62OQoRC.js → brand-lj7EhWRg.js} +0 -0
@@ -1,93 +1,50 @@
1
1
  ---
2
2
  name: database-operator
3
- description: "Owner of the memory graph. Any raw cypher (read or write) against Neo4j routes here, plus all document and archive ingestion (universal document-ingest skill for unstructured documents, per-source archive-import skills for structured exports like LinkedIn), plus operator-driven graph hygiene (prune orphans, deduplicate, add edges, normalise labels), plus one-off raw reads when admin's wrapped read tools cannot reach the property or relationship being asked about. Delegate when the operator uploads any document, drops an archive into chat, asks for any graph operation that is not a routine per-turn wrapped write, or asks a factual question whose answer requires a property admin's wrapped reads cannot expose."
4
- summary: "Ingests every unstructured document and external archive into your graph and handles ad-hoc graph tidy-ups on request."
5
- model: claude-sonnet-4-6
6
- tools: Read, Bash, Glob, Grep, mcp__graph__maxy-graph-read_neo4j_cypher, mcp__graph__maxy-graph-write_neo4j_cypher, mcp__graph__maxy-graph-get_neo4j_schema, mcp__memory__memory-write, mcp__memory__memory-update, mcp__memory__memory-delete, mcp__memory__memory-search, mcp__memory__memory-rank, mcp__memory__memory-reindex, mcp__memory__memory-find-candidates, mcp__memory__memory-ingest, mcp__memory__memory-ingest-extract, mcp__memory__memory-ingest-web, mcp__memory__memory-classify, mcp__memory__memory-archive-write, mcp__memory__conversation-archive-derive-insights, mcp__memory__conversation-archive-enrich-rejection, mcp__memory__graph-prune-denylist-list, mcp__memory__graph-prune-denylist-add, mcp__memory__graph-prune-denylist-remove, mcp__contacts__contact-create, mcp__contacts__contact-update, mcp__contacts__contact-lookup, mcp__contacts__contact-list, mcp__tasks__task-create, mcp__admin__file-attach, mcp__admin__plugin-read
3
+ description: "Background recorder for the memory graph. Reads one completed admin turn from stdin (operator message, assistant reply, tool transcripts) and writes whatever the turn implies into the graph via the wrapped writers. Fires once per admin turn from a Stop hook; never reachable from the admin agent directly."
4
+ summary: "Watches every completed admin turn and records what it implies into the memory graph."
5
+ model: claude-haiku-4-5
6
+ tools: mcp__memory__memory-write, mcp__memory__memory-update, mcp__memory__memory-search, mcp__memory__profile-update, mcp__memory__profile-read, mcp__contacts__contact-create, mcp__contacts__contact-update, mcp__tasks__task-create, mcp__tasks__task-update, mcp__tasks__project-create, mcp__tasks__project-update
7
7
  ---
8
8
 
9
9
  # Database Operator
10
10
 
11
- You own document and archive ingestion and ad-hoc graph operations. You receive a task brief from the admin agent, execute it against the Neo4j graph, and return structured results. Your remit is graph-write focused: you do not manage channels, scheduling, browser automation, or any other domain another specialist owns.
11
+ You are the background recorder for this account's memory graph. Every admin-agent turn that completes fires you as a hidden PTY with the turn payload as stdin. You read what was said, decide what is worth recording, and write through the wrapped writers. You never interact with the operator.
12
12
 
13
- ## Three rules
14
-
15
- These three rules win when anything else in this prompt conflicts with them.
16
-
17
- 1. **Be precise.** Every claim has a source: a tool result, a log line, a file you read. No "likely", no "appears to".
18
- 2. **Be concise.** Three sentences or fewer. If you cannot answer in three, ask in five words.
19
- 3. **Show your evidence.** Read the schema and the affected nodes before writing. One measurement beats three guesses.
20
-
21
- ## Loud-fail when your surface is wrong
22
-
23
- If a dispatched skill prescribes a tool not present in your live tool surface, or a credential not provided in your tool input, stop with a structured blocker. Return: `Skill <name> prescribes <tool/credential>; not available. Cannot proceed. Operator must <remediation>.` Never improvise via Bash, never search the filesystem for credentials, never construct a parallel write path. `cypher-shell`, `find ... neo4j`, `grep ... NEO4J_PASSWORD`, and `curl` against the Neo4j HTTP endpoint all recreate the missing tool's effect and are forbidden.
24
-
25
- The pre-publish gate (`platform/scripts/verify-skill-tool-surface.sh`) statically asserts every shipped skill's prescribed tokens resolve against your frontmatter `tools:` list, so a missing tool is normally a build error. Loud-fail is the runtime backstop when that gate is bypassed.
26
-
27
- The harness-level gate at `platform/plugins/admin/hooks/archive-ingest-surface-gate.sh` blocks: invoking retired `*-export-{parse,preview,insight-write}` tools; `memory-archive-write` with a conversation-shaped `archiveType`; editing `platform/plugins/*/lib/*`; running `vitest` / `bun test` / `npm test` / `npx jest`; and every subsequent tool call after any `*-export-parse` / `*-import-parse` returns `isError: true`. Treat these blocks as the gate doing its job: invoke the script, surface its FAIL line if it fails, yield.
28
-
29
- ## How to choose where work goes
30
-
31
- For unstructured documents (PDF, text, transcript, web page, audio, video), load `skill-load skillName=document-ingest` and follow it. The skill is universal: there are no per-doctype skills. It loads the active ontology, confirms the anchor, classifies sections via Haiku, writes typed nodes via `memory-ingest` with the natural edges named in the ontology, and produces the four-step operator narrative the skill describes.
32
-
33
- For conversation transcripts from any source (WhatsApp, Telegram, Signal, iMessage, Slack, Zoom, meeting minutes), load `skill-load skillName=conversation-archive`. One skill, one bash entry, one writer; the `--source <enum>` flag selects the per-source normaliser. Conversation-shaped sources never use `memory-archive-write`. Phase 2 enrichment loads `conversation-archive-enrich`, runs only when the operator names a specific archive and asks for insights, and gates each derived claim with a per-row operator decision.
34
-
35
- For structured per-source archives where the export already encodes entity types (LinkedIn Basic Data Export today; CRM-type seed exports later), load the matching per-source skill (`skill-load skillName=linkedin-import`). These bypass the classifier and write via `memory-archive-write` with the source-specific `archiveType`.
36
-
37
- For ad-hoc graph operations (prune, dedup, edge addition, label normalisation), follow the graph stewardship rules below. There is no skill: the operation is yours to author.
38
-
39
- ## Shared ingestion discipline
13
+ ## Input shape
40
14
 
41
- The skill drives the run. Confirm the anchor identity (document subject or archive owner) before any read; never infer it. Stamp provenance on every write: `createdByAgent`, `createdBySource`, `createdBySession`, `createdAt`, `source`, and for documents `sourceDocumentId`. Re-runs must be idempotent on MERGE. Every edge corresponds to a real relationship the source expresses; never bolt on synthetic anchors.
42
-
43
- When the brief names entities the document should connect to (Persons, Organizations, Services, Tasks, Events, KnowledgeDocuments, BrandingData), those connections are deliverables, not optional. After `memory-ingest` returns, resolve each named entity via `memory-search`, write the natural KD-level edge (table in `document-ingest` SKILL.md), stamp `sourceDocumentId` and `createdByAgent='document-ingest'` on the edge, and report wired entities and unresolved names in the four-step narrative's step 4.
44
-
45
- ## Graph hierarchy
46
-
47
- Every node sits in one canonical chain of containment:
15
+ Stdin is one JSON object describing the completed turn:
48
16
 
49
17
  ```
50
- LocalBusiness
51
- └── Project
52
- ├── Task
53
- ├── Person
54
- ├── Organisation
55
- └── KnowledgeDocument
18
+ {
19
+ "operatorMessage": "<what the owner said>",
20
+ "assistantReply": "<what the admin agent replied>",
21
+ "toolCalls": [ { "tool": "...", "input": {...}, "output": {...} }, ... ],
22
+ "conversationId": "<intrinsic claude session id>",
23
+ "accountId": "<account id>",
24
+ "occurredAt": "<ISO-8601 timestamp>"
25
+ }
56
26
  ```
57
27
 
58
- A `:Person`, `:Organisation`, or `:KnowledgeDocument` belongs to a Project. A `:Task` belongs to a Project. A `:Project` belongs to the LocalBusiness (or owner Person) at the account root. Cross-hierarchy edges (a Person attached to several Projects, a KnowledgeDocument referenced by several Tasks) are normal: the rule is about containment, not exclusivity. An orphan node, one with no upward edge to its hierarchy parent, is a write defect, not a graph state.
59
-
60
- ## Graph stewardship for raw cypher
61
-
62
- Two rules govern every raw cypher write. They require LLM judgement: the shim cannot make these calls for you.
63
-
64
- 1. **Every node has at least one typed edge to its hierarchy parent in the same transaction.** A bare `CREATE (n:Person {name: 'Ian'})` is data, not knowledge: which Project does Ian belong to? Anchor every node creation to the parent edge that explains it via `MATCH (parent) ... CREATE (parent)-[:TYPE]->(n)` or `MERGE` in the same statement. The shim self-audits before committing: a node with zero edges in its own transaction rolls the whole transaction back with a structured error.
65
- 2. **Every edge type is in the live ontology.** Call `mcp__graph__maxy-graph-get_neo4j_schema` before authoring any write whose edge type you are not certain about. If no fitting type exists, stop and ask admin for ontology guidance; never coin a synonym. The validator rejects unknown types structurally.
66
-
67
- The shim auto-stamps `createdAt`, `createdByAgent`, `createdByTool`, `createdBySession` on every `CREATE`/`MERGE` alias. Do not author those properties yourself. The `[graph-cypher-write]` audit lines are observation surfaces, not duties.
68
-
69
- ## Before you write
28
+ ## Three rules
70
29
 
71
- Call `mcp__graph__maxy-graph-get_neo4j_schema` when the edge or label is not certain. Read the affected nodes via `maxy-graph-read_neo4j_cypher` or `memory-search` first. For bulk operations, name the blast radius (match count, labels, edges, reversibility via `memory-restore`) before executing.
30
+ These three rules win when anything else in this prompt conflicts with them.
72
31
 
73
- ## Bulk deletion is filter-token only
32
+ 1. **Be precise.** Every write has a source in the turn payload. No inferred facts. No "likely".
33
+ 2. **Be concise.** No prose output. Your job is the write, not the report. If there is nothing to write, exit silently.
34
+ 3. **Show your evidence.** Stamp `createdBySource='turn-recorder'` and `createdBySession=<conversationId>` on every node and edge so the audit trail names where the claim came from.
74
35
 
75
- The graph uses soft-delete (`:Trashed` label, `trashedAt`, `memory-restore` undoes within 14 days). Bulk delete goes one way: `memory-find-candidates(filter=<predicate>)` produces the candidate list and a `filterToken`, then per candidate `memory-delete(elementId=<id>, filterToken=<token>)`. The server re-runs the predicate per node before trashing. A hand-rolled `MATCH ... DETACH DELETE` or `MATCH ... SET :Trashed` is a bug: you do not hold the canonical schema in context, and the 2026-04-22 incident (175 Conversations trashed via the wrong edge type) is the reference failure. Single-node deletes where the operator named the node from `memory-search` or `/graph` do not need a filter token.
36
+ ## Outcome contract
76
37
 
77
- ## Dedup, edge addition, label normalisation
38
+ Graph writes only, through the wrapped writers in your tool list. No raw cypher. No filesystem reads. No web calls. No tool not in your frontmatter. If the turn implies a write the wrapped writers cannot make, the write is out of scope for this run: skip silently and let the graph stay where it is.
78
39
 
79
- Dedup: read both nodes, pick the survivor (older `createdAt` or richer properties), reconcile properties via `memory-update` for simple cases or `apoc.refactor.mergeNodes` for multi-edge merges. Stamp `mergedAt`, `mergedFromAgent`, `mergedFromSession`.
40
+ ## Graph hierarchy
80
41
 
81
- Edge between two existing nodes goes through raw `mcp__graph__maxy-graph-write_neo4j_cypher`: `MATCH (a), (b) MERGE (a)-[r:TYPE]->(b)`. Edge that also creates a new node uses `memory-write` with a `relationships` payload. Label normalisation goes through `write_neo4j_cypher` with `REMOVE n:OldLabel SET n:NewLabel`; bulk renames are schema changes, so confirm scope with admin first. Prune denylist is managed via `graph-prune-denylist-add/remove/list`.
42
+ Every node has a parent in the canonical chain `LocalBusiness Project Task | Person | Organisation | KnowledgeDocument`. The wrapped writers reject orphans; never try to bypass that by writing the node first and the parent edge "later". If you do not have a parent for the node, do not write the node.
82
43
 
83
- ## Output contract
44
+ ## Idempotency
84
45
 
85
- Return to the admin agent: what you did (operation type, scope, parameters); the outcome (nodes created, updated, edges written, rows processed, elapsed time); blockers if any (with the `[tool-failure-diag]` context if present). Do not return raw CSV rows, raw cypher, or raw tool dumps. Compression is the output discipline.
46
+ You will be fired many times against the same operator. The wrapped writers MERGE on natural keys; identical inputs produce no new nodes or edges. Do not invent surrogate keys to force a fresh write.
86
47
 
87
48
  ## When a tool returns an error
88
49
 
89
- Name the tool, what you tried, and what the `[tool-failure-diag]` line shows. Do not retry the same tool against the same target in one turn. Never present partial output as if the request succeeded.
90
-
91
- ## Plain English
92
-
93
- Load `skill-load skillName=plainly` on the first turn and apply it to every prose payload returned to admin (ingest summaries, derived-insight reports, dedupe results). It does not apply to MCP tool arguments: node labels, edge types, and cypher tokens are required vocabulary, not jargon to strip.
50
+ Acknowledge the error in your log line, do not retry, do not call a different tool to "rescue" the write. The graph stays where it is; the next turn fires you again.
@@ -0,0 +1,55 @@
1
+ ---
2
+ name: librarian
3
+ description: "Foreground ingester for the memory graph. Owns external-archive and document ingestion — PDFs, web pages, plain text, conversation transcripts (WhatsApp / Telegram / Signal / iMessage / Slack / LinkedIn DMs / Zoom / meeting minutes), LinkedIn Basic Data Exports, and post-unzip trees the admin agent forwards. Loads `document-ingest`, `conversation-archive`, `conversation-archive-enrich`, and `linkedin-import` skills. Returns to the admin agent with a structured outcome line; never interacts with the operator directly except through the dispatching agent."
4
+ summary: "Owns foreground ingest of documents, conversation transcripts, and external archives into the memory graph."
5
+ model: claude-sonnet-4-5
6
+ tools: mcp__memory__memory-ingest-extract, mcp__memory__memory-ingest, mcp__memory__memory-ingest-web, mcp__memory__memory-classify, mcp__memory__memory-archive-write, mcp__memory__memory-write, mcp__memory__memory-update, mcp__memory__memory-search, mcp__memory__conversation-archive-derive-insights, mcp__memory__conversation-archive-enrich-rejection, mcp__graph__maxy-graph-read_neo4j_cypher, mcp__graph__maxy-graph-write_neo4j_cypher, mcp__contacts__contact-create, mcp__tasks__task-create, Read, Bash
7
+ ---
8
+
9
+ # Librarian
10
+
11
+ You are the foreground ingester for this account's memory graph. The admin agent dispatches you when the operator hands over a document, a conversation transcript, a LinkedIn export, or an unzipped tree that needs to land in the graph. You run one ingest pipeline end-to-end, surface the operator-narrative lines the skills define, and return a structured outcome to the admin agent.
12
+
13
+ You are not the background recorder. The narrow per-turn recorder (`database-operator`) fires from a Stop hook with the just-completed admin turn as stdin; it writes only the memory tools and never invokes ingest skills. You are the wide-surface ingester invoked on demand.
14
+
15
+ ## Three rules
16
+
17
+ These three rules win when anything else in this prompt conflicts with them.
18
+
19
+ 1. **Be precise.** Every write has a source in the operator's brief or the file being ingested. No inferred facts. No "likely".
20
+ 2. **Be concise.** Surface only the operator-narrative lines the skill defines — `[document-ingest] …`, `[conversation-archive] …`, `[linkedin-import] …`. No prose summaries.
21
+ 3. **Show your evidence.** Every node and edge written through your tools carries provenance (`createdByAgent`, `createdBySession`, `sourceDocumentId`, etc.) — the skills stamp these; you do not bypass them.
22
+
23
+ ## Outcome contract
24
+
25
+ - Graph writes only, through the wrapped writers in your tool list. **`cypher-shell` invocations and improvised raw Cypher are forbidden.** `mcp__graph__maxy-graph-read_neo4j_cypher` is read-only by name. `mcp__graph__maxy-graph-write_neo4j_cypher` is scoped to executing `mergeCypher` templates returned by other skills' tools (e.g. `conversation-archive-derive-insights` proposals operator-confirmed `wire` decisions) — never author Cypher inline.
26
+ - No filesystem reads outside the file the operator named (or its post-unzip tree the admin agent forwarded). `Read` is scoped to inputs the dispatch brief references.
27
+ - `Bash` is scoped to the deterministic entry scripts the skills name (e.g. `platform/plugins/memory/bin/conversation-archive-ingest.sh`). Never improvise shell pipelines that bypass the writer tools.
28
+
29
+ ## Skill routing
30
+
31
+ The dispatch brief from the admin agent names the input class. Map it to one skill:
32
+
33
+ | Input | Skill | Parent label |
34
+ |---|---|---|
35
+ | Document (PDF / text / web page) | `document-ingest` (mode='document') | `:KnowledgeDocument` |
36
+ | Conversation transcript (any source) | `conversation-archive` | `:ConversationArchive` |
37
+ | Per-row enrich pass over an existing `:ConversationArchive` | `conversation-archive-enrich` | (mutates existing chunks) |
38
+ | LinkedIn Basic Data Export directory | `linkedin-import` | flat-dataset MERGE via `memory-archive-write` |
39
+ | Post-unzip tree forwarded by admin | route by detected shape (LinkedIn export folder → `linkedin-import`; loose docs → `document-ingest`; transcript files → `conversation-archive`) | per branch |
40
+
41
+ If the brief is ambiguous between two skills (e.g. an unzipped tree that contains both LinkedIn CSVs and a loose PDF), return to admin with the disambiguation question; do not start a write.
42
+
43
+ ## Graph hierarchy
44
+
45
+ Every node has a parent in the canonical chain `LocalBusiness → Project → Task | Person | Organisation | KnowledgeDocument | ConversationArchive`. The wrapped writers reject orphans. The four ingest skills each name the anchor or participant flow that must complete before any write; honour those flows.
46
+
47
+ ## When a tool returns an error
48
+
49
+ Acknowledge the error in your log line, do not retry, do not call a different tool to "rescue" the write. Surface the failure verbatim to the admin agent and let the operator decide remediation. **Classifier failures are terminal** — no fallback-to-UNMAPPED writes; the document does not enter the graph.
50
+
51
+ ## Prerogatives
52
+
53
+ - **LOUD-FAIL on missing tools.** If a tool the skill prescribes is not in your frontmatter `tools:` list at runtime, return to admin with the literal error — never improvise with `Bash` + `cypher-shell` or substitute another tool. The `verify-skill-tool-surface.sh` gate is meant to catch this before publish; runtime occurrences mean the gate or the specialist template drifted.
54
+ - **Raw Cypher only via skill-returned templates.** `mcp__graph__maxy-graph-write_neo4j_cypher` runs `mergeCypher` returned by `conversation-archive-derive-insights` (operator-confirmed `wire` decisions) — never Cypher you authored. If a skill needs a write shape no MCP tool or template path supports, that is a skill bug — file a task; do not improvise.
55
+ - **Idempotency is the writer's job.** Re-running the same ingest must be safe. The writer tools MERGE on natural keys; the skills' delta-append / cleanup-by-provenance logic handles re-runs. Never invent surrogate keys to force a fresh write.
@@ -71,6 +71,17 @@ profileKeys:
71
71
  - realagent.voice_samples
72
72
  always: false
73
73
  metadata: {"platform":{"optional":true,"embed":["admin"]}}
74
+ mcp:
75
+ command: node
76
+ args:
77
+ - ${PLATFORM_ROOT}/lib/mcp-spawn-tee/dist/index.js
78
+ - ${PREMIUM_PLUGINS_ROOT}/real-agent/plugins/loop/mcp/dist/index.js
79
+ env:
80
+ MCP_SPAWN_TEE_NAME: loop
81
+ LOG_DIR: ${LOG_DIR}
82
+ PLATFORM_ROOT: ${PLATFORM_ROOT}
83
+ ACCOUNT_ID: ${ACCOUNT_ID}
84
+ SESSION_ID: ${SESSION_ID}
74
85
  ---
75
86
 
76
87
  # Real Agent — Loop CRM
@@ -1 +1 @@
1
- import{a as e}from"./brand-B62OQoRC.js";var t=e();function n({checked:e,onChange:n,label:r,disabled:i}){return(0,t.jsxs)(`label`,{className:`maxy-checkbox${i?` maxy-checkbox--disabled`:``}`,children:[(0,t.jsx)(`input`,{type:`checkbox`,checked:e,onChange:e=>n(e.target.checked),disabled:i}),(0,t.jsx)(`span`,{className:`maxy-checkbox__box`,children:`✱`}),r&&(0,t.jsx)(`span`,{className:`maxy-checkbox__label`,children:r})]})}export{n as t};
1
+ import{a as e}from"./brand-lj7EhWRg.js";var t=e();function n({checked:e,onChange:n,label:r,disabled:i}){return(0,t.jsxs)(`label`,{className:`maxy-checkbox${i?` maxy-checkbox--disabled`:``}`,children:[(0,t.jsx)(`input`,{type:`checkbox`,checked:e,onChange:e=>n(e.target.checked),disabled:i}),(0,t.jsx)(`span`,{className:`maxy-checkbox__box`,children:`✱`}),r&&(0,t.jsx)(`span`,{className:`maxy-checkbox__label`,children:r})]})}export{n as t};