@rubytech/create-realagent-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.
- package/dist/__tests__/samba-provision.test.js +202 -0
- package/dist/index.js +127 -73
- package/dist/samba-provision.js +215 -0
- package/dist/uninstall.js +160 -3
- package/package.json +1 -1
- package/payload/platform/plugins/admin/PLUGIN.md +4 -0
- package/payload/platform/plugins/admin/skills/admin-user-management/SKILL.md +47 -0
- package/payload/platform/plugins/admin/skills/commitment-followthrough/SKILL.md +60 -0
- package/payload/platform/plugins/admin/skills/file-presentation/SKILL.md +67 -0
- package/payload/platform/plugins/admin/skills/session-management/SKILL.md +62 -0
- package/payload/platform/plugins/deep-research/.claude-plugin/plugin.json +1 -1
- package/payload/platform/plugins/deep-research/PLUGIN.md +7 -1
- package/payload/platform/plugins/deep-research/recipes/README.md +36 -0
- package/payload/platform/plugins/deep-research/skills/academic-verify/SKILL.md +75 -0
- package/payload/platform/plugins/deep-research/skills/book-mirror/SKILL.md +68 -0
- package/payload/platform/plugins/deep-research/skills/data-research/SKILL.md +108 -0
- package/payload/platform/plugins/deep-research/skills/strategic-reading/SKILL.md +69 -0
- package/payload/platform/plugins/docs/references/deployment.md +23 -2
- package/payload/platform/plugins/email/mcp/dist/lib/imap.d.ts +1 -1
- package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.d.ts +7 -2
- package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.d.ts.map +1 -1
- package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js +7 -2
- package/payload/platform/plugins/email/mcp/dist/scripts/email-fetch.js.map +1 -1
- package/payload/platform/plugins/email/references/email-reference.md +4 -4
- package/payload/platform/plugins/linkedin-import/skills/linkedin-import/SKILL.md +2 -0
- package/payload/platform/plugins/memory/PLUGIN.md +6 -0
- package/payload/platform/plugins/memory/skills/archive-crawler/SKILL.md +67 -0
- package/payload/platform/plugins/memory/skills/concept-synthesis/SKILL.md +80 -0
- package/payload/platform/plugins/memory/skills/conversation-archive/SKILL.md +2 -0
- package/payload/platform/plugins/memory/skills/document-ingest/SKILL.md +2 -0
- package/payload/platform/plugins/scheduling/PLUGIN.md +4 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.d.ts +7 -3
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.d.ts.map +1 -1
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js +7 -3
- package/payload/platform/plugins/scheduling/mcp/dist/scripts/check-due-events.js.map +1 -1
- package/payload/platform/plugins/scheduling/skills/briefing/SKILL.md +75 -0
- package/payload/platform/plugins/scheduling/skills/daily-prep/SKILL.md +61 -0
- package/payload/platform/plugins/workflows/PLUGIN.md +2 -2
- package/payload/platform/plugins/workflows/skills/workflow-manager/SKILL.md +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.js +14 -1
- package/payload/platform/services/claude-session-manager/dist/http-server.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts +14 -0
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js +9 -2
- package/payload/platform/services/claude-session-manager/dist/pty-spawner.js.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts +25 -1
- package/payload/platform/services/claude-session-manager/dist/system-prompt.d.ts.map +1 -1
- package/payload/platform/services/claude-session-manager/dist/system-prompt.js +54 -3
- package/payload/platform/services/claude-session-manager/dist/system-prompt.js.map +1 -1
- package/payload/platform/templates/agents/admin/IDENTITY.md +39 -291
- package/payload/platform/templates/agents/admin/SOUL.md +4 -4
- package/payload/platform/templates/specialists/agents/content-producer.md +24 -69
- package/payload/platform/templates/specialists/agents/database-operator.md +49 -155
- package/payload/platform/templates/specialists/agents/personal-assistant.md +27 -177
- package/payload/platform/templates/specialists/agents/project-manager.md +29 -96
- package/payload/platform/templates/specialists/agents/research-assistant.md +36 -78
- package/payload/premium-plugins/real-agency/agents/compliance.md +14 -0
- package/payload/premium-plugins/real-agency/agents/negotiator.md +22 -0
- package/payload/premium-plugins/real-agency/agents/valuer.md +16 -0
- package/payload/premium-plugins/real-agency/plugins/estate-business/.claude-plugin/plugin.json +1 -1
- package/payload/premium-plugins/real-agency/plugins/estate-business/PLUGIN.md +29 -13
- package/payload/premium-plugins/real-agency/plugins/estate-business/skills/commission-calculator/SKILL.md +40 -0
- package/payload/premium-plugins/real-agency/plugins/estate-business/skills/month-end-close/SKILL.md +69 -0
- package/payload/premium-plugins/real-agency/plugins/estate-business/skills/payment-batch-stager/SKILL.md +42 -0
- package/payload/premium-plugins/real-agency/plugins/estate-business/skills/period-reconciler/SKILL.md +42 -0
- package/payload/premium-plugins/real-agency/plugins/estate-sales/.claude-plugin/plugin.json +1 -1
- package/payload/premium-plugins/real-agency/plugins/estate-sales/PLUGIN.md +27 -13
- package/payload/premium-plugins/real-agency/plugins/estate-sales/skills/chase-progression/SKILL.md +107 -0
- package/payload/premium-plugins/real-agency/plugins/estate-sales/skills/risk-scorer/SKILL.md +42 -0
- package/payload/premium-plugins/real-agency/plugins/leads/.claude-plugin/plugin.json +1 -1
- package/payload/premium-plugins/real-agency/plugins/leads/PLUGIN.md +24 -10
- package/payload/premium-plugins/real-agency/plugins/leads/skills/chain-progression-tracker/SKILL.md +51 -0
- package/payload/premium-plugins/real-agency/plugins/leads/skills/diary-builder/SKILL.md +38 -0
- package/payload/premium-plugins/real-agency/plugins/leads/skills/enquiry-triage/SKILL.md +36 -0
- package/payload/premium-plugins/real-agency/plugins/leads/skills/morning-round/SKILL.md +72 -0
- package/payload/premium-plugins/real-agency/plugins/listings/.claude-plugin/plugin.json +1 -1
- package/payload/premium-plugins/real-agency/plugins/listings/PLUGIN.md +43 -12
- package/payload/premium-plugins/real-agency/plugins/listings/skills/comparable-finder/SKILL.md +52 -0
- package/payload/premium-plugins/real-agency/plugins/listings/skills/epc-checker/SKILL.md +38 -0
- package/payload/premium-plugins/real-agency/plugins/listings/skills/listing-copy-writer/SKILL.md +55 -0
- package/payload/premium-plugins/real-agency/plugins/listings/skills/local-market-stats/SKILL.md +33 -0
- package/payload/premium-plugins/real-agency/plugins/listings/skills/new-instruction/SKILL.md +78 -0
- package/payload/premium-plugins/real-agency/plugins/listings/skills/particulars-builder/SKILL.md +48 -0
- package/payload/premium-plugins/real-agency/plugins/listings/skills/portal-launch-scheduler/SKILL.md +49 -0
- package/payload/premium-plugins/real-agency/plugins/listings/skills/pricing-scenario-builder/SKILL.md +35 -0
- package/payload/premium-plugins/real-agency/plugins/listings/skills/supplier-booker/SKILL.md +39 -0
- package/payload/premium-plugins/real-agency/plugins/listings/skills/talk-track-composer/SKILL.md +36 -0
- package/payload/premium-plugins/real-agency/plugins/listings/skills/terms-of-business-drafter/SKILL.md +54 -0
- package/payload/premium-plugins/real-agency/plugins/listings/skills/valuation-prep/SKILL.md +69 -0
- package/payload/premium-plugins/real-agency/plugins/loop/PLUGIN.md +20 -0
- package/payload/premium-plugins/real-agency/plugins/loop/skills/compliance-flag-checker/SKILL.md +53 -0
- package/payload/premium-plugins/real-agency/plugins/loop/skills/priority-ranker/SKILL.md +40 -0
- package/payload/premium-plugins/real-agency/plugins/loop/skills/tone-matched-drafter/SKILL.md +53 -0
- package/payload/premium-plugins/real-agency/plugins/loop/skills/variance-narrator/SKILL.md +50 -0
- package/payload/premium-plugins/real-agency/plugins/loop/skills/vendor-research/SKILL.md +54 -0
- package/payload/server/public/assets/{Checkbox-B79fVxpA.js → Checkbox-D1OQD43b.js} +1 -1
- package/payload/server/public/assets/admin-czNBxWor.js +216 -0
- package/payload/server/public/assets/{architectureDiagram-Q4EWVU46-D8e59YJ0.js → architectureDiagram-Q4EWVU46-BcwgT80u.js} +1 -1
- package/payload/server/public/assets/{blockDiagram-DXYQGD6D-CxaDkc0A.js → blockDiagram-DXYQGD6D-BMSyZUQA.js} +1 -1
- package/payload/server/public/assets/{brand-Cg9t5U6J.css → brand-2cku8WFs.css} +1 -1
- package/payload/server/public/assets/{brand-jT16ErmC.js → brand-CSQuxS9w.js} +1 -1
- package/payload/server/public/assets/{c4Diagram-AHTNJAMY-D0PAvq-q.js → c4Diagram-AHTNJAMY-DPRGY1jJ.js} +1 -1
- package/payload/server/public/assets/channel-fxEghWew.js +1 -0
- package/payload/server/public/assets/{chunk-336JU56O-B-CXn-Et.js → chunk-336JU56O-B7oQ3g1c.js} +2 -2
- package/payload/server/public/assets/{chunk-426QAEUC-BLzCQHKA.js → chunk-426QAEUC-C1P0yFXw.js} +1 -1
- package/payload/server/public/assets/{chunk-4TB4RGXK-Bql1UwLT.js → chunk-4TB4RGXK-LI7kOJd0.js} +1 -1
- package/payload/server/public/assets/{chunk-5FUZZQ4R-CQK7jBtX.js → chunk-5FUZZQ4R-CXQRGTQE.js} +1 -1
- package/payload/server/public/assets/{chunk-5PVQY5BW-AJc1-lvX.js → chunk-5PVQY5BW-NSyzpXRy.js} +1 -1
- package/payload/server/public/assets/{chunk-EDXVE4YY-Cf3E3THL.js → chunk-EDXVE4YY-voNwxbDs.js} +1 -1
- package/payload/server/public/assets/{chunk-ENJZ2VHE-BNx6z6hJ.js → chunk-ENJZ2VHE-CMEMPzYY.js} +1 -1
- package/payload/server/public/assets/{chunk-ICPOFSXX-DBUEFs2-.js → chunk-ICPOFSXX-hEbwu-pe.js} +1 -1
- package/payload/server/public/assets/{chunk-OYMX7WX6-Csx2p315.js → chunk-OYMX7WX6-DxskDrLs.js} +1 -1
- package/payload/server/public/assets/{chunk-U2HBQHQK-x17h7UYW.js → chunk-U2HBQHQK-D7TKgUo0.js} +1 -1
- package/payload/server/public/assets/{chunk-X2U36JSP--Lkl5yjV.js → chunk-X2U36JSP-BvPUQEPm.js} +1 -1
- package/payload/server/public/assets/{chunk-YZCP3GAM-C4GsNX8A.js → chunk-YZCP3GAM-BY-RWQUW.js} +1 -1
- package/payload/server/public/assets/{chunk-ZZ45TVLE-YrhUPmZc.js → chunk-ZZ45TVLE-DZvOYDY6.js} +1 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-BsWzGW0N.js +1 -0
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-BGVa3h90.js +1 -0
- package/payload/server/public/assets/clone-Khvocke2.js +1 -0
- package/payload/server/public/assets/{dagre-YVALPG-M.js → dagre-Bt-fpckL.js} +1 -1
- package/payload/server/public/assets/{dagre-KV5264BT-D6JU6DW_.js → dagre-KV5264BT-Cnj0mUZl.js} +1 -1
- package/payload/server/public/assets/data-DBd-Buhp.js +1 -0
- package/payload/server/public/assets/device-url-actions-Bjz3Xzbm.js +33 -0
- package/payload/server/public/assets/{diagram-5BDNPKRD-yeO06N5Q.js → diagram-5BDNPKRD-DjLzvOlx.js} +1 -1
- package/payload/server/public/assets/{diagram-G4DWMVQ6-DzbVT_BC.js → diagram-G4DWMVQ6-DTfuRd-T.js} +1 -1
- package/payload/server/public/assets/{diagram-MMDJMWI5-DwYO5VZF.js → diagram-MMDJMWI5-BaL2mCnx.js} +1 -1
- package/payload/server/public/assets/{diagram-TYMM5635-BLUcdkDS.js → diagram-TYMM5635-C5InWY5R.js} +1 -1
- package/payload/server/public/assets/{erDiagram-SMLLAGMA-BiEUB19e.js → erDiagram-SMLLAGMA-DO7BXTpn.js} +1 -1
- package/payload/server/public/assets/{flowDiagram-DWJPFMVM-TILIKxOp.js → flowDiagram-DWJPFMVM-DDdAKfLf.js} +1 -1
- package/payload/server/public/assets/{ganttDiagram-T4ZO3ILL-B7cGzYqT.js → ganttDiagram-T4ZO3ILL-arJD8Utm.js} +1 -1
- package/payload/server/public/assets/{gitGraphDiagram-UUTBAWPF-DFOxN5bc.js → gitGraphDiagram-UUTBAWPF-C55GH-OS.js} +1 -1
- package/payload/server/public/assets/graph-DUtVdnZ6.js +1 -0
- package/payload/server/public/assets/graph-labels-Dxfue-fP.js +1 -0
- package/payload/server/public/assets/{graphlib-BBibixaA.js → graphlib-DL9PM7Ex.js} +1 -1
- package/payload/server/public/assets/{infoDiagram-42DDH7IO-nH2azhY8.js → infoDiagram-42DDH7IO-BMSGqUbG.js} +1 -1
- package/payload/server/public/assets/{ishikawaDiagram-UXIWVN3A-WD3tfqFi.js → ishikawaDiagram-UXIWVN3A-Dw6BZ6BG.js} +1 -1
- package/payload/server/public/assets/{journeyDiagram-VCZTEJTY-LUkaVSqw.js → journeyDiagram-VCZTEJTY-DrywUGXw.js} +1 -1
- package/payload/server/public/assets/{kanban-definition-6JOO6SKY-Dk-lYgpJ.js → kanban-definition-6JOO6SKY-DuwtVBBc.js} +1 -1
- package/payload/server/public/assets/{line-BDv6CEnp.js → line-JAksyKHj.js} +1 -1
- package/payload/server/public/assets/{mermaid-parser.core-D2XsSGgp.js → mermaid-parser.core-BMq-ApBW.js} +1 -1
- package/payload/server/public/assets/{mermaid.core-FyN-UmQV.js → mermaid.core-tH4oX0Kh.js} +3 -3
- package/payload/server/public/assets/{mindmap-definition-QFDTVHPH-BRAHEUIS.js → mindmap-definition-QFDTVHPH-D1OiiJga.js} +1 -1
- package/payload/server/public/assets/page-BZpoS7iR.js +1 -0
- package/payload/server/public/assets/{page-CTbSJbem.js → page-CkvBvezS.js} +2 -2
- package/payload/server/public/assets/{pieDiagram-DEJITSTG-BqibVC2X.js → pieDiagram-DEJITSTG-Ckwm69PW.js} +1 -1
- package/payload/server/public/assets/{public-BDUZIabs.js → public-C-dTMgXu.js} +5 -5
- package/payload/server/public/assets/{quadrantDiagram-34T5L4WZ-DNuExGnr.js → quadrantDiagram-34T5L4WZ-COw3yZ1j.js} +1 -1
- package/payload/server/public/assets/{requirementDiagram-MS252O5E-5JXTdydh.js → requirementDiagram-MS252O5E-DqGzM4K-.js} +1 -1
- package/payload/server/public/assets/{sankeyDiagram-XADWPNL6-B_8rhvcR.js → sankeyDiagram-XADWPNL6-D-l1c_Pl.js} +1 -1
- package/payload/server/public/assets/{sequenceDiagram-FGHM5R23-BznkBgjf.js → sequenceDiagram-FGHM5R23-BeIi0DtJ.js} +1 -1
- package/payload/server/public/assets/{stateDiagram-FHFEXIEX-BeAZOQfs.js → stateDiagram-FHFEXIEX-C-jgegLk.js} +1 -1
- package/payload/server/public/assets/stateDiagram-v2-QKLJ7IA2-BaMs8Znv.js +1 -0
- package/payload/server/public/assets/{timeline-definition-GMOUNBTQ-CpJAs-Vw.js → timeline-definition-GMOUNBTQ-BGFKkYmi.js} +1 -1
- package/payload/server/public/assets/{vennDiagram-DHZGUBPP-BzH3ItkG.js → vennDiagram-DHZGUBPP-5NuIhJLS.js} +1 -1
- package/payload/server/public/assets/{wardleyDiagram-NUSXRM2D-ax9AgwA1.js → wardleyDiagram-NUSXRM2D-Be9ytVut.js} +1 -1
- package/payload/server/public/assets/{xychartDiagram-5P7HB3ND-CV6vt_tW.js → xychartDiagram-5P7HB3ND-DCyHg41R.js} +1 -1
- package/payload/server/public/data.html +5 -5
- package/payload/server/public/graph.html +6 -6
- package/payload/server/public/index.html +8 -8
- package/payload/server/public/public.html +5 -5
- package/payload/server/server.js +62 -101
- package/payload/server/public/assets/admin-CXLuiXFU.js +0 -216
- package/payload/server/public/assets/channel-BU_eIdRB.js +0 -1
- package/payload/server/public/assets/classDiagram-6PBFFD2Q-DMpM1d2b.js +0 -1
- package/payload/server/public/assets/classDiagram-v2-HSJHXN6E-D_XbuPVj.js +0 -1
- package/payload/server/public/assets/clone-BBT00JUO.js +0 -1
- package/payload/server/public/assets/data-BdwO_kv-.js +0 -1
- package/payload/server/public/assets/device-url-actions-C8dD0ydz.js +0 -33
- package/payload/server/public/assets/graph-DpgsOhUZ.js +0 -1
- package/payload/server/public/assets/graph-labels-DJ717p00.js +0 -1
- package/payload/server/public/assets/page-BWHYktEF.js +0 -1
- 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
|
|
4
|
-
summary: "Researches topics online, manages your knowledge graph, and produces supporting visuals.
|
|
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
|
|
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
|
-
|
|
13
|
+
## Three rules
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
These three rules win when anything else in this prompt conflicts with them.
|
|
16
16
|
|
|
17
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
-
|
|
38
|
-
-
|
|
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
|
-
|
|
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
|
-
**
|
|
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
|
-
**
|
|
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
|
-
**
|
|
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
|
-
**
|
|
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
|
-
**
|
|
39
|
+
**Follow-ups.** Suggest 3 genuinely useful next questions, not generic variations.
|
|
54
40
|
|
|
55
|
-
|
|
41
|
+
## Hard rules for citation
|
|
56
42
|
|
|
57
|
-
|
|
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
|
|
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
|
-
|
|
69
|
-
|
|
70
|
-
|
|
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
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
107
|
-
|
|
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
|
-
|
|
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
|
-
|
|
71
|
+
## Plain English
|
|
114
72
|
|
|
115
|
-
|
|
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
|
package/payload/premium-plugins/real-agency/plugins/estate-business/.claude-plugin/plugin.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "real-agency-business",
|
|
3
|
-
"description": "
|
|
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: "
|
|
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
|
|
18
|
+
# Real Agency, Month-End and Business Operations
|
|
10
19
|
|
|
11
|
-
|
|
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
|
|
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
|
-
| `
|
|
22
|
-
| `
|
|
23
|
-
| `
|
|
24
|
-
| `
|
|
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
|
-
|
|
30
|
-
- `
|
|
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.
|
|
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)
|
package/payload/premium-plugins/real-agency/plugins/estate-business/skills/month-end-close/SKILL.md
ADDED
|
@@ -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": "
|
|
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: "
|
|
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
|
|
17
|
+
# Real Agency, Chase Progression and Sales
|
|
10
18
|
|
|
11
|
-
|
|
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
|
|
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
|
-
| `
|
|
22
|
-
| `
|
|
23
|
-
| `sales-
|
|
24
|
-
| `sales-
|
|
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
|
-
|
|
30
|
-
- `
|
|
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.
|
|
48
|
+
Domain knowledge files loaded on demand by each skill.
|