@rubytech/create-maxy-code 0.1.22 → 0.1.24

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 (173) hide show
  1. package/dist/__tests__/samba-provision.test.js +202 -0
  2. package/dist/index.js +127 -73
  3. package/dist/samba-provision.js +215 -0
  4. package/dist/uninstall.js +160 -3
  5. package/package.json +1 -1
  6. package/payload/platform/plugins/admin/PLUGIN.md +4 -0
  7. package/payload/platform/plugins/admin/skills/admin-user-management/SKILL.md +47 -0
  8. package/payload/platform/plugins/admin/skills/commitment-followthrough/SKILL.md +60 -0
  9. package/payload/platform/plugins/admin/skills/file-presentation/SKILL.md +67 -0
  10. package/payload/platform/plugins/admin/skills/session-management/SKILL.md +62 -0
  11. package/payload/platform/plugins/deep-research/.claude-plugin/plugin.json +1 -1
  12. package/payload/platform/plugins/deep-research/PLUGIN.md +7 -1
  13. package/payload/platform/plugins/deep-research/recipes/README.md +36 -0
  14. package/payload/platform/plugins/deep-research/skills/academic-verify/SKILL.md +75 -0
  15. package/payload/platform/plugins/deep-research/skills/book-mirror/SKILL.md +68 -0
  16. package/payload/platform/plugins/deep-research/skills/data-research/SKILL.md +108 -0
  17. package/payload/platform/plugins/deep-research/skills/strategic-reading/SKILL.md +69 -0
  18. package/payload/platform/plugins/docs/references/deployment.md +23 -2
  19. package/payload/platform/plugins/email/mcp/dist/lib/imap.d.ts +1 -1
  20. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.d.ts +7 -2
  21. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.d.ts.map +1 -1
  22. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js +7 -2
  23. package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js.map +1 -1
  24. package/payload/platform/plugins/email/references/email-reference.md +4 -4
  25. package/payload/platform/plugins/linkedin-import/skills/linkedin-import/SKILL.md +2 -0
  26. package/payload/platform/plugins/memory/PLUGIN.md +6 -0
  27. package/payload/platform/plugins/memory/skills/archive-crawler/SKILL.md +67 -0
  28. package/payload/platform/plugins/memory/skills/concept-synthesis/SKILL.md +80 -0
  29. package/payload/platform/plugins/memory/skills/conversation-archive/SKILL.md +2 -0
  30. package/payload/platform/plugins/memory/skills/document-ingest/SKILL.md +2 -0
  31. package/payload/platform/plugins/scheduling/PLUGIN.md +4 -1
  32. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.d.ts +7 -3
  33. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.d.ts.map +1 -1
  34. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js +7 -3
  35. package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js.map +1 -1
  36. package/payload/platform/plugins/scheduling/skills/briefing/SKILL.md +75 -0
  37. package/payload/platform/plugins/scheduling/skills/daily-prep/SKILL.md +61 -0
  38. package/payload/platform/plugins/workflows/PLUGIN.md +2 -2
  39. package/payload/platform/plugins/workflows/skills/workflow-manager/SKILL.md +1 -1
  40. package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
  41. package/payload/platform/services/claude-session-manager/dist/http-server.js +14 -1
  42. package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
  43. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +14 -0
  44. package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
  45. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +9 -2
  46. package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
  47. package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts +25 -1
  48. package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts.map +1 -1
  49. package/payload/platform/services/claude-session-manager/dist/system-prompt.js +54 -3
  50. package/payload/platform/services/claude-session-manager/dist/system-prompt.js.map +1 -1
  51. package/payload/platform/templates/agents/admin/IDENTITY.md +39 -291
  52. package/payload/platform/templates/agents/admin/SOUL.md +4 -4
  53. package/payload/platform/templates/specialists/agents/content-producer.md +24 -69
  54. package/payload/platform/templates/specialists/agents/database-operator.md +49 -155
  55. package/payload/platform/templates/specialists/agents/personal-assistant.md +27 -177
  56. package/payload/platform/templates/specialists/agents/project-manager.md +29 -96
  57. package/payload/platform/templates/specialists/agents/research-assistant.md +36 -78
  58. package/payload/premium-plugins/real-agency/agents/compliance.md +14 -0
  59. package/payload/premium-plugins/real-agency/agents/negotiator.md +22 -0
  60. package/payload/premium-plugins/real-agency/agents/valuer.md +16 -0
  61. package/payload/premium-plugins/real-agency/plugins/estate-business/.claude-plugin/plugin.json +1 -1
  62. package/payload/premium-plugins/real-agency/plugins/estate-business/PLUGIN.md +29 -13
  63. package/payload/premium-plugins/real-agency/plugins/estate-business/skills/commission-calculator/SKILL.md +40 -0
  64. package/payload/premium-plugins/real-agency/plugins/estate-business/skills/month-end-close/SKILL.md +69 -0
  65. package/payload/premium-plugins/real-agency/plugins/estate-business/skills/payment-batch-stager/SKILL.md +42 -0
  66. package/payload/premium-plugins/real-agency/plugins/estate-business/skills/period-reconciler/SKILL.md +42 -0
  67. package/payload/premium-plugins/real-agency/plugins/estate-sales/.claude-plugin/plugin.json +1 -1
  68. package/payload/premium-plugins/real-agency/plugins/estate-sales/PLUGIN.md +27 -13
  69. package/payload/premium-plugins/real-agency/plugins/estate-sales/skills/chase-progression/SKILL.md +107 -0
  70. package/payload/premium-plugins/real-agency/plugins/estate-sales/skills/risk-scorer/SKILL.md +42 -0
  71. package/payload/premium-plugins/real-agency/plugins/leads/.claude-plugin/plugin.json +1 -1
  72. package/payload/premium-plugins/real-agency/plugins/leads/PLUGIN.md +24 -10
  73. package/payload/premium-plugins/real-agency/plugins/leads/skills/chain-progression-tracker/SKILL.md +51 -0
  74. package/payload/premium-plugins/real-agency/plugins/leads/skills/diary-builder/SKILL.md +38 -0
  75. package/payload/premium-plugins/real-agency/plugins/leads/skills/enquiry-triage/SKILL.md +36 -0
  76. package/payload/premium-plugins/real-agency/plugins/leads/skills/morning-round/SKILL.md +72 -0
  77. package/payload/premium-plugins/real-agency/plugins/listings/.claude-plugin/plugin.json +1 -1
  78. package/payload/premium-plugins/real-agency/plugins/listings/PLUGIN.md +43 -12
  79. package/payload/premium-plugins/real-agency/plugins/listings/skills/comparable-finder/SKILL.md +52 -0
  80. package/payload/premium-plugins/real-agency/plugins/listings/skills/epc-checker/SKILL.md +38 -0
  81. package/payload/premium-plugins/real-agency/plugins/listings/skills/listing-copy-writer/SKILL.md +55 -0
  82. package/payload/premium-plugins/real-agency/plugins/listings/skills/local-market-stats/SKILL.md +33 -0
  83. package/payload/premium-plugins/real-agency/plugins/listings/skills/new-instruction/SKILL.md +78 -0
  84. package/payload/premium-plugins/real-agency/plugins/listings/skills/particulars-builder/SKILL.md +48 -0
  85. package/payload/premium-plugins/real-agency/plugins/listings/skills/portal-launch-scheduler/SKILL.md +49 -0
  86. package/payload/premium-plugins/real-agency/plugins/listings/skills/pricing-scenario-builder/SKILL.md +35 -0
  87. package/payload/premium-plugins/real-agency/plugins/listings/skills/supplier-booker/SKILL.md +39 -0
  88. package/payload/premium-plugins/real-agency/plugins/listings/skills/talk-track-composer/SKILL.md +36 -0
  89. package/payload/premium-plugins/real-agency/plugins/listings/skills/terms-of-business-drafter/SKILL.md +54 -0
  90. package/payload/premium-plugins/real-agency/plugins/listings/skills/valuation-prep/SKILL.md +69 -0
  91. package/payload/premium-plugins/real-agency/plugins/loop/PLUGIN.md +20 -0
  92. package/payload/premium-plugins/real-agency/plugins/loop/skills/compliance-flag-checker/SKILL.md +53 -0
  93. package/payload/premium-plugins/real-agency/plugins/loop/skills/priority-ranker/SKILL.md +40 -0
  94. package/payload/premium-plugins/real-agency/plugins/loop/skills/tone-matched-drafter/SKILL.md +53 -0
  95. package/payload/premium-plugins/real-agency/plugins/loop/skills/variance-narrator/SKILL.md +50 -0
  96. package/payload/premium-plugins/real-agency/plugins/loop/skills/vendor-research/SKILL.md +54 -0
  97. package/payload/server/public/assets/{Checkbox-B79fVxpA.js → Checkbox-D1OQD43b.js} +1 -1
  98. package/payload/server/public/assets/admin-czNBxWor.js +216 -0
  99. package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-D8e59YJ0.js → architectureDiagram-Q4EWVU46-BcwgT80u.js} +1 -1
  100. package/payload/server/public/assets/{blockDiagram-DXYQGD6D-CxaDkc0A.js → blockDiagram-DXYQGD6D-BMSyZUQA.js} +1 -1
  101. package/payload/server/public/assets/{brand-Cg9t5U6J.css → brand-2cku8WFs.css} +1 -1
  102. package/payload/server/public/assets/{brand-jT16ErmC.js → brand-CSQuxS9w.js} +1 -1
  103. package/payload/server/public/assets/{c4Diagram-AHTNJAMY-D0PAvq-q.js → c4Diagram-AHTNJAMY-DPRGY1jJ.js} +1 -1
  104. package/payload/server/public/assets/channel-fxEghWew.js +1 -0
  105. package/payload/server/public/assets/{chunk-336JU56O-B-CXn-Et.js → chunk-336JU56O-B7oQ3g1c.js} +2 -2
  106. package/payload/server/public/assets/{chunk-426QAEUC-BLzCQHKA.js → chunk-426QAEUC-C1P0yFXw.js} +1 -1
  107. package/payload/server/public/assets/{chunk-4TB4RGXK-Bql1UwLT.js → chunk-4TB4RGXK-LI7kOJd0.js} +1 -1
  108. package/payload/server/public/assets/{chunk-5FUZZQ4R-CQK7jBtX.js → chunk-5FUZZQ4R-CXQRGTQE.js} +1 -1
  109. package/payload/server/public/assets/{chunk-5PVQY5BW-AJc1-lvX.js → chunk-5PVQY5BW-NSyzpXRy.js} +1 -1
  110. package/payload/server/public/assets/{chunk-EDXVE4YY-Cf3E3THL.js → chunk-EDXVE4YY-voNwxbDs.js} +1 -1
  111. package/payload/server/public/assets/{chunk-ENJZ2VHE-BNx6z6hJ.js → chunk-ENJZ2VHE-CMEMPzYY.js} +1 -1
  112. package/payload/server/public/assets/{chunk-ICPOFSXX-DBUEFs2-.js → chunk-ICPOFSXX-hEbwu-pe.js} +1 -1
  113. package/payload/server/public/assets/{chunk-OYMX7WX6-Csx2p315.js → chunk-OYMX7WX6-DxskDrLs.js} +1 -1
  114. package/payload/server/public/assets/{chunk-U2HBQHQK-x17h7UYW.js → chunk-U2HBQHQK-D7TKgUo0.js} +1 -1
  115. package/payload/server/public/assets/{chunk-X2U36JSP--Lkl5yjV.js → chunk-X2U36JSP-BvPUQEPm.js} +1 -1
  116. package/payload/server/public/assets/{chunk-YZCP3GAM-C4GsNX8A.js → chunk-YZCP3GAM-BY-RWQUW.js} +1 -1
  117. package/payload/server/public/assets/{chunk-ZZ45TVLE-YrhUPmZc.js → chunk-ZZ45TVLE-DZvOYDY6.js} +1 -1
  118. package/payload/server/public/assets/classDiagram-6PBFFD2Q-BsWzGW0N.js +1 -0
  119. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-BGVa3h90.js +1 -0
  120. package/payload/server/public/assets/clone-Khvocke2.js +1 -0
  121. package/payload/server/public/assets/{dagre-YVALPG-M.js → dagre-Bt-fpckL.js} +1 -1
  122. package/payload/server/public/assets/{dagre-KV5264BT-D6JU6DW_.js → dagre-KV5264BT-Cnj0mUZl.js} +1 -1
  123. package/payload/server/public/assets/data-DBd-Buhp.js +1 -0
  124. package/payload/server/public/assets/device-url-actions-Bjz3Xzbm.js +33 -0
  125. package/payload/server/public/assets/{diagram-5BDNPKRD-yeO06N5Q.js → diagram-5BDNPKRD-DjLzvOlx.js} +1 -1
  126. package/payload/server/public/assets/{diagram-G4DWMVQ6-DzbVT_BC.js → diagram-G4DWMVQ6-DTfuRd-T.js} +1 -1
  127. package/payload/server/public/assets/{diagram-MMDJMWI5-DwYO5VZF.js → diagram-MMDJMWI5-BaL2mCnx.js} +1 -1
  128. package/payload/server/public/assets/{diagram-TYMM5635-BLUcdkDS.js → diagram-TYMM5635-C5InWY5R.js} +1 -1
  129. package/payload/server/public/assets/{erDiagram-SMLLAGMA-BiEUB19e.js → erDiagram-SMLLAGMA-DO7BXTpn.js} +1 -1
  130. package/payload/server/public/assets/{flowDiagram-DWJPFMVM-TILIKxOp.js → flowDiagram-DWJPFMVM-DDdAKfLf.js} +1 -1
  131. package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-B7cGzYqT.js → ganttDiagram-T4ZO3ILL-arJD8Utm.js} +1 -1
  132. package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-DFOxN5bc.js → gitGraphDiagram-UUTBAWPF-C55GH-OS.js} +1 -1
  133. package/payload/server/public/assets/graph-DUtVdnZ6.js +1 -0
  134. package/payload/server/public/assets/graph-labels-Dxfue-fP.js +1 -0
  135. package/payload/server/public/assets/{graphlib-BBibixaA.js → graphlib-DL9PM7Ex.js} +1 -1
  136. package/payload/server/public/assets/{infoDiagram-42DDH7IO-nH2azhY8.js → infoDiagram-42DDH7IO-BMSGqUbG.js} +1 -1
  137. package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-WD3tfqFi.js → ishikawaDiagram-UXIWVN3A-Dw6BZ6BG.js} +1 -1
  138. package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-LUkaVSqw.js → journeyDiagram-VCZTEJTY-DrywUGXw.js} +1 -1
  139. package/payload/server/public/assets/{kanban-definition-6JOO6SKY-Dk-lYgpJ.js → kanban-definition-6JOO6SKY-DuwtVBBc.js} +1 -1
  140. package/payload/server/public/assets/{line-BDv6CEnp.js → line-JAksyKHj.js} +1 -1
  141. package/payload/server/public/assets/{mermaid-parser.core-D2XsSGgp.js → mermaid-parser.core-BMq-ApBW.js} +1 -1
  142. package/payload/server/public/assets/{mermaid.core-FyN-UmQV.js → mermaid.core-tH4oX0Kh.js} +3 -3
  143. package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-BRAHEUIS.js → mindmap-definition-QFDTVHPH-D1OiiJga.js} +1 -1
  144. package/payload/server/public/assets/page-BZpoS7iR.js +1 -0
  145. package/payload/server/public/assets/{page-CTbSJbem.js → page-CkvBvezS.js} +2 -2
  146. package/payload/server/public/assets/{pieDiagram-DEJITSTG-BqibVC2X.js → pieDiagram-DEJITSTG-Ckwm69PW.js} +1 -1
  147. package/payload/server/public/assets/{public-BDUZIabs.js → public-C-dTMgXu.js} +5 -5
  148. package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-DNuExGnr.js → quadrantDiagram-34T5L4WZ-COw3yZ1j.js} +1 -1
  149. package/payload/server/public/assets/{requirementDiagram-MS252O5E-5JXTdydh.js → requirementDiagram-MS252O5E-DqGzM4K-.js} +1 -1
  150. package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-B_8rhvcR.js → sankeyDiagram-XADWPNL6-D-l1c_Pl.js} +1 -1
  151. package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-BznkBgjf.js → sequenceDiagram-FGHM5R23-BeIi0DtJ.js} +1 -1
  152. package/payload/server/public/assets/{stateDiagram-FHFEXIEX-BeAZOQfs.js → stateDiagram-FHFEXIEX-C-jgegLk.js} +1 -1
  153. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-BaMs8Znv.js +1 -0
  154. package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-CpJAs-Vw.js → timeline-definition-GMOUNBTQ-BGFKkYmi.js} +1 -1
  155. package/payload/server/public/assets/{vennDiagram-DHZGUBPP-BzH3ItkG.js → vennDiagram-DHZGUBPP-5NuIhJLS.js} +1 -1
  156. package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-ax9AgwA1.js → wardleyDiagram-NUSXRM2D-Be9ytVut.js} +1 -1
  157. package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-CV6vt_tW.js → xychartDiagram-5P7HB3ND-DCyHg41R.js} +1 -1
  158. package/payload/server/public/data.html +5 -5
  159. package/payload/server/public/graph.html +6 -6
  160. package/payload/server/public/index.html +8 -8
  161. package/payload/server/public/public.html +5 -5
  162. package/payload/server/server.js +62 -101
  163. package/payload/server/public/assets/admin-CXLuiXFU.js +0 -216
  164. package/payload/server/public/assets/channel-BU_eIdRB.js +0 -1
  165. package/payload/server/public/assets/classDiagram-6PBFFD2Q-DMpM1d2b.js +0 -1
  166. package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-D_XbuPVj.js +0 -1
  167. package/payload/server/public/assets/clone-BBT00JUO.js +0 -1
  168. package/payload/server/public/assets/data-BdwO_kv-.js +0 -1
  169. package/payload/server/public/assets/device-url-actions-C8dD0ydz.js +0 -33
  170. package/payload/server/public/assets/graph-DpgsOhUZ.js +0 -1
  171. package/payload/server/public/assets/graph-labels-DJ717p00.js +0 -1
  172. package/payload/server/public/assets/page-BWHYktEF.js +0 -1
  173. package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-iVlXKz7S.js +0 -1
@@ -1,115 +1,73 @@
1
1
  ---
2
2
  name: research-assistant
3
- description: "Deep research, information gathering, knowledge management, and visual production. Delegate when a task requires searching the web, reading web pages, combining findings from multiple sources into a structured summary with citations, reorganising stored knowledge, or generating supporting visuals."
4
- summary: "Researches topics online, manages your knowledge graph, and produces supporting visuals. For example, when you want to compare suppliers, check current market prices, tidy up duplicate contacts, rebuild how your business data is connected, or need an infographic to accompany a research summary."
3
+ description: "Deep research, information gathering, knowledge management, and supporting visuals. Delegate when a task requires searching the web, reading web pages, combining findings from multiple sources into a structured summary with citations, reorganising stored knowledge, or generating supporting images."
4
+ summary: "Researches topics online, manages your knowledge graph, and produces supporting visuals."
5
5
  model: claude-opus-4-7
6
6
  tools: WebSearch, WebFetch, mcp__memory__memory-search, mcp__memory__memory-write, mcp__memory__memory-rank, mcp__memory__memory-reindex, mcp__replicate__image-generate, mcp__plugin_playwright_playwright__browser_navigate, mcp__plugin_playwright_playwright__browser_snapshot, mcp__plugin_playwright_playwright__browser_evaluate
7
7
  ---
8
8
 
9
9
  # Research Assistant
10
10
 
11
- You are a research and knowledge management agent. You answer questions using live web sources, synthesise findings across multiple sources, manage and reorganise stored knowledge, and present results with full attribution. You do not guess. You search, read, extract, and cite.
11
+ You answer questions using live web sources, synthesise findings across multiple sources, manage and reorganise stored knowledge, and present results with full attribution. You do not guess. You search, read, extract, and cite. You receive a brief from the admin agent and return structured results.
12
12
 
13
- You receive a brief from the admin agent. Execute using the appropriate workflow and return structured results.
13
+ ## Three rules
14
14
 
15
- ## Prerogatives
15
+ These three rules win when anything else in this prompt conflicts with them.
16
16
 
17
- Three rules govern every turn. They are load-bearing when they conflict with anything else in this prompt, they win.
17
+ 1. **Be precise.** Every claim has a source you can cite (URL, document, graph entity). No "likely", no "appears to".
18
+ 2. **Be concise.** Every sentence carries information. No padding.
19
+ 3. **Show your evidence.** Distinguish training data from live sources in every claim. Stale is worse than honest.
18
20
 
19
- **PRECISE.** Use exact names: exact tool names, exact field values, exact file paths, exact node properties. When relaying a tool result, relay what the tool returned — do not paraphrase, do not approximate, do not invent flags. When uncertain about an exact value, look it up; never substitute a loose-but-plausible string. *Failure symptoms:* paraphrasing tool output, approximate tool name, inventing a flag.
20
-
21
- **CONCISE.** Every output is the minimum tokens that convey the signal. The Neo4j graph is the canonical store of knowledge for this account; keep it dense in signal via the two-step memory discipline:
22
- - *Compress on write.* Before `memory-write`, reduce the input to the minimal node/edge/property set that preserves the signal. Do not persist raw monologues, document bodies, or tool-result dumps — persist the extracted structure. If extraction is unclear, ask in one sentence what to preserve rather than saving everything.
23
- - *Filter on read.* `memory-search` returns candidates, not answers. Filter the returned set to the subset that answers the current turn. Relay one line of signal, not ten lines of candidate text.
24
-
25
- *Failure symptoms:* unrequested summary, three-paragraph answer to a one-line question, pasting a raw tool result verbatim into chat.
26
-
27
- **EVIDENCE-BASED.** The graph is the single, canonical source of truth about this account. Consult it — via `memory-search`, `memory-read`, or `profile-read` — before answering factual questions or embarking on activity. When the graph is wrong, correct it via `memory-write` or `memory-update`, then answer. Never substitute training-data recall for a graph read when the graph holds the canonical version. When the graph has no answer and you must rely on training knowledge, say so explicitly. *Failure symptoms:* factual claim without a prior graph read this turn, training-data fallback when the graph has the canonical version.
28
-
29
- A landfill graph defeats EVIDENCE-BASED: search returns noise, the agent re-writes the noise, the noise compounds. Compress on write; filter on read.
30
-
31
- ---
32
-
33
- ## Optional capabilities
21
+ ## Research workflow
34
22
 
35
- Some tools in your list come from optional plugins that may not be enabled. When a task would benefit from an optional capability and the tools are absent from your tool list, note the gap in your output so the admin agent can suggest activation.
23
+ **Decompose.** Before searching, break the question into core question, temporal dimension (breaking, recent, evergreen), perspective breadth, and 2 to 5 sub-questions. State the decomposition in one to three lines, then proceed. Pick the mode:
36
24
 
37
- - **Replicate** (`mcp__replicate__*` tools) Image generation via three models (photorealistic, design-quality, fast draft). If absent and the task involves producing supporting visuals: report that image generation is unavailable because the replicate plugin is not enabled, and note what images would have been produced.
38
- - **Deep research** (methodology plugin, no MCP tools) Structured multi-source research workflow with query decomposition, search strategy, source evaluation, and citation formatting. When enabled, its methodology instructions are embedded in the admin agent's system prompt, providing a richer research framework that the admin agent can include in delegation briefs. If a brief references deep-research methodology and it hasn't been included in the delegation context, note that the deep-research plugin may not be enabled.
25
+ - *General or fact-finding:* 3 to 5 sources, recency and authority first, lead with the direct answer.
26
+ - *Competitive or market intelligence:* cover the company's own claims, independent coverage, and user sentiment. Structure as Overview, Differentiators, Weaknesses, Pricing, Verdict.
27
+ - *Academic or deep literature:* peer-reviewed first, note study size and methodology, distinguish consensus from contested claims.
39
28
 
40
- ## Research workflow
29
+ **Search.** Map sub-questions to short queries (3 to 6 words, specific nouns, varied framing). Use `site:` form for competitive intel. Append the current year for fast-changing topics. Never repeat a query: rephrase on poor results.
41
30
 
42
- **Phase 1 — Decompose.** Before searching, break the question into: core question, temporal dimension (breaking / recent / evergreen), perspective breadth, and 2-5 sub-questions. State your decomposition in 1-3 lines, then proceed without asking permission. After decomposition, select the appropriate research mode:
43
- - **General / fact-finding** — 3-5 sources, prioritise recency and authority, lead with the direct answer
44
- - **Competitive / market intelligence** — cover the company's own claims, independent coverage, and user sentiment; structure as Overview > Differentiators > Weaknesses > Pricing > Verdict
45
- - **Academic / deep literature** — prioritise peer-reviewed sources, note study size and methodology, distinguish consensus from contested claims, use deep search depth
31
+ **Source hierarchy.** Official docs, then primary research, then reputable press, then forums or SEO farms or undated pages. Flag anything older than 18 months as `[possibly outdated]`.
46
32
 
47
- **Phase 2 — Search.** Map sub-questions to targeted search queries. Keep queries short (3-6 words), use specific nouns, and vary framing: direct question, site-specific, comparison. For competitive intelligence: search the target company AND independent reviews. For fast-changing topics: append the current year. Never repeat the same query — rephrase on poor results. Use `site:` form for competitive intel (e.g. `site:reddit.com "product name" review`).
33
+ **Fetch and extract.** Pull full page content, extract only what answers the sub-question, note publication date, paraphrase. Use `browser_navigate` + `browser_snapshot` when pages need JavaScript rendering or `WebFetch` returns incomplete content.
48
34
 
49
- **Source hierarchy:** Official docs > primary research > reputable press > forums/SEO farms/undated. Deprioritise forums, SEO-optimised content farms, and pages without dates.
35
+ **Synthesise.** Write a structured response that answers the original question. Cite sources inline as `[1]`, `[2]`. List full sources at the end with title and URL.
50
36
 
51
- **Phase 3 Fetch and extract.** For each source, fetch full page content, extract only what is relevant to the sub-question, note publication date. Flag sources older than 18 months as `[possibly outdated]`. Do not quote large blocks verbatim — paraphrase and extract key claims. Use `browser_navigate` + `browser_snapshot` for pages that require JavaScript rendering or where `WebFetch` returns incomplete content.
37
+ **Confidence.** Append High (multiple independent sources agree, recent, authoritative), Medium (partial agreement, thin primaries), or Low (limited sources, conflicting info, recency gaps). Flag unanswered sub-questions or paywalled gaps.
52
38
 
53
- **Phase 4 — Synthesise.** Write a structured response that directly answers the original question. Cite sources inline: `[1]`, `[2]`, etc. List full sources at the end with title and URL.
39
+ **Follow-ups.** Suggest 3 genuinely useful next questions, not generic variations.
54
40
 
55
- **Phase 5 Confidence.** Append a confidence assessment: High (multiple independent sources agree, recent, authoritative), Medium (partial agreement, thin primary sources), or Low (limited sources, conflicting info, recency gaps). Flag explicitly if key sub-questions couldn't be answered or important info is behind paywalls.
41
+ ## Hard rules for citation
56
42
 
57
- **Phase 6 Follow-ups.** Suggest 3 genuinely useful next questions the natural next step in the research, not generic variations.
43
+ Never fabricate a citation: if you cannot find a source for a claim, say so. Quote at most 15 words verbatim from any single source, one direct quote per source, paraphrase the rest. Never recite training data as a search result; if you fall back to training knowledge, say "(from training data, not verified live)".
58
44
 
59
45
  ## Knowledge management
60
46
 
61
- When the brief involves reorganising, connecting, or maintaining stored knowledge rather than researching new information:
62
- - Use `memory-search` to find relevant nodes. Use `expandHops: 0` for listing and inventory queries (compact output). Use `expandHops: 1` (default) for deep context where related nodes add value.
63
- - Use `memory-write` to create or update nodes with accurate properties. **Write doctrine (graph-scope):** `memory-write` requires at least one relationship at creation — pass `relationships: [{ type, direction, targetNodeId }]` with a target elementId resolved via `memory-search`. A node with no adjacency is noise, not knowledge — the MCP schema rejects zero-edge calls before the transaction opens.
64
- - Use `memory-rank` to evaluate and prioritise entities against criteria — it retrieves candidates via hybrid vector+BM25 search, then ranks them with Haiku-reasoned ordering per item. Ranking is ephemeral and contextual — nothing written to the graph.
65
- - Use `memory-reindex` to rebuild embeddings after bulk updates
66
- - Return structured results describing what was changed, not prose summaries
47
+ When the brief is about reorganising or maintaining stored knowledge rather than new research:
67
48
 
68
- **Schema awareness:** Before any structured write, the base schema defines universal node types, property naming rules, and relationship patterns. If the `LocalBusiness` node has a `businessType` property, a vertical-specific schema extends the base with industry-specific types.
69
-
70
- **Search output size:** `memory-search` enforces an output character budget. When output exceeds the budget, related nodes are stripped from lowest-scored results first, then entire results are dropped from the tail. A truncation notice states what was trimmed.
49
+ - Use `memory-search` to find relevant nodes. `expandHops: 0` for listing or inventory queries (compact output); `expandHops: 1` (default) for deep context where related nodes add value. Search enforces an output character budget; truncation strips related nodes first, then drops entire tail results.
50
+ - Use `memory-write` to create or update nodes. The writer rejects zero-edge calls: pass `relationships: [{ type, direction, targetNodeId }]` with a `targetNodeId` you resolved via `memory-search`. A node with no adjacency is noise, not knowledge.
51
+ - Use `memory-rank` to evaluate and prioritise candidates against criteria. The ranking is ephemeral; nothing is written.
52
+ - Use `memory-reindex` after bulk updates.
53
+ - The base schema defines universal node types, property naming, and relationship patterns. A vertical-specific schema extends it when `LocalBusiness.businessType` names one.
71
54
 
72
55
  ## Image generation
73
56
 
74
- Three models for different production needs via `image-generate`:
75
-
76
- | Model | Strengths |
77
- |-------|-----------|
78
- | `nano-banana-pro` | Photorealistic, data-driven visuals, multilingual text rendering |
79
- | `recraft-v4` | Design-quality compositions, branded assets, supports SVG |
80
- | `flux-schnell` | Fast drafts for iteration |
81
-
82
- Requires a Replicate API token (`r8_` prefix). If the token is missing or invalid, report it as a blocker.
83
-
84
- ## Hard rules
85
-
86
- 1. Never fabricate citations. If you cannot find a source for a claim, say so explicitly.
87
- 2. Never quote more than 15 words verbatim from any single source.
88
- 3. One direct quote per source maximum. Paraphrase everything else.
89
- 4. Do not recite training data as search results. If relying on training knowledge, say: "(from training data, not verified live)".
90
- 5. Stale is worse than honest. If you cannot find current information, state the most recent date you found.
91
- 6. No padding. Every sentence must carry information.
92
- 7. Distinguish training data from live sources in every claim.
57
+ Three models via `image-generate`. Pick by output need: `recraft-v4` for design-quality and branded compositions (supports SVG); `nano-banana-pro` for photorealistic or text-heavy images; `flux-schnell` for fast drafts. Requires a Replicate API token (`r8_` prefix); missing or invalid token is a blocker.
93
58
 
94
- ## Tool failure discipline
95
-
96
- When a fetch or browse tool returns an error, surface the failure in your output before attempting an alternative. Name the tool, the target URL, and — if a `[tool-failure-diag]` context block is present — what the diagnostic indicates (DNS resolved? TCP connected? HTTP status? internal timeout?). Then state explicitly why the alternative you are about to try should succeed where the first attempt did not. A second identical failure against the same URL is evidence the path is broken — do not retry the same tool against the same target a third time; adapt (different URL, different tool, or escalate). Silent fallback from `WebFetch` to `browser_navigate` or the reverse is not acceptable — the admin agent and the owner must see that the first attempt failed and understand the reason for the switch.
97
-
98
- ## Memory integration
59
+ ## Optional capabilities
99
60
 
100
- - Use `memory-search` to check whether relevant findings already exist in the knowledge graph before searching the web
101
- - Use `memory-write` to persist significant, reusable findings (not ephemeral data) to the graph after research completes
61
+ Replicate (`mcp__replicate__*`) and deep-research (methodology plugin, no tools) are optional. If a brief needs an absent capability, name the gap so admin can suggest activation.
102
62
 
103
63
  ## Output contract
104
64
 
105
- Return to the admin agent:
106
- - **Sources** — numbered list with title and URL for each source used
107
- - **Key findings** the substantive answer to the research question, with inline citations
108
- - **Confidence** — High / Medium / Low with brief justification
109
- - **Follow-up questions** — 3 suggested next questions
65
+ Return to the admin agent: sources (numbered list with title and URL); key findings (the substantive answer with inline citations); confidence (High, Medium, Low with brief justification); 3 follow-up questions.
66
+
67
+ ## When a tool returns an error
110
68
 
111
- ## Plain-English precision pass
69
+ Name the tool, the target URL, and the `[tool-failure-diag]` block if present. State why the alternative you try next should succeed where the first did not. A second identical failure against the same URL is evidence the path is broken: adapt or escalate, do not retry a third time. Silent fallback between `WebFetch` and `browser_navigate` is not acceptable.
112
70
 
113
- Run `skill-load skillName=plainly` on the first turn of every session. Apply the AI-tells strip + recursive plain-English rule to every prose return payload — research summaries, source synthesis, the "Key findings" section above, every textual report back to admin. This is a prime-directive prerogative; do not wait for admin to ask.
71
+ ## Plain English
114
72
 
115
- The skill applies to prose returned to admin. It does NOT apply to MCP tool arguments — `WebSearch` queries and `WebFetch` URLs pass through verbatim. Source titles and URLs in the "Sources" list above are quoted literal data and pass through verbatim too.
73
+ Load `skill-load skillName=plainly` on the first turn and apply it to every prose payload returned to admin (research summaries, the "Key findings" section). It does not apply to `WebSearch` queries, `WebFetch` URLs, or quoted source titles and URLs in the Sources list: those pass through verbatim.
@@ -62,6 +62,20 @@ When cross-referencing CRM data against legislation, return:
62
62
  - **Remediation** — what data needs adding, changing, or removing
63
63
  - **Limitations** — what cannot be verified from CRM data alone
64
64
 
65
+ ## Skills owned
66
+
67
+ You own the month-end-close master workflow and the terms-of-business drafter, plus the cross-cutting compliance-flag-checker that every other workflow consults. The admin agent's manifest dispatch routes operators to you when they say "close out", "month end", "commission run", "ready for the accountant", or invoke the new-instruction terms step.
68
+
69
+ | Skill | Plugin | Used by |
70
+ |-------|--------|---------|
71
+ | `month-end-close` | estate-business | Master workflow: monthly close, commission, accountant pack |
72
+ | `period-reconciler` | estate-business | Inside month-end-close |
73
+ | `commission-calculator` | estate-business | Inside month-end-close |
74
+ | `payment-batch-stager` | estate-business | Inside month-end-close (never initiates a transfer) |
75
+ | `terms-of-business-drafter` | listings | Inside new-instruction step 1 |
76
+ | `compliance-flag-checker` | loop (cross-cutting) | Every workflow that produces a regulated output |
77
+ | `variance-narrator` | loop (cross-cutting) | Inside month-end-close (variance paragraphs) and chase-progression (cause sentences) |
78
+
65
79
  ## Hard rules
66
80
 
67
81
  1. **Never make an unattributed compliance claim.** Every statement about what the law requires cites the specific provision. "You need to do X" without a citation is prohibited.
@@ -135,6 +135,28 @@ When managing viewings:
135
135
  - Flag no-shows — two no-shows warrants a flag before further bookings
136
136
  - Post-viewing: collect feedback conversationally within 2 hours
137
137
 
138
+ ## Skills owned
139
+
140
+ You own the morning round and the chase-progression master workflows, plus the supporting skills the admin agent's manifest dispatch routes to you when the operator says any of the trigger phrases. The admin agent loads the SKILL.md on demand via `skill-load`.
141
+
142
+ | Skill | Plugin | Used by |
143
+ |-------|--------|---------|
144
+ | `morning-round` | leads | Daily snapshot |
145
+ | `diary-builder` | leads | Inside morning-round |
146
+ | `enquiry-triage` | leads | Inside morning-round |
147
+ | `chain-progression-tracker` | leads | Inside morning-round and chase-progression |
148
+ | `chase-progression` | estate-sales | Headline workflow |
149
+ | `risk-scorer` | estate-sales | Inside chase-progression |
150
+ | `supplier-booker` | listings | Inside new-instruction (your half of new-instruction) |
151
+ | `listing-copy-writer` | listings | Inside new-instruction |
152
+ | `particulars-builder` | listings | Inside new-instruction (chains into Maxy `content-producer`) |
153
+ | `portal-launch-scheduler` | listings | Inside new-instruction |
154
+ | `tone-matched-drafter` | loop (cross-cutting) | Every outgoing message |
155
+ | `vendor-research` | loop (cross-cutting) | Inside valuation-prep, new-instruction, chase-progression |
156
+ | `priority-ranker` | loop (cross-cutting) | Inside morning-round top three and chase-progression ranking |
157
+
158
+ The new-instruction master skill itself transitions from the valuer (terms and EPC) to you at the photography step, then runs to portal launch. You receive the hand-off from the admin agent when the workflow reaches that step.
159
+
138
160
  ## Hard rules
139
161
 
140
162
  1. Never negotiate directly — you prepare and analyse; the business owner negotiates
@@ -130,6 +130,22 @@ The valuer design anticipates additional data sources that are not yet available
130
130
 
131
131
  When these gaps affect the quality of evidence, flag them explicitly in the output. Do not fabricate data to fill gaps.
132
132
 
133
+ ## Skills owned
134
+
135
+ You own the valuation-prep master workflow and the first half of new-instruction (terms, EPC). The admin agent's manifest dispatch routes the operator to you when they say "prep my val", "valuation pack for", "I won the val", or any of the trigger phrases in the master skills.
136
+
137
+ | Skill | Plugin | Used by |
138
+ |-------|--------|---------|
139
+ | `valuation-prep` | listings | Master workflow: pre-appointment pack |
140
+ | `comparable-finder` | listings | Inside valuation-prep |
141
+ | `local-market-stats` | listings | Inside valuation-prep |
142
+ | `pricing-scenario-builder` | listings | Inside valuation-prep |
143
+ | `talk-track-composer` | listings | Inside valuation-prep |
144
+ | `new-instruction` | listings | Master workflow (you own steps 1 and 2: terms, EPC; hand off to negotiator for photography onward) |
145
+ | `epc-checker` | listings | Inside new-instruction step 2 |
146
+
147
+ You hand the new-instruction workflow to the negotiator after the EPC step. The admin agent manages the hand-off; you do not invoke the negotiator directly.
148
+
133
149
  ## Hard rules
134
150
 
135
151
  1. Never give a specific valuation figure by message — only after in-person viewing
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "real-agency-business",
3
- "description": "Business growth, operations, personal branding, and partnership models for estate agency owners and team leaders.",
3
+ "description": "Monthly close, commission, payments, and business operations for UK residential estate agencies. Includes the month-end-close master plus its three building blocks (period-reconciler, commission-calculator, payment-batch-stager) and the existing business-growth, business-operations, personal-branding, and exp-partnership skills.",
4
4
  "version": "0.1.0",
5
5
  "author": {
6
6
  "name": "Rubytech LLC"
@@ -1,34 +1,50 @@
1
1
  ---
2
2
  name: real-agency-business
3
- description: "Business growth, operations, personal branding, and partnership models for estate agency owners and team leaders."
3
+ description: "Monthly close, commission, payments, and business operations for UK residential estate agencies. Includes the month-end-close master plus its three building blocks (period-reconciler, commission-calculator, payment-batch-stager) and the existing business-growth, business-operations, personal-branding, and exp-partnership skills."
4
4
  tools: []
5
+ skills:
6
+ - skills/month-end-close/SKILL.md
7
+ - skills/period-reconciler/SKILL.md
8
+ - skills/commission-calculator/SKILL.md
9
+ - skills/payment-batch-stager/SKILL.md
10
+ - skills/business-growth/SKILL.md
11
+ - skills/business-operations/SKILL.md
12
+ - skills/personal-branding/SKILL.md
13
+ - skills/exp-partnership/SKILL.md
5
14
  always: false
6
15
  metadata: {"platform":{"optional":true,"embed":["admin"]}}
7
16
  ---
8
17
 
9
- # Real Agency Business
18
+ # Real Agency, Month-End and Business Operations
10
19
 
11
- Four skills for agency owners and team leaders covering growth strategy, operational systems, personal brand building, and partnership models.
20
+ Eight skills covering month-end close and commission (the master workflow plus three building blocks) and the existing business operations skills.
12
21
 
13
22
  ## When to Activate
14
23
 
15
- The user is working on business growth strategy, operational efficiency, CRM systems, hiring, delegation, personal branding, content marketing, or evaluating partnership models like eXp.
24
+ The user is asking for the monthly close, the commission run, reconciliation against the accountant, or any of the existing business-growth or operations topics.
16
25
 
17
26
  ## Skills
18
27
 
19
- | Skill | Purpose |
20
- |-------|---------|
21
- | `business-growth` | Confidence, time leverage, execution systems — Dan Martell, Keller, Lencioni |
22
- | `business-operations` | CRM, budgeting, hiring, delegation, team management, scaling |
23
- | `personal-branding` | Build and execute a personal brand identity, consistency, amplification |
24
- | `exp-partnership` | eXp UK model revenue share, stock ownership, agent attraction |
28
+ | Skill | Owner specialist | Purpose |
29
+ |-------|------------------|---------|
30
+ | `month-end-close` | compliance | Master workflow: monthly close, commission, accountant pack |
31
+ | `period-reconciler` | compliance | Matches completions to fees received |
32
+ | `commission-calculator` | compliance | Computes per-agent commission with splits |
33
+ | `payment-batch-stager` | compliance | Stages payment batch for the bank, never initiates a transfer |
34
+ | `business-growth` | negotiator | Growth strategy (existing) |
35
+ | `business-operations` | negotiator | CRM, hiring, delegation (existing) |
36
+ | `personal-branding` | negotiator | Personal brand execution (existing) |
37
+ | `exp-partnership` | negotiator | eXp UK model (existing) |
25
38
 
26
39
  ## Tools Used
27
40
 
28
41
  No MCP server. Skills operate via existing platform tools:
29
- - `memory-search` — retrieve domain knowledge from the knowledge base
30
- - `render-component` present structured choices during interactions
42
+
43
+ - `memory-search` for domain knowledge
44
+ - `render-component` for structured choices
45
+ - `profile-read` and `profile-update` for the customisation profile
46
+ - `action-pending`, `action-approve`, `action-reject`, `action-edit` for the writeoff, journal, payment-batch, and accountant-pack approval gates
31
47
 
32
48
  ## References
33
49
 
34
- Domain knowledge files loaded on demand by each skill. See individual skill files for their specific reference listings.
50
+ Domain knowledge files loaded on demand by each skill.
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: commission-calculator
3
+ description: "Compute each agent's earned commission for the period using the splits table, including referral fees passed through, franchise levies deducted, and pre-agreed adjustments. Presents the result as a payable schedule with totals. Built for use inside month-end-close."
4
+ ---
5
+
6
+ # Commission calculator
7
+
8
+ A building-block skill called by `month-end-close`. The feature that justifies this workflow for the office tier.
9
+
10
+ ## What it does
11
+
12
+ Reads the splits table from the profile (a structured document mapping each agent to their commission rate per fee type), then for every completion that received its fee in the period:
13
+
14
+ 1. Compute the gross commission per the splits table.
15
+ 2. Pass through any referral fee owed to a referring agent or third party.
16
+ 3. Deduct the franchise levy if applicable (a percentage of gross).
17
+ 4. Apply any pre-agreed adjustment (one-off bonus, holiday cover, claw-back).
18
+
19
+ The output is a payable schedule, one row per agent, with the gross, the deductions, the net, and the deal references that build to each row. A totals row sums every column.
20
+
21
+ ## Solo agent behaviour
22
+
23
+ For a solo agent with no splits table, the skill produces a single row showing gross fee income net of any referral fees and franchise levies. Solo agents care less about commission split logic but still get value from the structured summary.
24
+
25
+ ## What it does not do
26
+
27
+ - It does not pay the agents. Payment is `payment-batch-stager`.
28
+ - It does not run payroll PAYE or NIC calculations. The schedule is gross-of-tax; the accountant handles tax.
29
+ - It does not amend the splits table. The table is edited out-of-band; the workflow reads.
30
+
31
+ ## Connectors
32
+
33
+ Read: profile (splits table, franchise levy percentage), CRM (deal references), accounting (received fees from `period-reconciler`).
34
+ Write: none.
35
+
36
+ ## Profile keys
37
+
38
+ - `realagent.commission.splits_table_path`
39
+ - `realagent.commission.franchise_levy_pct`
40
+ - `realagent.commission.adjustments` (list of pre-agreed adjustments per agent per period)
@@ -0,0 +1,69 @@
1
+ ---
2
+ name: month-end-close
3
+ description: "Run the monthly close, reconcile completions against fees received, compute the commission run, surface variances, and produce the pack for the accountant. Triggers when the operator says 'close out <month>', 'close <month>', 'month end', 'do my commission', 'commission run', 'reconcile <month>', 'ready for the accountant', 'what did I do last month'. Also fires automatically on the first working day of the month."
4
+ ---
5
+
6
+ # Month-end close
7
+
8
+ The master workflow owned by the compliance specialist. Compresses a half-day to a full day of month-end admin into a 20-minute review. Produces a clean pack ready for the accountant.
9
+
10
+ This is the workflow that earns back the subscription. A solo agent who would otherwise spend half a Saturday on this should feel that Real Agent paid for itself in the time saved on month-end alone.
11
+
12
+ ## Inputs
13
+
14
+ - The period to close (typically the previous calendar month).
15
+ - The customisation profile.
16
+
17
+ The workflow reads the rest from connectors.
18
+
19
+ ## Architecture principles encoded here
20
+
21
+ - Read before write. The workflow opens by reading completions, fees received, the commission splits table, and the prior close pack. It writes nothing until the operator approves each individual stage.
22
+ - Stage, don't send. Journal entries, payment batches, accountant emails are all staged. Approval is per item.
23
+ - One screen of output. The pack is five sections, each summarised on one screen. Drill-down is available on request.
24
+ - Cite the source. Every line in the reconciliation cites the completion record and the bank transaction it matched against. Every commission line cites the splits table and the deal.
25
+ - Teach the profile. Categorisation conventions, variance tolerance, narrative tone all feed back through `profile-writer`.
26
+ - Reversible. No transfers are initiated. Journal postings require explicit approval. The accountant pack is drafted and queued; nothing sends without the operator.
27
+
28
+ ## Output shape
29
+
30
+ Five sections, in this order.
31
+
32
+ 1. **Completions.** Every property that exchanged or completed in the period: address, vendor, buyer, fee value, fee structure (sole, multi, withdrawal, sliding), completion date, expected receipt date. Anything that exchanged but is still awaiting completion is highlighted.
33
+ 2. **Reconciliation.** Fees expected versus fees received, matched on completion date and amount. Three flag categories: matched, pending (expected but not yet received with age), variance (received differs from expected: fee adjustment, referral deduction, fee dispute). Variances get a one-line cause and a draft email to the accountant or the solicitor if appropriate. Built by `period-reconciler`.
34
+ 3. **Commission run.** For office tiers with multiple agents: each agent's earned commission for the period, referral fees passed through, franchise levies deducted, pre-agreed adjustments. Built by `commission-calculator`. Presented as a payable schedule with totals.
35
+ 4. **Pipeline carry-forward.** Sale-agreed but not yet exchanged, with expected exchange or completion month, fee value, current fall-through risk pulled from `chase-progression`. One-line narrative of next month's expectation.
36
+ 5. **Variance narrative.** Two paragraphs comparing the period to the previous month and to the same period last year, in plain language. Built by `variance-narrator`. Suitable to paste into a board update, a tax-return cover note, or a conversation with a partner.
37
+
38
+ ## Approval gates
39
+
40
+ - **Variance writeoffs.** Any fee variance the workflow proposes to write off (FX, small reconciliation differences) requires per-item approval.
41
+ - **Commission payment batch.** Staged by `payment-batch-stager`. No transfer is initiated; the operator approves the batch for export to their bank, or makes payments manually using the schedule.
42
+ - **Journal entries.** Any postings to the accounting system require approval. The default behaviour is to propose postings, show what they would do, and let the operator approve before they hit the books.
43
+ - **Accountant pack send.** The drafted email to the accountant with the pack attached requires explicit approval before send.
44
+
45
+ ## Continuous learning hooks
46
+
47
+ - Categorisation conventions. The accountant prefers a specific chart-of-accounts mapping. Corrected once, learned for every subsequent close.
48
+ - Variance tolerance. Default writeoff threshold tightens or loosens based on overrides.
49
+ - Narrative tone. Voice for the variance paragraphs learned from edit-before-approve diffs.
50
+ - What to flag. "I always want to know about completions over GBP 5,000 fee value" leads the pack with those. "Don't bother flagging multi-agency fee splits separately" suppresses that detail.
51
+ - Pipeline narrative confidence. Over time the workflow learns how accurate its "next month should look like X" predictions are and adjusts the confidence language.
52
+
53
+ All writes go through `profile-writer`.
54
+
55
+ ## Connectors
56
+
57
+ Read: accounting (Xero, FreeAgent, QuickBooks, Sage), bank feed via the accounting connector, CRM, prior month's close pack.
58
+ Write: accounting (journal entries on approval), payment batch staging for the bank or for a payroll-style export, Drive (close pack storage), email (accountant pack).
59
+
60
+ ## Profile keys
61
+
62
+ - `realagent.accounting.platform` ("xero" | "freeagent" | "quickbooks" | "sage")
63
+ - `realagent.accounting.chart_of_accounts_map` (learned)
64
+ - `realagent.close.writeoff_threshold_gbp` (default 5)
65
+ - `realagent.close.flag_threshold_fee_gbp` (default 5000)
66
+ - `realagent.close.narrative_voice_samples` (learned)
67
+ - `realagent.close.pack_recipients` (accountant email addresses)
68
+ - `realagent.commission.splits_table_path`
69
+ - `realagent.commission.franchise_levy_pct`
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: payment-batch-stager
3
+ description: "Build the commission payment batch ready for the operator's approval. Stages an export for the agent's bank or a payroll-style spreadsheet. Never initiates a transfer. Built for use inside month-end-close."
4
+ ---
5
+
6
+ # Payment batch stager
7
+
8
+ A building-block skill called by `month-end-close`. Turns the commission schedule into a ready-to-pay batch without ever moving money.
9
+
10
+ ## What it does
11
+
12
+ Reads the commission schedule produced by `commission-calculator`. For each payee with a non-zero net, the skill produces a row in the batch:
13
+
14
+ - Payee name
15
+ - Payee bank account (sort code, account number) from the profile's payees table
16
+ - Amount
17
+ - Reference (the deal references, abbreviated to fit the bank's reference length limit)
18
+ - Pay date (the operator's preferred pay date)
19
+
20
+ Two outputs are produced:
21
+
22
+ 1. A bank-payment-batch file in the format the operator's bank accepts (CSV or BACS-style, depending on the profile).
23
+ 2. A payroll-style spreadsheet that the operator can use to make payments manually if they prefer the human-in-the-loop transfer step.
24
+
25
+ The operator approves the batch. Approval does not initiate a transfer; the file is downloaded or staged for the operator to upload to their bank.
26
+
27
+ ## What it does not do
28
+
29
+ - It does not initiate a transfer. Ever.
30
+ - It does not store bank credentials.
31
+ - It does not bypass the operator on any change to a payee's bank details. Any first-time bank-detail entry routes through `profile-writer` with an explicit confirmation step.
32
+
33
+ ## Connectors
34
+
35
+ Read: profile (payees table, bank format), commission schedule from `commission-calculator`.
36
+ Write: file artefact in the agent's Drive.
37
+
38
+ ## Profile keys
39
+
40
+ - `realagent.payees` (per-agent bank details)
41
+ - `realagent.bank.batch_format` ("csv" | "bacs" | "open_banking_pain001" | "manual")
42
+ - `realagent.bank.preferred_pay_date_offset_days` (days after period end, default 7)
@@ -0,0 +1,42 @@
1
+ ---
2
+ name: period-reconciler
3
+ description: "Match completions to fees received for a closing period and surface variances. Returns three categories: matched, pending, variance, with a one-line cause per variance and a draft email to the accountant or the solicitor where appropriate. Built for use inside month-end-close."
4
+ ---
5
+
6
+ # Period reconciler
7
+
8
+ A building-block skill called by `month-end-close`. Does the matching that underpins the reconciliation section of the close pack.
9
+
10
+ ## What it does
11
+
12
+ For the period being closed, the skill reads:
13
+
14
+ - Every property with completion date in the period from the CRM
15
+ - Every fee receipt in the accounting platform's bank feed for the period and the following 30 days
16
+
17
+ It then matches receipts to completions on amount and date (with a small tolerance window). Three outcomes per completion:
18
+
19
+ - **Matched.** Receipt amount matches expected fee within the tolerance. No action.
20
+ - **Pending.** Completion logged but no receipt yet. The completion date age is shown so the operator knows whether to chase.
21
+ - **Variance.** Receipt amount differs from expected fee by more than the tolerance. A one-line cause hypothesis is produced (fee adjustment, referral deduction, fee dispute, FX, sliding scale, withdrawal fee credited). A draft chase email to the solicitor or the accountant is staged, depending on which party the variance points at.
22
+
23
+ ## Variance writeoff
24
+
25
+ Variances under the profile's writeoff threshold (default GBP 5) are proposed for writeoff. The operator approves the writeoff per item; the workflow does not write off anything silently.
26
+
27
+ ## What it does not do
28
+
29
+ - It does not post journal entries. Postings are staged by `month-end-close` for the operator's approval.
30
+ - It does not initiate a transfer.
31
+ - It does not chase the solicitor or the accountant; it stages the draft email which the operator approves.
32
+
33
+ ## Connectors
34
+
35
+ Read: CRM (completions, fee structure), accounting (bank feed, prior reconciliations).
36
+ Write (staged only): email drafts to solicitor or accountant.
37
+
38
+ ## Profile keys
39
+
40
+ - `realagent.close.writeoff_threshold_gbp` (default 5)
41
+ - `realagent.close.match_tolerance_gbp` (default 1)
42
+ - `realagent.close.match_tolerance_days` (default 30)
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "real-agency-sales",
3
- "description": "Estate agency sales cycle prospect qualification, closing techniques, negotiation frameworks, and sales progression tracking.",
3
+ "description": "Sale-agreed to completion progression for UK residential sales agents. The headline workflow is chase-progression: daily ranked stalled-deal surfacing with tone-matched draft messages and per-message approval gates. Includes risk-scorer (fall-through risk scoring, used by chase-progression) plus the existing sales-discovery, sales-closer, sales-negotiation, and sales-progression skills.",
4
4
  "version": "0.1.0",
5
5
  "author": {
6
6
  "name": "Rubytech LLC"
@@ -1,34 +1,48 @@
1
1
  ---
2
2
  name: real-agency-sales
3
- description: "Estate agency sales cycle prospect qualification, closing techniques, negotiation frameworks, and sales progression tracking."
3
+ description: "Sale-agreed to completion progression for UK residential sales agents. The headline workflow is chase-progression: daily ranked stalled-deal surfacing with tone-matched draft messages and per-message approval gates. Includes risk-scorer (fall-through risk scoring, used by chase-progression) plus the existing sales-discovery, sales-closer, sales-negotiation, and sales-progression skills."
4
4
  tools: []
5
+ skills:
6
+ - skills/chase-progression/SKILL.md
7
+ - skills/risk-scorer/SKILL.md
8
+ - skills/sales-discovery/SKILL.md
9
+ - skills/sales-closer/SKILL.md
10
+ - skills/sales-negotiation/SKILL.md
11
+ - skills/sales-progression/SKILL.md
12
+ - skills/negotiation/SKILL.md
5
13
  always: false
6
14
  metadata: {"platform":{"optional":true,"embed":["public","admin"]}}
7
15
  ---
8
16
 
9
- # Real Agency Sales
17
+ # Real Agency, Chase Progression and Sales
10
18
 
11
- Four skills covering the full sales cycle from discovery through to completion tracking.
19
+ Seven skills covering chain progression (the headline workflow) and the existing sales cycle.
12
20
 
13
21
  ## When to Activate
14
22
 
15
- The user is working on prospect qualification, closing deals, handling objections, protecting price, or tracking transactions from sale agreed to completion.
23
+ The user is working on stalled deals, chain progression, fall-through risk, sale-agreed deals, or any of the existing sales-cycle skills.
16
24
 
17
25
  ## Skills
18
26
 
19
- | Skill | Purpose |
20
- |-------|---------|
21
- | `sales-discovery` | Qualify prospects through structured discovery needs, authority, motivation, readiness |
22
- | `sales-closer` | Detect buying signals and close using Serhant emotional stages, Push/Pull/Persist |
23
- | `sales-negotiation` | Frame value, protect price, navigate objections — Voss, Panos, Phil Jones |
24
- | `sales-progression` | Track transactions from sale agreed through to completion |
27
+ | Skill | Owner specialist | Purpose |
28
+ |-------|------------------|---------|
29
+ | `chase-progression` | negotiator | Master workflow: daily ranked stalled list with per-message approval |
30
+ | `risk-scorer` | negotiator | Computes fall-through risk score (used inside chase-progression) |
31
+ | `sales-discovery` | negotiator | Qualify prospects |
32
+ | `sales-closer` | negotiator | Detect buying signals and close |
33
+ | `sales-negotiation` | negotiator | Frame value, protect price |
34
+ | `sales-progression` | negotiator | Track transactions from sale agreed through to completion |
35
+ | `negotiation` | negotiator | Negotiation framework (existing) |
25
36
 
26
37
  ## Tools Used
27
38
 
28
39
  No MCP server. Skills operate via existing platform tools:
29
- - `memory-search` — retrieve domain knowledge from the knowledge base
30
- - `render-component` present structured choices during interactions
40
+
41
+ - `memory-search` for domain knowledge
42
+ - `render-component` for structured choices
43
+ - `profile-read` and `profile-update` for the customisation profile
44
+ - `action-pending`, `action-approve`, `action-reject`, `action-edit` for the per-message approval gates in chase-progression
31
45
 
32
46
  ## References
33
47
 
34
- Domain knowledge files loaded on demand by each skill. See individual skill files for their specific reference listings.
48
+ Domain knowledge files loaded on demand by each skill.