@rubytech/create-realagent-code 0.1.264 → 0.1.266

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 (201) hide show
  1. package/package.json +1 -1
  2. package/payload/platform/lib/models/dist/index.d.ts +1 -1
  3. package/payload/platform/lib/models/dist/index.d.ts.map +1 -1
  4. package/payload/platform/lib/models/dist/index.js +5 -2
  5. package/payload/platform/lib/models/dist/index.js.map +1 -1
  6. package/payload/platform/lib/models/src/index.ts +5 -2
  7. package/payload/platform/neo4j/schema.cypher +13 -0
  8. package/payload/platform/plugins/admin/.claude-plugin/plugin.json +1 -1
  9. package/payload/platform/plugins/admin/PLUGIN.md +7 -2
  10. package/payload/platform/plugins/admin/mcp/dist/__tests__/skill-search.test.d.ts +2 -0
  11. package/payload/platform/plugins/admin/mcp/dist/__tests__/skill-search.test.d.ts.map +1 -0
  12. package/payload/platform/plugins/admin/mcp/dist/__tests__/skill-search.test.js +106 -0
  13. package/payload/platform/plugins/admin/mcp/dist/__tests__/skill-search.test.js.map +1 -0
  14. package/payload/platform/plugins/admin/mcp/dist/index.js +37 -2
  15. package/payload/platform/plugins/admin/mcp/dist/index.js.map +1 -1
  16. package/payload/platform/plugins/admin/mcp/dist/skill-resolution.d.ts +12 -0
  17. package/payload/platform/plugins/admin/mcp/dist/skill-resolution.d.ts.map +1 -1
  18. package/payload/platform/plugins/admin/mcp/dist/skill-resolution.js +175 -1
  19. package/payload/platform/plugins/admin/mcp/dist/skill-resolution.js.map +1 -1
  20. package/payload/platform/plugins/admin/skills/platform-architecture/SKILL.md +247 -239
  21. package/payload/platform/plugins/admin/skills/public-agent-manager/SKILL.md +2 -2
  22. package/payload/platform/plugins/admin/skills/superpowers-sprint/SKILL.md +3 -3
  23. package/payload/platform/plugins/admin/skills/upgrade/SKILL.md +2 -2
  24. package/payload/platform/plugins/business-assistant/PLUGIN.md +1 -5
  25. package/payload/platform/plugins/cloudflare/PLUGIN.md +1 -1
  26. package/payload/platform/plugins/cloudflare/references/manual-setup.md +10 -10
  27. package/payload/platform/plugins/cloudflare/references/reset-guide.md +1 -1
  28. package/payload/platform/plugins/docs/.claude-plugin/plugin.json +1 -1
  29. package/payload/platform/plugins/docs/PLUGIN.md +6 -6
  30. package/payload/platform/plugins/docs/references/admin-session.md +1 -1
  31. package/payload/platform/plugins/docs/references/admin-ui.md +3 -3
  32. package/payload/platform/plugins/docs/references/cloudflare.md +1 -1
  33. package/payload/platform/plugins/docs/references/deployment.md +7 -7
  34. package/payload/platform/plugins/docs/references/linkedin-extension.md +4 -4
  35. package/payload/platform/plugins/docs/references/memory-guide.md +2 -2
  36. package/payload/platform/plugins/docs/references/neo4j.md +1 -1
  37. package/payload/platform/plugins/docs/references/outlook-guide.md +1 -1
  38. package/payload/platform/plugins/docs/references/platform.md +2 -2
  39. package/payload/platform/plugins/docs/references/plugins-guide.md +6 -6
  40. package/payload/platform/plugins/docs/references/troubleshooting.md +1 -1
  41. package/payload/platform/plugins/docs/references/voice-mirror-guide.md +9 -1
  42. package/payload/platform/plugins/linkedin-extension/.claude-plugin/plugin.json +1 -1
  43. package/payload/platform/plugins/linkedin-extension/PLUGIN.md +1 -1
  44. package/payload/platform/plugins/linkedin-extension/extension/README.md +4 -4
  45. package/payload/platform/plugins/linkedin-extension/extension/assets/pill.css +1 -1
  46. package/payload/platform/plugins/linkedin-extension/extension/content/profile.js +2 -2
  47. package/payload/platform/plugins/linkedin-extension/extension/content/thread.js +2 -2
  48. package/payload/platform/plugins/linkedin-extension/extension/manifest.json +3 -3
  49. package/payload/platform/plugins/linkedin-extension/extension/options/options.html +3 -3
  50. package/payload/platform/plugins/linkedin-import/.claude-plugin/plugin.json +1 -1
  51. package/payload/platform/plugins/linkedin-import/PLUGIN.md +2 -2
  52. package/payload/platform/plugins/memory/references/graph-primitives.md +1 -1
  53. package/payload/platform/plugins/memory/references/schema-base.md +1 -1
  54. package/payload/platform/plugins/memory/references/schema-construction.md +1 -1
  55. package/payload/platform/plugins/memory/skills/conversation-archive-mcp/SKILL.md +2 -2
  56. package/payload/platform/plugins/notion-import/.claude-plugin/plugin.json +1 -1
  57. package/payload/platform/plugins/notion-import/PLUGIN.md +2 -2
  58. package/payload/platform/plugins/obsidian-import/.claude-plugin/plugin.json +1 -1
  59. package/payload/platform/plugins/obsidian-import/PLUGIN.md +2 -2
  60. package/payload/platform/plugins/obsidian-import/skills/obsidian-import/SKILL.md +1 -1
  61. package/payload/platform/plugins/obsidian-import/skills/obsidian-import/references/attachments.md +1 -1
  62. package/payload/platform/plugins/obsidian-import/skills/obsidian-import/references/daily-notes.md +1 -1
  63. package/payload/platform/plugins/obsidian-import/skills/obsidian-import/references/vault-structure.md +1 -1
  64. package/payload/platform/plugins/obsidian-import/skills/obsidian-import/references/wikilinks.md +1 -1
  65. package/payload/platform/plugins/outlook/mcp/dist/index.js +1 -1
  66. package/payload/platform/plugins/outlook/references/auth.md +2 -2
  67. package/payload/platform/plugins/outlook/skills/outlook/SKILL.md +1 -1
  68. package/payload/platform/plugins/sales/.claude-plugin/plugin.json +1 -1
  69. package/payload/platform/plugins/sales/PLUGIN.md +8 -8
  70. package/payload/platform/plugins/sales/references/comparisons.md +18 -18
  71. package/payload/platform/plugins/sales/references/competitive-positioning.md +5 -5
  72. package/payload/platform/plugins/sales/references/faq.md +22 -22
  73. package/payload/platform/plugins/sales/references/objection-handling.md +3 -3
  74. package/payload/platform/plugins/sales/references/pricing.md +16 -16
  75. package/payload/platform/plugins/slides/PROVENANCE.md +1 -1
  76. package/payload/platform/plugins/substack-import/.claude-plugin/plugin.json +1 -1
  77. package/payload/platform/plugins/substack-import/PLUGIN.md +2 -2
  78. package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/format-login-start.test.d.ts +2 -0
  79. package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/format-login-start.test.d.ts.map +1 -0
  80. package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/format-login-start.test.js +16 -0
  81. package/payload/platform/plugins/whatsapp/mcp/dist/__tests__/format-login-start.test.js.map +1 -0
  82. package/payload/platform/plugins/whatsapp/mcp/dist/format.d.ts +7 -0
  83. package/payload/platform/plugins/whatsapp/mcp/dist/format.d.ts.map +1 -0
  84. package/payload/platform/plugins/whatsapp/mcp/dist/format.js +21 -0
  85. package/payload/platform/plugins/whatsapp/mcp/dist/format.js.map +1 -0
  86. package/payload/platform/plugins/whatsapp/mcp/dist/index.js +11 -19
  87. package/payload/platform/plugins/whatsapp/mcp/dist/index.js.map +1 -1
  88. package/payload/platform/plugins/whatsapp/references/channels-whatsapp.md +1 -1
  89. package/payload/platform/plugins/whatsapp/skills/connect-whatsapp/SKILL.md +15 -13
  90. package/payload/platform/plugins/x-import/.claude-plugin/plugin.json +1 -1
  91. package/payload/platform/plugins/x-import/PLUGIN.md +2 -2
  92. package/payload/platform/scripts/check-skill-frontmatter.mjs +8 -5
  93. package/payload/platform/scripts/wifi-provision-server/server.js +1 -1
  94. package/payload/platform/scripts/wifi-provision.sh +1 -1
  95. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.d.ts.map +1 -1
  96. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js +1 -0
  97. package/payload/platform/services/claude-session-manager/dist/canonical-tool-names.generated.js.map +1 -1
  98. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
  99. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +15 -15
  100. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
  101. package/payload/platform/services/claude-session-manager/dist/rc-daemon.d.ts +10 -0
  102. package/payload/platform/services/claude-session-manager/dist/rc-daemon.d.ts.map +1 -1
  103. package/payload/platform/services/claude-session-manager/dist/rc-daemon.js +59 -0
  104. package/payload/platform/services/claude-session-manager/dist/rc-daemon.js.map +1 -1
  105. package/payload/platform/templates/account.json +1 -1
  106. package/payload/platform/templates/agents/admin/IDENTITY.md +3 -3
  107. package/payload/platform/templates/specialists/.claude-plugin/plugin.json +1 -1
  108. package/payload/platform/templates/specialists/agents/content-producer.md +1 -1
  109. package/payload/platform/templates/specialists/agents/librarian.md +1 -1
  110. package/payload/platform/templates/specialists/agents/research-assistant.md +1 -1
  111. package/payload/premium-plugins/real-agent/BUNDLE.md +1 -1
  112. package/payload/premium-plugins/real-agent/agents/negotiator.md +1 -1
  113. package/payload/premium-plugins/real-agent/plugins/brochures/skills/property-brochure/SKILL.md +1 -1
  114. package/payload/premium-plugins/real-agent/plugins/listings/PLUGIN.md +1 -1
  115. package/payload/premium-plugins/real-agent/plugins/listings/skills/new-instruction/SKILL.md +1 -1
  116. package/payload/premium-plugins/real-agent/plugins/listings/skills/particulars-builder/SKILL.md +2 -2
  117. package/payload/premium-plugins/real-agent/plugins/loop/PLUGIN.md +1 -1
  118. package/payload/premium-plugins/real-agent/plugins/preval/PLUGIN.md +1 -1
  119. package/payload/server/{adminuser-self-heal-YC47O34W.js → adminuser-self-heal-LC7HZAC6.js} +17 -9
  120. package/payload/server/{chunk-HYQNUVGO.js → chunk-PFF6I7KP.js} +1 -8
  121. package/payload/server/{chunk-ZC63DFWF.js → chunk-SOLVVUST.js} +1 -1
  122. package/payload/server/maxy-edge.js +2 -2
  123. package/payload/server/public/assets/{AdminShell-8JLQM1Mz.js → AdminShell-BcHJy_Y2.js} +1 -1
  124. package/payload/server/public/assets/{Checkbox-CuFJh7lI.js → Checkbox-BY2lndUH.js} +1 -1
  125. package/payload/server/public/assets/{admin-D4nsdmKU.js → admin-C364q_-g.js} +1 -1
  126. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-D-ODjJS5.js → architectureDiagram-Q4EWVU46-B9ik0JyO.js} +1 -1
  127. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-DFuVe8f9.js → blockDiagram-DXYQGD6D-C-w-AMRJ.js} +1 -1
  128. package/payload/server/public/assets/{browser-DIKmvDl5.js → browser-D66JrDpx.js} +1 -1
  129. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-CeVLfznT.js → c4Diagram-AHTNJAMY-BH-b0NZ1.js} +1 -1
  130. package/payload/server/public/assets/channel-5xoW3jfU.js +1 -0
  131. package/payload/server/public/assets/{chunk-336JU56O-BTaLfR3a.js → chunk-336JU56O-CZHLbmJj.js} +2 -2
  132. package/payload/server/public/assets/{chunk-426QAEUC-BzTbm4pP.js → chunk-426QAEUC-Qx6Ggp9s.js} +1 -1
  133. package/payload/server/public/assets/{chunk-4TB4RGXK-SiUyOXVG.js → chunk-4TB4RGXK-J1Raz9l0.js} +1 -1
  134. package/payload/server/public/assets/{chunk-5FUZZQ4R-BcQ33LnT.js → chunk-5FUZZQ4R-D6TFnJVF.js} +1 -1
  135. package/payload/server/public/assets/{chunk-5PVQY5BW-CT7C1Tik.js → chunk-5PVQY5BW-CC5aEdzK.js} +1 -1
  136. package/payload/server/public/assets/{chunk-EDXVE4YY-CK3uI2u6.js → chunk-EDXVE4YY-Bfbcdcbt.js} +1 -1
  137. package/payload/server/public/assets/{chunk-ENJZ2VHE-Ddp8Otnw.js → chunk-ENJZ2VHE-7EKi84Dw.js} +1 -1
  138. package/payload/server/public/assets/{chunk-ICPOFSXX-DHTxymk_.js → chunk-ICPOFSXX-DIH1FT8n.js} +1 -1
  139. package/payload/server/public/assets/{chunk-OYMX7WX6-Heg3hegz.js → chunk-OYMX7WX6-MgP02n7p.js} +1 -1
  140. package/payload/server/public/assets/{chunk-U2HBQHQK-Cw2PR7aJ.js → chunk-U2HBQHQK-Cwmbq3M7.js} +1 -1
  141. package/payload/server/public/assets/{chunk-X2U36JSP-C7vBCAQQ.js → chunk-X2U36JSP-D65N3MkW.js} +1 -1
  142. package/payload/server/public/assets/{chunk-YZCP3GAM-BS8Mybh1.js → chunk-YZCP3GAM-BkCiRhSG.js} +1 -1
  143. package/payload/server/public/assets/{chunk-ZZ45TVLE-DmnbQp47.js → chunk-ZZ45TVLE-3BQY1FWN.js} +1 -1
  144. package/payload/server/public/assets/classDiagram-6PBFFD2Q-DRSNlIL5.js +1 -0
  145. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-CYvRRfMp.js +1 -0
  146. package/payload/server/public/assets/clone-DvQUt_lq.js +1 -0
  147. package/payload/server/public/assets/{dagre-D4i6r8zi.js → dagre-DVhW13RD.js} +1 -1
  148. package/payload/server/public/assets/{dagre-KV5264BT-znWS6Wh2.js → dagre-KV5264BT-CtfjEgDz.js} +1 -1
  149. package/payload/server/public/assets/{data-CHqF4bkS.js → data-uiOcPh8T.js} +1 -1
  150. package/payload/server/public/assets/{diagram-5BDNPKRD-B6tQBN1Y.js → diagram-5BDNPKRD-C8AXEFch.js} +1 -1
  151. package/payload/server/public/assets/{diagram-G4DWMVQ6-t73WpYIY.js → diagram-G4DWMVQ6-B1P8Cwuz.js} +1 -1
  152. package/payload/server/public/assets/{diagram-MMDJMWI5-Cm63UOJm.js → diagram-MMDJMWI5-QBVBnPmO.js} +1 -1
  153. package/payload/server/public/assets/{diagram-TYMM5635-DuTSLjVB.js → diagram-TYMM5635-D2xE8fN8.js} +1 -1
  154. package/payload/server/public/assets/{erDiagram-SMLLAGMA-sbHunitX.js → erDiagram-SMLLAGMA-DMee1Yih.js} +1 -1
  155. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-BWOrPuqz.js → flowDiagram-DWJPFMVM-DAd3JjoB.js} +1 -1
  156. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-WaLMGard.js → ganttDiagram-T4ZO3ILL-Bs33CmKo.js} +1 -1
  157. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-CsbIgKDn.js → gitGraphDiagram-UUTBAWPF-NXc8aeps.js} +1 -1
  158. package/payload/server/public/assets/{graph-kwyPyf_b.js → graph-BSHyF267.js} +1 -1
  159. package/payload/server/public/assets/{graph-labels-pX3uIQys.js → graph-labels-D5ecmK-Z.js} +1 -1
  160. package/payload/server/public/assets/{graphlib-B8yKFZvc.js → graphlib-DN7sm5nK.js} +1 -1
  161. package/payload/server/public/assets/{infoDiagram-42DDH7IO-Bd55TzsD.js → infoDiagram-42DDH7IO-D2g5STFr.js} +1 -1
  162. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-BFdOsA9f.js → ishikawaDiagram-UXIWVN3A-DBgfV-LB.js} +1 -1
  163. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-CMQ5XWO9.js → journeyDiagram-VCZTEJTY-Chh9lW9P.js} +1 -1
  164. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-_RpNNRN7.js → kanban-definition-6JOO6SKY-buI2AXpi.js} +1 -1
  165. package/payload/server/public/assets/{line-SkFxjGJ8.js → line-C8OFYjrW.js} +1 -1
  166. package/payload/server/public/assets/{mermaid-parser.core-Ddok2IAe.js → mermaid-parser.core-BI5Ythbv.js} +1 -1
  167. package/payload/server/public/assets/{mermaid.core-CihAjXBG.js → mermaid.core-C4dyl1Xw.js} +3 -3
  168. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-CJsq3hrO.js → mindmap-definition-QFDTVHPH-BbXKSpiv.js} +1 -1
  169. package/payload/server/public/assets/{pieDiagram-DEJITSTG-CSgg8lBB.js → pieDiagram-DEJITSTG-C8-OIoUW.js} +1 -1
  170. package/payload/server/public/assets/{public-BA9P-3ZV.js → public-DGlZwbyw.js} +3 -3
  171. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-TtHxMQtS.js → quadrantDiagram-34T5L4WZ-HOEtpu4n.js} +1 -1
  172. package/payload/server/public/assets/{requirementDiagram-MS252O5E-DdYupKtL.js → requirementDiagram-MS252O5E-DLxjohCO.js} +1 -1
  173. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-BVfdyUnO.js → sankeyDiagram-XADWPNL6-E_O_HiFL.js} +1 -1
  174. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-aFLOua6n.js → sequenceDiagram-FGHM5R23-C3-hhAup.js} +1 -1
  175. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-_3Ix8SPZ.js → stateDiagram-FHFEXIEX-BhAmQ0XX.js} +1 -1
  176. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-Dhrf9hq_.js +1 -0
  177. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-Bs96WqZ7.js → timeline-definition-GMOUNBTQ-DpfZt7xI.js} +1 -1
  178. package/payload/server/public/assets/{useSelectionMode-L9uAHstA.css → useSelectionMode-98jrB9kD.css} +1 -1
  179. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-DE_SxsN2.js → vennDiagram-DHZGUBPP-Ck2Ago5q.js} +1 -1
  180. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-DTCdKs6v.js → wardleyDiagram-NUSXRM2D-Dgk8C9kF.js} +1 -1
  181. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-CNIrxADs.js → xychartDiagram-5P7HB3ND-BRBSl8ID.js} +1 -1
  182. package/payload/server/public/browser.html +4 -4
  183. package/payload/server/public/data.html +5 -5
  184. package/payload/server/public/graph.html +6 -6
  185. package/payload/server/public/index.html +5 -5
  186. package/payload/server/public/public.html +4 -4
  187. package/payload/server/server.js +607 -5064
  188. package/payload/platform/plugins/business-assistant/references/quote-engine.md +0 -122
  189. package/payload/platform/plugins/business-assistant/references/quote-generation.md +0 -94
  190. package/payload/platform/plugins/business-assistant/references/quoting.md +0 -85
  191. package/payload/platform/plugins/business-assistant/skills/pricing-method/SKILL.md +0 -78
  192. package/payload/platform/plugins/business-assistant/skills/pricing-method/references/learning-from-history.md +0 -51
  193. package/payload/platform/plugins/business-assistant/skills/pricing-method/references/maintenance.md +0 -32
  194. package/payload/platform/plugins/business-assistant/skills/pricing-method/references/manual-definition.md +0 -42
  195. package/payload/platform/plugins/business-assistant/skills/pricing-method/references/verification.md +0 -37
  196. package/payload/server/public/assets/channel-Db8J_1Rl.js +0 -1
  197. package/payload/server/public/assets/classDiagram-6PBFFD2Q-DjquNGFr.js +0 -1
  198. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-CcE8sWEP.js +0 -1
  199. package/payload/server/public/assets/clone-xa7JZYoY.js +0 -1
  200. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-eVQQEyxx.js +0 -1
  201. /package/payload/server/public/assets/{useSelectionMode-Da9Glxvu.js → useSelectionMode-80iYuGPa.js} +0 -0
@@ -1,4 +1,4 @@
1
- /* "Add to Maxy" pill injected into LinkedIn profile and DM thread pages. */
1
+ /* "Add to Real Agent" pill injected into LinkedIn profile and DM thread pages. */
2
2
 
3
3
  #maxy-linkedin-pill.maxy-pill {
4
4
  position: relative;
@@ -48,7 +48,7 @@
48
48
  const detail = (reply && reply.detail) || ''
49
49
  console.error(TAG_ERROR + ' reason=' + reason + ' detail=' + detail)
50
50
  if (reason === 'auth') {
51
- setState(pill, 'auth', 'Sign in to Maxy')
51
+ setState(pill, 'auth', 'Sign in to Real Agent')
52
52
  pill.onclick = function () { chrome.runtime.openOptionsPage() }
53
53
  return
54
54
  }
@@ -67,7 +67,7 @@
67
67
  pill.id = PILL_ID
68
68
  pill.className = 'maxy-pill'
69
69
  pill.type = 'button'
70
- pill.textContent = 'Add to Maxy'
70
+ pill.textContent = 'Add to Real Agent'
71
71
  pill.dataset.state = 'idle'
72
72
  pill.addEventListener('click', function () { onClick(pill) })
73
73
  anchor.prepend(pill)
@@ -50,7 +50,7 @@
50
50
  const detail = (reply && reply.detail) || ''
51
51
  console.error(TAG_ERROR + ' reason=' + reason + ' detail=' + detail)
52
52
  if (reason === 'auth') {
53
- setState(pill, 'auth', 'Sign in to Maxy')
53
+ setState(pill, 'auth', 'Sign in to Real Agent')
54
54
  pill.onclick = function () { chrome.runtime.openOptionsPage() }
55
55
  return
56
56
  }
@@ -69,7 +69,7 @@
69
69
  pill.id = PILL_ID
70
70
  pill.className = 'maxy-pill'
71
71
  pill.type = 'button'
72
- pill.textContent = 'Add to Maxy'
72
+ pill.textContent = 'Add to Real Agent'
73
73
  pill.dataset.state = 'idle'
74
74
  pill.addEventListener('click', function () { onClick(pill) })
75
75
  anchor.prepend(pill)
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "manifest_version": 3,
3
- "name": "Maxy LinkedIn Ingest",
3
+ "name": "Real Agent LinkedIn Ingest",
4
4
  "version": "0.1.0",
5
- "description": "Add an Add-to-Maxy pill to LinkedIn profiles and DM threads. One click captures the page and posts to your Maxy admin.",
5
+ "description": "Add an Add-to-Real Agent pill to LinkedIn profiles and DM threads. One click captures the page and posts to your Real Agent admin.",
6
6
  "permissions": ["storage", "activeTab"],
7
7
  "host_permissions": ["https://www.linkedin.com/*"],
8
8
  "background": {
@@ -27,6 +27,6 @@
27
27
  "open_in_tab": true
28
28
  },
29
29
  "action": {
30
- "default_title": "Maxy LinkedIn Ingest — open options"
30
+ "default_title": "Real Agent LinkedIn Ingest — open options"
31
31
  }
32
32
  }
@@ -2,7 +2,7 @@
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="utf-8" />
5
- <title>Maxy LinkedIn Ingest — Options</title>
5
+ <title>Real Agent LinkedIn Ingest — Options</title>
6
6
  <style>
7
7
  body { font: 14px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; max-width: 480px; margin: 32px auto; padding: 0 16px; color: #111; }
8
8
  h1 { font-size: 18px; margin: 0 0 12px; }
@@ -16,8 +16,8 @@
16
16
  </style>
17
17
  </head>
18
18
  <body>
19
- <h1>Maxy LinkedIn Ingest</h1>
20
- <p>Point the extension at your Maxy admin host and paste your admin session key. The pill on LinkedIn will then post one-click captures to your admin.</p>
19
+ <h1>Real Agent LinkedIn Ingest</h1>
20
+ <p>Point the extension at your Real Agent admin host and paste your admin session key. The pill on LinkedIn will then post one-click captures to your admin.</p>
21
21
 
22
22
  <label for="admin-host">Admin host</label>
23
23
  <input id="admin-host" type="url" placeholder="https://your-tunnel.example.com" />
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linkedin-import",
3
- "description": "Import a LinkedIn Basic Data Export into the Maxy Neo4j graph. Skill-only plugin owned by the librarian specialist. Opt-in per brand — not enabled by default.",
3
+ "description": "Import a LinkedIn Basic Data Export into the Real Agent Neo4j graph. Skill-only plugin owned by the librarian specialist. Opt-in per brand — not enabled by default.",
4
4
  "version": "0.1.0",
5
5
  "author": {
6
6
  "name": "Rubytech LLC"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: linkedin-import
3
- description: "Import a LinkedIn Basic Data Export into the Maxy Neo4j graph. Skill-only plugin owned by the librarian specialist. Opt-in per brand — not enabled by default."
3
+ description: "Import a LinkedIn Basic Data Export into the Real Agent Neo4j graph. Skill-only plugin owned by the librarian specialist. Opt-in per brand — not enabled by default."
4
4
  tools: []
5
5
  always: false
6
6
  embed: false
@@ -10,7 +10,7 @@ metadata: {"platform":{"optional":true,"pluginKey":"linkedin-import"}}
10
10
 
11
11
  # LinkedIn Import
12
12
 
13
- Ingests a LinkedIn Basic Data Export (unzipped directory of CSVs + subdirectories) into the Maxy Neo4j graph. Skill-only plugin — no MCP server, no admin tools added. The skill runs under the `specialists:librarian` specialist, which owns foreground archive and document ingestion.
13
+ Ingests a LinkedIn Basic Data Export (unzipped directory of CSVs + subdirectories) into the Real Agent Neo4j graph. Skill-only plugin — no MCP server, no admin tools added. The skill runs under the `specialists:librarian` specialist, which owns foreground archive and document ingestion.
14
14
 
15
15
  ## When this applies
16
16
 
@@ -17,7 +17,7 @@ filter in the query.
17
17
 
18
18
  For visual exploration ("can I see this graphically?", "show me the graph"),
19
19
  tell the user to open the **Graph** menu item in the burger menu — it opens
20
- a Maxy-native force-directed view of their own brand's subgraph.
20
+ a Real Agent-native force-directed view of their own brand's subgraph.
21
21
  Do not build ad-hoc HTML visualizations, do not start a static file server,
22
22
  do not `Write` an `.html` file and navigate Playwright to it. The one-sentence
23
23
  reply ("Open the Graph menu item in the top-right — it opens a visual view
@@ -18,7 +18,7 @@ When loading this reference, confirm which schema files were consulted by noting
18
18
  | Job | `Order` | `schema:Order` + `cdm:Opportunity` | — | `accountId`, `orderNumber`, `customer` (id), `orderStatus` |
19
19
  | Event | `Event` | `schema:Event` | iCalendar (RFC 5545) | `accountId`, `name`, `startDate`, `endDate` |
20
20
  | Invoice | `Invoice` | `schema:Invoice` | UBL 2.1 + PDF/A | `accountId`, `confirmationNumber`, `customer` (id), `totalPaymentDue`, `paymentStatus` |
21
- | Service | `Service` | `schema:Service` | Schema.org JSON-LD | `accountId`, `name`, `description`, `offers` (price) |
21
+ | Service | `Service` | `schema:Service` | Schema.org JSON-LD | `accountId`, `name`, `description` |
22
22
  | PriceRule | `PriceSpecification` | `schema:PriceSpecification` | — | `accountId`, `price`, `priceCurrency` |
23
23
  | Communication | `Message` | `schema:Message` + `cdm:Activity` | — | `accountId`, `sender`, `recipient`, `dateSent`, `channel` |
24
24
  | Document | `DigitalDocument` | `schema:DigitalDocument` | Original format preserved | `accountId`, `name`, `dateCreated`, `encodingFormat` |
@@ -24,7 +24,7 @@ When loading this reference, confirm: "Using schema-base + schema-construction".
24
24
  | SubInvoice | `SubInvoice` | `schema:Invoice` | `accountId`, `subContractorId`, `jobId`, `period`, `days`, `amount`, `status` |
25
25
  | WhatsAppGroup | `WhatsAppGroup` | `cdm:Channel` | `accountId`, `groupId`, `jobId`, `clientName` |
26
26
 
27
- These entities are grounded in real builder job folders (the G.L. Smith & Sons "1845 12 Hickman Close" job: the `Q-1845` quote, the `1845.xlsx` Val/BDS 40+ line-item sheet, supplier invoices, and the per-trade structure). The 40+ `LineItem` rows per `Job` mirror the Val/BDS trade structure: Groundworks, Sub-Structure, Superstructure, Roof, Structural Alterations & Envelope, First Fix, Drylining & Plastering, Floor Screed, 2nd Fixing, Knock Throughs, Windows & Doors, Completion Items, Preliminaries, plus sub-contractor trades (Scaffolding, Roofing, Electrical, Plumbing, Plastering, Tiling, Decorations).
27
+ These entities model a general builder job folder: a `Job` carries many `LineItem` rows organised by trade stage, a generated client `QuoteDocument`, supplier and sub-contractor invoices, and per-trade structure. A residential building job's line items typically span stages such as groundworks, sub-structure, superstructure, roof, structural alterations & envelope, first fix, drylining & plastering, floor screed, second fixing, knock-throughs, windows & doors, completion items and preliminaries, plus sub-contractor trades (scaffolding, roofing, electrical, plumbing, plastering, tiling, decorations). The schema carries no client, job, or pricing data of its own — those are per-account runtime values.
28
28
 
29
29
  ### Distinctions from schema-trades
30
30
 
@@ -7,7 +7,7 @@ description: Operator-initiated, MCP-driven transcript ingest for Granola / Otte
7
7
 
8
8
  **Invoked from `specialists:librarian`** — the admin agent dispatches the librarian when the operator asks to ingest meetings from a transcription provider whose MCP is connected to Claude Code. The librarian loads this skill.
9
9
 
10
- **Sibling of [`conversation-archive`](../conversation-archive/SKILL.md), not a replacement.** The file-drop skill stays the canonical path for sources without an MCP (WhatsApp, Telegram, Signal, Slack, etc.). This skill is the canonical path for the three transcription providers Maxy's ICP pays for — Granola, Otter, Circleback — all of which ship first-class remote MCP servers. One skill fans out across three providers because the operator-facing flow is identical; the per-provider variance (which MCP tool to call, what the returned shape looks like) lives in the per-provider reference docs under [`../../references/transcript-formats/`](../../references/transcript-formats/).
10
+ **Sibling of [`conversation-archive`](../conversation-archive/SKILL.md), not a replacement.** The file-drop skill stays the canonical path for sources without an MCP (WhatsApp, Telegram, Signal, Slack, etc.). This skill is the canonical path for the three transcription providers Real Agent's ICP pays for — Granola, Otter, Circleback — all of which ship first-class remote MCP servers. One skill fans out across three providers because the operator-facing flow is identical; the per-provider variance (which MCP tool to call, what the returned shape looks like) lives in the per-provider reference docs under [`../../references/transcript-formats/`](../../references/transcript-formats/).
11
11
 
12
12
  **Shared writer surface.** Every meeting ingested through this skill lands as a `:ConversationArchive` indistinguishable in shape from a file-drop ingest of the same meeting:
13
13
 
@@ -151,7 +151,7 @@ For an empty-delta re-import (every meeting already ingested under the same `con
151
151
  - **Operator-initiated only.** No auto-sync, no polling, no scheduled invocation. Every ingest is one explicit operator request.
152
152
  - **Never auto-create a `:Person`.** Email-autoresolve binds to existing nodes only. The operator owns every create.
153
153
  - **One skill, not three.** Per-provider variance lives in the reference docs, not in three near-duplicate skills.
154
- - **Provider OAuth lives in the host.** Maxy never holds a Granola / Otter / Circleback token. The operator runs `claude mcp add` and authorises each provider in the provider's own UI.
154
+ - **Provider OAuth lives in the host.** Real Agent never holds a Granola / Otter / Circleback token. The operator runs `claude mcp add` and authorises each provider in the provider's own UI.
155
155
  - **`calendarEventId` is the future primary MERGE key.** This skill stamps it; the writer-side MERGE-on-calendar-event change is [Task 408](../../../../.tasks/408-conversation-archive-calendar-merge-key.md). Until then, cross-provider dedup of the same meeting requires the operator to use a single provider per meeting.
156
156
 
157
157
  ## Verification (post-write)
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "notion-import",
3
- "description": "Import a Notion workspace export (markdown + CSV directory) into the Maxy Neo4j graph. Skill-only plugin owned by the database-operator specialist. Opt-in per brand — not enabled by default.",
3
+ "description": "Import a Notion workspace export (markdown + CSV directory) into the Real Agent Neo4j graph. Skill-only plugin owned by the database-operator specialist. Opt-in per brand — not enabled by default.",
4
4
  "version": "0.1.0",
5
5
  "author": {
6
6
  "name": "Rubytech LLC"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: notion-import
3
- description: "Import a Notion workspace export (markdown + CSV directory) into the Maxy Neo4j graph. Skill-only plugin owned by the database-operator specialist. Opt-in per brand — not enabled by default."
3
+ description: "Import a Notion workspace export (markdown + CSV directory) into the Real Agent Neo4j graph. Skill-only plugin owned by the database-operator specialist. Opt-in per brand — not enabled by default."
4
4
  tools: []
5
5
  always: false
6
6
  embed: false
@@ -10,7 +10,7 @@ metadata: {"platform":{"optional":true,"pluginKey":"notion-import"}}
10
10
 
11
11
  # Notion Import
12
12
 
13
- Ingests a Notion workspace export (the native "Export all workspace content" markdown + CSV dump) into the Maxy Neo4j graph. Skill-only plugin — no MCP server, no admin tools added. The skill runs under `specialists:database-operator`, which owns graph-write delegation from admin.
13
+ Ingests a Notion workspace export (the native "Export all workspace content" markdown + CSV dump) into the Real Agent Neo4j graph. Skill-only plugin — no MCP server, no admin tools added. The skill runs under `specialists:database-operator`, which owns graph-write delegation from admin.
14
14
 
15
15
  ## When this applies
16
16
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "obsidian-import",
3
- "description": "Import an Obsidian vault (extracted directory of markdown notes + assets) into the Maxy Neo4j graph. Skill-only plugin owned by the database-operator specialist. Opt-in per brand — not enabled by default.",
3
+ "description": "Import an Obsidian vault (extracted directory of markdown notes + assets) into the Real Agent Neo4j graph. Skill-only plugin owned by the database-operator specialist. Opt-in per brand — not enabled by default.",
4
4
  "version": "0.1.0",
5
5
  "author": {
6
6
  "name": "Rubytech LLC"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: obsidian-import
3
- description: "Import an Obsidian vault (extracted directory of markdown notes + assets) into the Maxy Neo4j graph. Skill-only plugin owned by the database-operator specialist. Opt-in per brand — not enabled by default."
3
+ description: "Import an Obsidian vault (extracted directory of markdown notes + assets) into the Real Agent Neo4j graph. Skill-only plugin owned by the database-operator specialist. Opt-in per brand — not enabled by default."
4
4
  tools: []
5
5
  always: false
6
6
  embed: false
@@ -10,7 +10,7 @@ metadata: {"platform":{"optional":true,"pluginKey":"obsidian-import"}}
10
10
 
11
11
  # Obsidian Import
12
12
 
13
- Ingests an extracted Obsidian vault (a directory tree of `.md` notes, frontmatter, wikilinks, tags, and embedded attachments) into the Maxy Neo4j graph. Skill-only plugin — no MCP server, no admin tools added. The skill runs under the `specialists:database-operator` specialist, which owns external-archive ingestion.
13
+ Ingests an extracted Obsidian vault (a directory tree of `.md` notes, frontmatter, wikilinks, tags, and embedded attachments) into the Real Agent Neo4j graph. Skill-only plugin — no MCP server, no admin tools added. The skill runs under the `specialists:database-operator` specialist, which owns external-archive ingestion.
14
14
 
15
15
  ## When this applies
16
16
 
@@ -67,7 +67,7 @@ The skill drives filter selection conversationally — not from a hardcoded list
67
67
  - **Natural-edge discipline.** A wikilink `[[X]]` is the operator's statement "this note connects to X". That becomes either `:WIKILINKS_TO` (page-to-page within the vault) or `:MENTIONS` (page-to-entity). A tag `#foo` becomes `:TAGGED_WITH`. An embedded image becomes `:EMBEDDED_IN`. No synthetic edges; every edge corresponds to something the markdown actually expresses.
68
68
  - **No raw Cypher in this skill.** All writes route through `mcp__plugin_memory_memory__obsidian-vault-import`, which internally calls the `memory-archive-write` handler (the agent never invokes archive-write directly — `obsidian-vault-import` is the only tool the agent calls). Bash improvisation against `cypher-shell` is forbidden; if a vault structure the parser doesn't yet handle is needed, file a task to extend the parser library, never paper over it with a script.
69
69
  - **Provenance stamp.** Every node the handler creates carries `source='obsidian'`, `createdByAgent='obsidian-import'`, `createdBySource='obsidian-import'`, `createdBySession=<sessionId>`, `createdAt=datetime()`, plus `scope='admin'` for memory-visibility.
70
- - **Idempotency.** Same vault, same contents, same owner re-imported → `written.createdPages=0`, `mergedPages=0`, all `pagesUnchanged`. Changed pages update in place. No deletions on re-import (operator removes a note from the vault → the corresponding :KnowledgeDocument stays in Maxy until the operator explicitly trashes it).
70
+ - **Idempotency.** Same vault, same contents, same owner re-imported → `written.createdPages=0`, `mergedPages=0`, all `pagesUnchanged`. Changed pages update in place. No deletions on re-import (operator removes a note from the vault → the corresponding :KnowledgeDocument stays in Real Agent until the operator explicitly trashes it).
71
71
 
72
72
  ## File roster — references
73
73
 
@@ -1,6 +1,6 @@
1
1
  # Attachments
2
2
 
3
- How embedded images, PDFs, and other binary assets in vault pages land in Maxy.
3
+ How embedded images, PDFs, and other binary assets in vault pages land in Real Agent.
4
4
 
5
5
  ## Syntax surface
6
6
 
@@ -16,7 +16,7 @@ Signals are evaluated in that order; the first match wins. No signal → `noteDa
16
16
 
17
17
  When `noteDate` is non-null, the page's `:KnowledgeDocument` carries `noteDate: date('YYYY-MM-DD')` as a typed Neo4j `date` value. This is queryable: `MATCH (k:KnowledgeDocument) WHERE k.noteDate >= date('2026-01-01') RETURN k` returns every daily note from this year, without needing a separate `:Day` label.
18
18
 
19
- No `:Day` node is created. The brief originally proposed `(:Page)-[:HAS_NOTE]->(:Day {date})`; the Maxy graph encodes the same information as a property on the page itself, mirroring `:Person.birthDate` and `:Event.eventDate`. Date-bearing event semantics live on `:TimelineEvent` (per Task 306), not here — a daily note is a document-at-a-date, not an event-on-a-date.
19
+ No `:Day` node is created. The brief originally proposed `(:Page)-[:HAS_NOTE]->(:Day {date})`; the Real Agent graph encodes the same information as a property on the page itself, mirroring `:Person.birthDate` and `:Event.eventDate`. Date-bearing event semantics live on `:TimelineEvent` (per Task 306), not here — a daily note is a document-at-a-date, not an event-on-a-date.
20
20
 
21
21
  ## Folder semantics
22
22
 
@@ -30,7 +30,7 @@ Pages without frontmatter are ingested with empty `aliases` and `tags` fields; t
30
30
 
31
31
  ## Title
32
32
 
33
- Title is the filename without `.md`, normalised to NFC unicode form. Folder path is NOT part of the title — only the basename. Two pages can share a title (`Projects/Maxy.md` and `People/Adam.md/Maxy.md`); they MERGE separately because the natural key is the full `obsidianPath`, not the title.
33
+ Title is the filename without `.md`, normalised to NFC unicode form. Folder path is NOT part of the title — only the basename. Two pages can share a title (`Projects/Real Agent.md` and `People/Adam.md/Real Agent.md`); they MERGE separately because the natural key is the full `obsidianPath`, not the title.
34
34
 
35
35
  ## Content hash
36
36
 
@@ -9,7 +9,7 @@ The parser recognises four forms:
9
9
  | Form | Components | Example |
10
10
  |------|-----------|---------|
11
11
  | Bare | target | `[[Adam]]` |
12
- | With anchor | target, anchor | `[[Project Maxy#Goals]]` |
12
+ | With anchor | target, anchor | `[[Project Real Agent#Goals]]` |
13
13
  | With alias | target, alias | `[[Adam Langley\|Adam]]` |
14
14
  | Embed | target (routed to attachments OR page-embed) | `![[Diagram.png]]` |
15
15
 
@@ -58,7 +58,7 @@ function getConfig() {
58
58
  throw new Error("getConfig() called without ACCOUNT_ID — handler guard missing");
59
59
  }
60
60
  if (!OUTLOOK_CLIENT_ID) {
61
- throw new Error("OUTLOOK_CLIENT_ID is not configured. Set it in the operator's Maxy install before using outlook tools.");
61
+ throw new Error("OUTLOOK_CLIENT_ID is not configured. Set it in the operator's Real Agent install before using outlook tools.");
62
62
  }
63
63
  return {
64
64
  clientId: OUTLOOK_CLIENT_ID,
@@ -25,13 +25,13 @@ To re-vendor at a newer SHA:
25
25
  4. Bump `@maxy/outlook` version.
26
26
  5. Run the test suite.
27
27
 
28
- ## Entra app registration (one-time per Maxy install)
28
+ ## Entra app registration (one-time per Real Agent install)
29
29
 
30
30
  The plugin requires an Azure AD ("Entra ID") app the operator owns. Steps:
31
31
 
32
32
  1. Sign in to the [Azure portal](https://portal.azure.com) with a Microsoft account.
33
33
  2. Go to **Microsoft Entra ID → App registrations → New registration**.
34
- 3. **Name:** `Maxy Outlook` (or any name the operator prefers).
34
+ 3. **Name:** `Real Agent Outlook` (or any name the operator prefers).
35
35
  4. **Supported account types:** *Accounts in any organizational directory and personal Microsoft accounts*.
36
36
  5. **Redirect URI** (Platform: *Mobile and desktop applications*): `http://localhost`
37
37
  - **Note:** no port is specified. Microsoft Identity Platform treats native-app loopback redirects with port-flexible matching, allowing the plugin to use an ephemeral port.
@@ -25,7 +25,7 @@ Do **not** activate for:
25
25
 
26
26
  The Outlook plugin needs an **Entra app registration** in the operator's Microsoft tenant. This is a one-time-per-install step (not per-account), documented at [`references/auth.md`](references/auth.md).
27
27
 
28
- Once the Entra app exists and `OUTLOOK_CLIENT_ID` is set in the Maxy installation, run:
28
+ Once the Entra app exists and `OUTLOOK_CLIENT_ID` is set in the Real Agent installation, run:
29
29
 
30
30
  1. **`outlook-account-register`** — the tool returns an `authUrl`. The operator opens this URL in the VNC browser, signs in with the Microsoft account they want to connect, and consents to the requested scopes (`offline_access`, `User.Read`, `Mail.Read`, `Calendars.Read`, `Contacts.Read`).
31
31
  2. Tool returns `{ status: "registered", graphUserId, scopes, tokenExpSec }` once consent completes.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sales",
3
- "description": "Unified sales plugin for Maxy Phase 0. Detects buying signals, closes sales, frames value, handles objections, and captures prospect interest. Combines closing methodology with negotiation strategy for the public agent.",
3
+ "description": "Unified sales plugin for Real Agent Phase 0. Detects buying signals, closes sales, frames value, handles objections, and captures prospect interest. Combines closing methodology with negotiation strategy for the public agent.",
4
4
  "version": "0.1.0",
5
5
  "author": {
6
6
  "name": "Rubytech LLC"
@@ -1,12 +1,12 @@
1
1
  ---
2
2
  name: sales
3
- description: "Unified sales plugin for Maxy Phase 0. Detects buying signals, closes sales, frames value, handles objections, and captures prospect interest. Combines closing methodology with negotiation strategy for the public agent."
3
+ description: "Unified sales plugin for Real Agent Phase 0. Detects buying signals, closes sales, frames value, handles objections, and captures prospect interest. Combines closing methodology with negotiation strategy for the public agent."
4
4
  metadata: {"platform":{"always":true,"embed":["public"],"pluginKey":"sales","optional":true}}
5
5
  ---
6
6
 
7
7
  # Sales
8
8
 
9
- You are Maxy's sales agent. You detect buying signals, frame value, handle objections, close deals, and capture prospect contact details. You operate on every public agent conversation.
9
+ You are Real Agent's sales agent. You detect buying signals, frame value, handle objections, close deals, and capture prospect contact details. You operate on every public agent conversation.
10
10
 
11
11
  ## The Golden Rule
12
12
 
@@ -52,7 +52,7 @@ Principles, not scripts. Adapt to the conversation's tone.
52
52
 
53
53
  - **Direct Close** — Ask for commitment directly. Use when signals are strong: "Shall I get you set up?" / "Ready to go ahead?"
54
54
  - **Choice Close** — Present two options, both of which are a "yes": "Would you prefer Solo or Family?"
55
- - **Summary Close** — Recap their needs and what Maxy solves, then close. Use after long conversations with lots of detail shared.
55
+ - **Summary Close** — Recap their needs and what Real Agent solves, then close. Use after long conversations with lots of detail shared.
56
56
  - **Next-Step Close** — Propose a concrete small step: "The next step is getting your details on file — takes 30 seconds. Shall we do that now?"
57
57
  - **Return Close** — When a prospect returns after a gap, they are ready. Confirm, don't re-sell: "Great to hear from you! Sounds like you're ready — shall we get you signed up?"
58
58
 
@@ -79,13 +79,13 @@ Tone: warm, not pushy. Frame it as keeping them informed, not as a commitment. O
79
79
 
80
80
  You do not write any data. The name and email collected in conversation are persisted by admin-side tooling. If they decline, respect it and continue. Do not re-ask in the same session.
81
81
 
82
- ## Maxy Product Knowledge
82
+ ## Real Agent Product Knowledge
83
83
 
84
- Maxy is a personal and business AI assistant that runs on a device in your home or office. It connects to your services (calendar, email, WhatsApp, smart home) and acts as a proactive agent — not just a chatbot. It remembers context across conversations and takes action on your behalf.
84
+ Real Agent is a personal and business AI assistant that runs on a device in your home or office. It connects to your services (calendar, email, WhatsApp, smart home) and acts as a proactive agent — not just a chatbot. It remembers context across conversations and takes action on your behalf.
85
85
 
86
86
  Key differentiators:
87
87
  - **Runs locally** — your data stays on your premises, not in someone else's cloud
88
- - **Proactive** — Maxy reaches out to you, not just responds when asked
88
+ - **Proactive** — Real Agent reaches out to you, not just responds when asked
89
89
  - **Multi-channel** — works across WhatsApp, voice, web, and smart home
90
90
  - **Plugin-based** — modular capabilities you can add based on what you need
91
91
  - **Family-aware** — one system that knows and supports the whole household
@@ -101,6 +101,6 @@ Load the relevant reference when the situation requires it:
101
101
  - **Objections & pivots** → `references/objection-handling.md` — Feel/Felt/Found, price objections, concession strategy
102
102
  - **Competitive positioning** → `references/competitive-positioning.md` — differentiation without comparison, cheapest-vs-best principle
103
103
  - **Tracking & follow-up** → `references/close-tracking.md` — persisting close attempts to memory, follow-up scheduling, escalation after stalled closes
104
- - **Pricing** → `references/pricing.md` — Maxy plans, hardware, plugin packs, add-ons
105
- - **FAQ** → `references/faq.md` — common questions about Maxy, how it works, privacy, setup, capabilities
104
+ - **Pricing** → `references/pricing.md` — Real Agent plans, hardware, plugin packs, add-ons
105
+ - **FAQ** → `references/faq.md` — common questions about Real Agent, how it works, privacy, setup, capabilities
106
106
  - **Comparisons** → `references/comparisons.md` — competitor comparison tables for positioning conversations
@@ -4,7 +4,7 @@ Use these tables for internal positioning only. Never read a comparison table to
4
4
 
5
5
  ## vs ChatGPT / Claude (direct AI chat)
6
6
 
7
- | Dimension | ChatGPT / Claude Chat | Maxy |
7
+ | Dimension | ChatGPT / Claude Chat | Real Agent |
8
8
  |-----------|----------------------|------|
9
9
  | Mode | Reactive — you ask, it answers | Proactive — reaches out, reminds, acts |
10
10
  | Memory | Limited session context | Persistent memory across all conversations |
@@ -14,11 +14,11 @@ Use these tables for internal positioning only. Never read a comparison table to
14
14
  | Integration | Standalone | Connected to your calendar, email, WhatsApp, smart home |
15
15
  | Family | Individual only | Family-aware with shared context and individual privacy |
16
16
 
17
- **Key talking point:** "ChatGPT is brilliant at answering questions. Maxy is built to take action. It's the difference between a search engine and an assistant."
17
+ **Key talking point:** "ChatGPT is brilliant at answering questions. Real Agent is built to take action. It's the difference between a search engine and an assistant."
18
18
 
19
19
  ## vs Claude Cowork / AI Productivity Tools
20
20
 
21
- | Dimension | Claude Cowork | Maxy |
21
+ | Dimension | Claude Cowork | Real Agent |
22
22
  |-----------|--------------|------|
23
23
  | Focus | Work/professional tasks | Whole life — personal, family, home, work |
24
24
  | Environment | Cloud-based workspace | Local device in your home |
@@ -26,11 +26,11 @@ Use these tables for internal positioning only. Never read a comparison table to
26
26
  | Proactivity | On-demand | Proactive — initiates actions and reminders |
27
27
  | Family | Not designed for households | Multi-user family support |
28
28
 
29
- **Key talking point:** "Cowork is great for professional collaboration. Maxy manages your whole life — not just the work part."
29
+ **Key talking point:** "Cowork is great for professional collaboration. Real Agent manages your whole life — not just the work part."
30
30
 
31
31
  ## vs HubSpot / CRM Tools
32
32
 
33
- | Dimension | HubSpot | Maxy |
33
+ | Dimension | HubSpot | Real Agent |
34
34
  |-----------|---------|------|
35
35
  | Purpose | Business CRM and marketing | Personal/family life management |
36
36
  | Complexity | Enterprise-grade, steep learning curve | Conversational, learns from you naturally |
@@ -38,23 +38,23 @@ Use these tables for internal positioning only. Never read a comparison table to
38
38
  | Personal use | Not designed for personal life | Built for personal and family use |
39
39
  | Automation | Template-based workflows | Context-aware, adaptive actions |
40
40
 
41
- **Key talking point:** "HubSpot manages your business relationships. Maxy manages your life."
41
+ **Key talking point:** "HubSpot manages your business relationships. Real Agent manages your life."
42
42
 
43
43
  ## vs Calendly / Scheduling Tools
44
44
 
45
- | Dimension | Calendly | Maxy |
45
+ | Dimension | Calendly | Real Agent |
46
46
  |-----------|---------|------|
47
47
  | Scope | Meeting scheduling only | Full calendar management plus everything else |
48
48
  | Intelligence | Rule-based availability | Context-aware — knows your preferences, energy levels, travel time |
49
49
  | Integration | Calendar + video conferencing | Calendar + email + WhatsApp + smart home + everything |
50
50
  | Proactivity | Sends links when asked | Detects conflicts, suggests rescheduling, reminds proactively |
51
- | Cost | Free tier; Pro from $10/month | Included in Maxy Solo (£20/month) with all other capabilities |
51
+ | Cost | Free tier; Pro from $10/month | Included in Real Agent Solo (£20/month) with all other capabilities |
52
52
 
53
- **Key talking point:** "Calendly handles scheduling. Maxy handles scheduling, reminders, messages, and everything else — it's your whole assistant, not just a booking link."
53
+ **Key talking point:** "Calendly handles scheduling. Real Agent handles scheduling, reminders, messages, and everything else — it's your whole assistant, not just a booking link."
54
54
 
55
55
  ## vs Google Workspace / Microsoft 365
56
56
 
57
- | Dimension | Google/Microsoft Suite | Maxy |
57
+ | Dimension | Google/Microsoft Suite | Real Agent |
58
58
  |-----------|----------------------|------|
59
59
  | Model | Collection of separate apps | One unified brain across all services |
60
60
  | Intelligence | Each app has its own limited AI | One AI that understands context across everything |
@@ -63,11 +63,11 @@ Use these tables for internal positioning only. Never read a comparison table to
63
63
  | Family | Separate accounts, no shared intelligence | Family-aware with shared context |
64
64
  | Personal assistant | Fragmented (Assistant, Cortana) | Unified, persistent, proactive |
65
65
 
66
- **Key talking point:** "Google gives you the tools. Maxy uses the tools for you."
66
+ **Key talking point:** "Google gives you the tools. Real Agent uses the tools for you."
67
67
 
68
68
  ## vs WhatsApp Business / Messaging
69
69
 
70
- | Dimension | WhatsApp Business | Maxy |
70
+ | Dimension | WhatsApp Business | Real Agent |
71
71
  |-----------|------------------|------|
72
72
  | Channel | WhatsApp only | WhatsApp + voice + web + smart home |
73
73
  | Intelligence | Templates and auto-replies | Full AI understanding and action |
@@ -75,11 +75,11 @@ Use these tables for internal positioning only. Never read a comparison table to
75
75
  | Scope | Messaging | Messaging + calendar + tasks + smart home + everything |
76
76
  | Automation | Canned responses | Context-aware, personalised actions |
77
77
 
78
- **Key talking point:** "WhatsApp Business automates messages. Maxy understands conversations and acts on them."
78
+ **Key talking point:** "WhatsApp Business automates messages. Real Agent understands conversations and acts on them."
79
79
 
80
80
  ## vs Hiring Staff / Virtual Assistants
81
81
 
82
- | Dimension | Human VA / Staff | Maxy |
82
+ | Dimension | Human VA / Staff | Real Agent |
83
83
  |-----------|-----------------|------|
84
84
  | Availability | Business hours (or expensive 24/7) | Always on, 24/7 |
85
85
  | Cost | £1,500-3,000+/month for a good VA | From £20/month |
@@ -88,12 +88,12 @@ Use these tables for internal positioning only. Never read a comparison table to
88
88
  | Scale | One person, limited bandwidth | Handles everything simultaneously |
89
89
  | Ramp-up | Weeks to months to train | Minutes to set up, learns continuously |
90
90
 
91
- **Key talking point:** "A good VA costs £2,000/month and still can't be available at 3am. Maxy costs £20/month and never sleeps."
91
+ **Key talking point:** "A good VA costs £2,000/month and still can't be available at 3am. Real Agent costs £20/month and never sleeps."
92
92
 
93
93
  ## Positioning Principles
94
94
 
95
- 1. **Never disparage.** Present Maxy's strengths. Let the prospect draw comparisons.
95
+ 1. **Never disparage.** Present Real Agent's strengths. Let the prospect draw comparisons.
96
96
  2. **Lead with their criteria.** Ask what matters to them, then position against those criteria.
97
97
  3. **Be honest about limitations.** If a competitor genuinely does something better in a specific area, acknowledge it. Honesty builds trust.
98
- 4. **The real competitor is inertia.** Most prospects aren't choosing between Maxy and a competitor — they're choosing between Maxy and doing nothing. Position against the status quo.
99
- 5. **Use the "Two Options" framing.** "You can keep juggling twelve apps, or you can let Maxy handle it. Which sounds better?"
98
+ 4. **The real competitor is inertia.** Most prospects aren't choosing between Real Agent and a competitor — they're choosing between Real Agent and doing nothing. Position against the status quo.
99
+ 5. **Use the "Two Options" framing.** "You can keep juggling twelve apps, or you can let Real Agent handle it. Which sounds better?"
@@ -14,10 +14,10 @@ This is a universal truth that prospects intuitively understand. Use it as a pri
14
14
 
15
15
  ## Differentiation Without Comparison
16
16
 
17
- Instead of comparing features with competitors, focus on what makes Maxy different in terms the prospect cares about:
17
+ Instead of comparing features with competitors, focus on what makes Real Agent different in terms the prospect cares about:
18
18
 
19
19
  1. **Ask what matters:** "What's most important to you in choosing a solution?"
20
- 2. **Position on their criteria:** Use their answer to highlight Maxy's strengths
20
+ 2. **Position on their criteria:** Use their answer to highlight Real Agent's strengths
21
21
  3. **Let them draw the comparison:** "Based on what you've told me matters, here's how we approach that..."
22
22
 
23
23
  The prospect does the comparing. You just present your strengths against their stated criteria.
@@ -30,16 +30,16 @@ The prospect does the comparing. You just present your strengths against their s
30
30
  4. **Position on genuine differentiators:** Only mention things that are genuinely different, not marginally better.
31
31
  5. **If they ask you to compare directly:** "I can only speak to what we do well — I'd rather show you than tell you about someone else."
32
32
 
33
- ## Maxy's Core Differentiators
33
+ ## Real Agent's Core Differentiators
34
34
 
35
35
  When positioning against alternatives, these are the genuine differentiators:
36
36
 
37
37
  - **Local-first:** Data stays in the home. No cloud storage of personal information. This is unique among consumer AI assistants.
38
- - **Proactive, not reactive:** Maxy reaches out to you. It doesn't wait for you to open an app.
38
+ - **Proactive, not reactive:** Real Agent reaches out to you. It doesn't wait for you to open an app.
39
39
  - **Cross-channel:** One brain across WhatsApp, voice, web, and smart home. Not siloed apps.
40
40
  - **Family-aware:** Designed for households, not just individuals. Shared context with individual privacy.
41
41
  - **Skill-based:** Pay for what you use. Not a monolithic subscription with features you'll never touch.
42
- - **Agentic:** Maxy takes action (books, sends, reminds, manages) — not just answers questions.
42
+ - **Agentic:** Real Agent takes action (books, sends, reminds, manages) — not just answers questions.
43
43
 
44
44
  ## When They've Already Chosen the Competitor
45
45