@rubytech/taskmaster 1.14.2 → 1.16.0
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/agents/apply-patch.js +3 -1
- package/dist/agents/bash-tools.exec.js +3 -1
- package/dist/agents/bash-tools.process.js +3 -1
- package/dist/agents/skills/frontmatter.js +1 -0
- package/dist/agents/skills/workspace.js +64 -22
- package/dist/agents/system-prompt.js +1 -1
- package/dist/agents/taskmaster-tools.js +6 -4
- package/dist/agents/tool-policy.js +2 -1
- package/dist/agents/tools/contact-create-tool.js +4 -3
- package/dist/agents/tools/contact-delete-tool.js +3 -2
- package/dist/agents/tools/contact-lookup-tool.js +5 -4
- package/dist/agents/tools/contact-update-tool.js +6 -3
- package/dist/agents/tools/memory-tool.js +3 -1
- package/dist/agents/tools/qr-generate-tool.js +45 -0
- package/dist/agents/workspace-migrations.js +351 -0
- package/dist/build-info.json +3 -3
- package/dist/config/agent-tools-reconcile.js +47 -0
- package/dist/control-ui/assets/{index-B3nkSwMP.js → index-Bd75cI7J.js} +547 -573
- package/dist/control-ui/assets/index-Bd75cI7J.js.map +1 -0
- package/dist/control-ui/assets/index-BkymP95Y.css +1 -0
- package/dist/control-ui/index.html +2 -2
- package/dist/gateway/server-http.js +5 -0
- package/dist/gateway/server-methods/web.js +13 -0
- package/dist/gateway/server.impl.js +15 -1
- package/dist/hooks/bundled/ride-dispatch/HOOK.md +57 -0
- package/dist/hooks/bundled/ride-dispatch/handler.js +450 -0
- package/dist/hooks/bundled/ride-dispatch/stripe-webhook.js +191 -0
- package/dist/memory/internal.js +24 -1
- package/dist/memory/manager.js +3 -3
- package/dist/records/records-manager.js +7 -2
- package/package.json +1 -1
- package/skills/business-assistant/SKILL.md +1 -1
- package/skills/qr-code/SKILL.md +63 -0
- package/skills/sales-closer/SKILL.md +1 -1
- package/templates/beagle-zanzibar/agents/admin/AGENTS.md +67 -1
- package/templates/beagle-zanzibar/agents/public/AGENTS.md +102 -22
- package/templates/beagle-zanzibar/skills/beagle-zanzibar/SKILL.md +7 -8
- package/templates/beagle-zanzibar/skills/beagle-zanzibar/references/ride-matching.md +46 -55
- package/templates/customer/agents/admin/BOOTSTRAP.md +5 -1
- package/templates/customer/agents/public/AGENTS.md +1 -2
- package/templates/real-agent/skills/buyer-feedback/SKILL.md +111 -0
- package/templates/real-agent/skills/property-enquiry/SKILL.md +126 -0
- package/templates/real-agent/skills/valuation-booking/SKILL.md +182 -0
- package/templates/real-agent/skills/vendor-updates/SKILL.md +153 -0
- package/templates/real-agent/skills/viewing-management/SKILL.md +111 -0
- package/templates/taskmaster/agents/public/AGENTS.md +1 -1
- package/templates/taskmaster/agents/public/IDENTITY.md +1 -1
- package/templates/taskmaster/agents/public/SOUL.md +2 -2
- package/dist/control-ui/assets/index-B3nkSwMP.js.map +0 -1
- package/dist/control-ui/assets/index-l54GcTyj.css +0 -1
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: buyer-feedback
|
|
3
|
+
description: Collect structured post-viewing feedback from property buyers via WhatsApp. Sends a conversational feedback request after viewings, captures sentiment, interest level, objections, and next steps. Stores feedback per-property and per-buyer for vendor reporting.
|
|
4
|
+
emoji: 🏠
|
|
5
|
+
always: false
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Buyer Feedback Collection
|
|
9
|
+
|
|
10
|
+
Collect post-viewing feedback from buyers in a natural, conversational way via WhatsApp. This is NOT a form — it's a friendly check-in that captures structured data.
|
|
11
|
+
|
|
12
|
+
## When to Trigger
|
|
13
|
+
|
|
14
|
+
This skill applies when:
|
|
15
|
+
- The agent (or a scheduled event) initiates a post-viewing feedback request
|
|
16
|
+
- A buyer messages after a viewing with unsolicited feedback
|
|
17
|
+
- The business owner asks you to collect feedback on a specific viewing
|
|
18
|
+
|
|
19
|
+
## Feedback Flow
|
|
20
|
+
|
|
21
|
+
### Step 1: Opening
|
|
22
|
+
|
|
23
|
+
Send a warm, brief message referencing the specific property and viewing date. Keep it personal — use the buyer's first name and the property address.
|
|
24
|
+
|
|
25
|
+
Example:
|
|
26
|
+
> Hi [Name]! Hope you're well. Just wanted to check in after your viewing at [Address] on [Date]. How did you find it? 😊
|
|
27
|
+
|
|
28
|
+
### Step 2: Capture Key Data Points
|
|
29
|
+
|
|
30
|
+
Through natural conversation (NOT a bullet list of questions), gather:
|
|
31
|
+
|
|
32
|
+
1. **Overall impression** — Did they like the property? First reaction.
|
|
33
|
+
2. **Interest level** — Are they considering making an offer? Scale: Hot / Warm / Cool / Not interested
|
|
34
|
+
3. **Positives** — What did they like most?
|
|
35
|
+
4. **Concerns/objections** — What put them off or gave them pause? (Price, condition, location, size, layout, parking, garden, neighbours, noise, etc.)
|
|
36
|
+
5. **Comparison** — How does it compare to others they've seen?
|
|
37
|
+
6. **Next steps** — Would they like a second viewing? Are they ready to make an offer? Need more information?
|
|
38
|
+
7. **Price perception** — Do they think it's fairly priced? (Don't ask directly — infer from conversation or ask tactfully: "How did you feel about the asking price?")
|
|
39
|
+
|
|
40
|
+
### Step 3: Follow-up Questions
|
|
41
|
+
|
|
42
|
+
Based on their responses, ask ONE follow-up at a time. Don't fire multiple questions. Match their energy — if they're brief, be brief. If they're chatty, engage.
|
|
43
|
+
|
|
44
|
+
If they express interest:
|
|
45
|
+
- "Would you like to book a second viewing?"
|
|
46
|
+
- "Is there anything else you'd like to know about the property?"
|
|
47
|
+
|
|
48
|
+
If they have concerns:
|
|
49
|
+
- Acknowledge the concern genuinely
|
|
50
|
+
- Offer context if you have it (e.g. "The vendor is open to offers" or "There's planning permission for an extension")
|
|
51
|
+
- Don't be pushy — respect their assessment
|
|
52
|
+
|
|
53
|
+
If not interested:
|
|
54
|
+
- Thank them warmly
|
|
55
|
+
- Ask what they ARE looking for (captures buyer criteria for future matching)
|
|
56
|
+
|
|
57
|
+
### Step 4: Store Feedback
|
|
58
|
+
|
|
59
|
+
After the conversation, save structured feedback to TWO locations:
|
|
60
|
+
|
|
61
|
+
**Property file** — `memory/shared/properties/[property-slug]/feedback/[date]-[buyer-name].md`
|
|
62
|
+
**Buyer profile** — `memory/users/[phone]/viewings/[date]-[property-slug].md`
|
|
63
|
+
|
|
64
|
+
Use this template:
|
|
65
|
+
|
|
66
|
+
```markdown
|
|
67
|
+
# Viewing Feedback
|
|
68
|
+
|
|
69
|
+
- **Property:** [Full address]
|
|
70
|
+
- **Date:** [Viewing date]
|
|
71
|
+
- **Buyer:** [Name] ([Phone])
|
|
72
|
+
- **Agent present:** [Name if known]
|
|
73
|
+
|
|
74
|
+
## Feedback
|
|
75
|
+
|
|
76
|
+
- **Overall impression:** [Their words / summary]
|
|
77
|
+
- **Interest level:** [Hot / Warm / Cool / Not interested]
|
|
78
|
+
- **Positives:** [What they liked]
|
|
79
|
+
- **Concerns:** [What they didn't like or worried about]
|
|
80
|
+
- **Price perception:** [Fair / Too high / Bargain / Not discussed]
|
|
81
|
+
- **Comparison:** [How it ranked vs other properties]
|
|
82
|
+
- **Next steps:** [Second viewing / Offer / Thinking / Declined]
|
|
83
|
+
|
|
84
|
+
## Quotes
|
|
85
|
+
> [Any notable direct quotes from the buyer]
|
|
86
|
+
|
|
87
|
+
## Notes
|
|
88
|
+
[Any additional context — body language cues mentioned, timing factors, chain status, etc.]
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Vendor Reporting
|
|
92
|
+
|
|
93
|
+
When the business owner or agent asks for a viewing feedback summary for a property:
|
|
94
|
+
|
|
95
|
+
1. Read all feedback files from `memory/shared/properties/[property-slug]/feedback/`
|
|
96
|
+
2. Compile a summary showing:
|
|
97
|
+
- Total viewings to date
|
|
98
|
+
- Interest breakdown (Hot/Warm/Cool/Not interested)
|
|
99
|
+
- Common positives (themes across multiple viewers)
|
|
100
|
+
- Common objections (recurring concerns)
|
|
101
|
+
- Price perception trend
|
|
102
|
+
- Actionable recommendations (e.g. "3 of 5 viewers mentioned the dated kitchen — consider adjusting marketing to acknowledge renovation potential")
|
|
103
|
+
|
|
104
|
+
## Rules
|
|
105
|
+
|
|
106
|
+
- **Never fabricate feedback.** Only report what buyers actually said.
|
|
107
|
+
- **Never share one buyer's feedback with another buyer.** Feedback goes to the vendor/agent only.
|
|
108
|
+
- **Be genuinely conversational.** Buyers who feel interrogated give shallow answers. Buyers who feel heard give honest ones.
|
|
109
|
+
- **Respect "no."** If a buyer doesn't want to give feedback, thank them and move on. Don't chase.
|
|
110
|
+
- **Timing matters.** Best results come 2-24 hours after the viewing. Same day is ideal. After 48 hours, response rates drop sharply.
|
|
111
|
+
- **One message at a time.** Never send a wall of questions. This is a conversation, not a survey.
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: property-enquiry
|
|
3
|
+
description: Structured intake for new buyer enquiries. Captures requirements, financial position, chain status, and timeline to enable property matching and prioritisation.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Property Enquiry
|
|
7
|
+
|
|
8
|
+
You handle initial buyer contact — capturing everything the agent needs to qualify them and match properties effectively.
|
|
9
|
+
|
|
10
|
+
## When This Skill Applies
|
|
11
|
+
|
|
12
|
+
- A new buyer contacts about a specific property
|
|
13
|
+
- A buyer registers interest without a specific property in mind
|
|
14
|
+
- A buyer's requirements or circumstances change and need updating
|
|
15
|
+
|
|
16
|
+
## Initial Enquiry — Specific Property
|
|
17
|
+
|
|
18
|
+
When someone contacts about a listed property:
|
|
19
|
+
|
|
20
|
+
1. **Acknowledge warmly** — confirm the property they're asking about
|
|
21
|
+
2. **Answer their immediate question first** — price, availability, key details. Don't interrogate before helping.
|
|
22
|
+
3. **Then gather qualification info** conversationally (not as a form):
|
|
23
|
+
|
|
24
|
+
### Must-Have Information
|
|
25
|
+
- **Full name**
|
|
26
|
+
- **Phone number** (if not already known)
|
|
27
|
+
- **Email** (for property details/brochures)
|
|
28
|
+
- **Current situation:** First-time buyer / homeowner selling / renting / investor / cash buyer
|
|
29
|
+
- **Chain status:** If selling, is their property on the market? Under offer? Sold subject to contract?
|
|
30
|
+
- **Budget:** What's their upper limit? Is this based on an Agreement in Principle (AIP)?
|
|
31
|
+
- **Mortgage:** Do they have an AIP? With which lender? (If not, suggest they get one)
|
|
32
|
+
- **Timeline:** When do they need/want to move?
|
|
33
|
+
|
|
34
|
+
### Nice-to-Have Information
|
|
35
|
+
- **Property requirements:** Beds, bathrooms, garden, parking, specific features
|
|
36
|
+
- **Area preferences:** Which towns/villages, school catchments, commute considerations
|
|
37
|
+
- **Deal-breakers:** What would rule a property out?
|
|
38
|
+
- **Other agents:** Are they registered with other agents in the area?
|
|
39
|
+
|
|
40
|
+
4. **Create/update buyer profile** at `memory/users/{phone}/profile.md` with all captured info
|
|
41
|
+
5. **Offer next steps:**
|
|
42
|
+
- Book a viewing if appropriate
|
|
43
|
+
- Send property details/brochure
|
|
44
|
+
- Suggest similar properties if this one doesn't match perfectly
|
|
45
|
+
- Recommend mortgage advisor if no AIP
|
|
46
|
+
|
|
47
|
+
## General Registration (No Specific Property)
|
|
48
|
+
|
|
49
|
+
When a buyer wants to register without a specific listing:
|
|
50
|
+
|
|
51
|
+
1. Capture the same qualification info above
|
|
52
|
+
2. Focus more on **requirements and preferences** since there's no anchor property
|
|
53
|
+
3. Save profile and confirm you'll notify them of matching properties
|
|
54
|
+
4. If any current listings match, suggest them immediately
|
|
55
|
+
|
|
56
|
+
## Buyer Profile Format
|
|
57
|
+
|
|
58
|
+
```markdown
|
|
59
|
+
---
|
|
60
|
+
type: buyer
|
|
61
|
+
status: active
|
|
62
|
+
registered: YYYY-MM-DD
|
|
63
|
+
last_contact: YYYY-MM-DD
|
|
64
|
+
qualified: true/false
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
# Buyer Profile — [Name]
|
|
68
|
+
|
|
69
|
+
**Phone:** [Number]
|
|
70
|
+
**Email:** [Email]
|
|
71
|
+
|
|
72
|
+
## Financial Position
|
|
73
|
+
- **Budget:** [Amount]
|
|
74
|
+
- **AIP:** [Yes/No — Lender, amount, expiry if known]
|
|
75
|
+
- **Buyer type:** [First-time / Selling / Cash / Investor]
|
|
76
|
+
- **Chain:** [Details of their chain position]
|
|
77
|
+
- **Deposit:** [If known]
|
|
78
|
+
|
|
79
|
+
## Requirements
|
|
80
|
+
- **Bedrooms:** [Min]
|
|
81
|
+
- **Bathrooms:** [Min]
|
|
82
|
+
- **Property type:** [House / flat / bungalow / any]
|
|
83
|
+
- **Areas:** [Preferred locations]
|
|
84
|
+
- **Must-haves:** [Garden, parking, garage, etc.]
|
|
85
|
+
- **Deal-breakers:** [What they won't accept]
|
|
86
|
+
- **School catchments:** [If relevant]
|
|
87
|
+
|
|
88
|
+
## Timeline
|
|
89
|
+
- **When to move:** [Date or timeframe]
|
|
90
|
+
- **Urgency:** [High / Medium / Low]
|
|
91
|
+
- **Chain dependent:** [Yes/No]
|
|
92
|
+
|
|
93
|
+
## Properties Viewed
|
|
94
|
+
- [Date] — [Address] — [Outcome / Feedback]
|
|
95
|
+
|
|
96
|
+
## Notes
|
|
97
|
+
[Agent observations, communication preferences, etc.]
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Qualification Rules
|
|
101
|
+
|
|
102
|
+
A buyer is **qualified** when you have:
|
|
103
|
+
- ✅ Name + contact details
|
|
104
|
+
- ✅ Budget confirmed (ideally with AIP)
|
|
105
|
+
- ✅ Chain status understood
|
|
106
|
+
- ✅ Timeline established
|
|
107
|
+
|
|
108
|
+
A buyer is **unqualified** until these are captured. Unqualified buyers can still view properties, but the agent should be informed of their status.
|
|
109
|
+
|
|
110
|
+
## Prioritisation
|
|
111
|
+
|
|
112
|
+
Flag high-priority buyers to the agent:
|
|
113
|
+
- **Cash buyers** — no chain, fast completion
|
|
114
|
+
- **First-time buyers with AIP** — no chain below them
|
|
115
|
+
- **Buyers under offer on their own property** — chain progressing
|
|
116
|
+
- **Investors** — often fast, but check funding source
|
|
117
|
+
|
|
118
|
+
## Privacy Rules
|
|
119
|
+
|
|
120
|
+
- Financial details are **confidential** — never share one buyer's budget or position with another buyer
|
|
121
|
+
- Mortgage details stay in the buyer's profile only
|
|
122
|
+
- If a vendor asks about a buyer's position, share only what the buyer has consented to (typically: qualified/unqualified, chain-free or not, mortgage arranged)
|
|
123
|
+
|
|
124
|
+
## Matching
|
|
125
|
+
|
|
126
|
+
When new properties come to market, check active buyer profiles for matches. Proactively notify buyers whose criteria match within 24 hours of a new instruction.
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: valuation-booking
|
|
3
|
+
description: Handle market appraisal and valuation requests from potential sellers. Capture property details, motivation, timeline, and book the appraisal visit.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Valuation Booking
|
|
7
|
+
|
|
8
|
+
You handle inbound requests from potential sellers wanting a property valuation (market appraisal). This is the start of the sales pipeline — convert an enquiry into a booked appraisal visit.
|
|
9
|
+
|
|
10
|
+
## When This Skill Applies
|
|
11
|
+
|
|
12
|
+
- Someone asks "how much is my house worth?"
|
|
13
|
+
- A potential seller requests a valuation or market appraisal
|
|
14
|
+
- Someone is "thinking about selling" and wants advice
|
|
15
|
+
- A landlord is considering selling a rental property
|
|
16
|
+
|
|
17
|
+
## The Conversation Flow
|
|
18
|
+
|
|
19
|
+
### 1. Warm Acknowledgement
|
|
20
|
+
|
|
21
|
+
Thank them for getting in touch. Be enthusiastic but not pushy — they may be early-stage and just exploring.
|
|
22
|
+
|
|
23
|
+
### 2. Capture Property Details
|
|
24
|
+
|
|
25
|
+
Conversationally gather:
|
|
26
|
+
|
|
27
|
+
**Essential:**
|
|
28
|
+
- **Full address** (including postcode)
|
|
29
|
+
- **Property type** (detached, semi, terrace, flat, bungalow)
|
|
30
|
+
- **Bedrooms** and **bathrooms**
|
|
31
|
+
- **Contact name** and **phone** (if not already known)
|
|
32
|
+
|
|
33
|
+
**Helpful (ask naturally, don't interrogate):**
|
|
34
|
+
- **Reception rooms**
|
|
35
|
+
- **Garden** (front/rear/both, approximate size)
|
|
36
|
+
- **Parking** (driveway, garage, on-street)
|
|
37
|
+
- **Any recent improvements** (new kitchen, extension, loft conversion)
|
|
38
|
+
- **Approximate square footage** (if they know)
|
|
39
|
+
- **EPC rating** (if they know)
|
|
40
|
+
- **Tenure** (freehold/leasehold — especially important for flats)
|
|
41
|
+
- **Service charge / ground rent** (leasehold only)
|
|
42
|
+
|
|
43
|
+
### 3. Understand Their Motivation
|
|
44
|
+
|
|
45
|
+
This shapes the appraisal conversation. Ask gently:
|
|
46
|
+
|
|
47
|
+
- **Why are they thinking of selling?** (Upsizing, downsizing, relocating, divorce, financial, investment exit, probate)
|
|
48
|
+
- **Timeline** — when would they ideally like to move?
|
|
49
|
+
- **Have they spoken to other agents?** (Not competitive — helps understand where they are in the process)
|
|
50
|
+
- **Are they buying too?** (Important for chain considerations)
|
|
51
|
+
- **Mortgage situation** — do they know their remaining balance? (Optional, don't push)
|
|
52
|
+
|
|
53
|
+
### 4. Book the Appraisal
|
|
54
|
+
|
|
55
|
+
Offer available slots:
|
|
56
|
+
|
|
57
|
+
- **Propose 2-3 options** across the next few days
|
|
58
|
+
- **Default duration:** 45-60 minutes for a standard property, 60-90 for larger/unique
|
|
59
|
+
- **Check who will be present** — both owners if joint, or just one?
|
|
60
|
+
- **Confirm address** (sometimes the correspondence address differs)
|
|
61
|
+
|
|
62
|
+
Create the event in both locations:
|
|
63
|
+
- `memory/shared/events/YYYY-MM-DD-valuation-{address-slug}.md`
|
|
64
|
+
- `memory/users/{phone}/events/YYYY-MM-DD-valuation-{address-slug}.md`
|
|
65
|
+
|
|
66
|
+
### 5. Set Expectations
|
|
67
|
+
|
|
68
|
+
Tell them what to expect:
|
|
69
|
+
- The agent will visit, view the property, and discuss the local market
|
|
70
|
+
- They'll receive a written valuation with comparable evidence within [timeframe — typically 24-48 hours]
|
|
71
|
+
- No obligation — it's a free, no-pressure market appraisal
|
|
72
|
+
- Suggest having any questions ready (fees, marketing strategy, timelines)
|
|
73
|
+
|
|
74
|
+
### 6. Confirm in Writing
|
|
75
|
+
|
|
76
|
+
Send a confirmation message with:
|
|
77
|
+
- Date and time
|
|
78
|
+
- Property address
|
|
79
|
+
- Agent name (who's conducting the appraisal)
|
|
80
|
+
- What to expect
|
|
81
|
+
- Contact number to reschedule if needed
|
|
82
|
+
|
|
83
|
+
## Valuation Event Format
|
|
84
|
+
|
|
85
|
+
```markdown
|
|
86
|
+
---
|
|
87
|
+
type: valuation
|
|
88
|
+
status: confirmed
|
|
89
|
+
property: [Full address]
|
|
90
|
+
vendor: [Name]
|
|
91
|
+
vendor_phone: [Phone]
|
|
92
|
+
conducted_by: [Agent name]
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
# Market Appraisal — [Address]
|
|
96
|
+
|
|
97
|
+
**Date:** [Date]
|
|
98
|
+
**Time:** [Start] – [End]
|
|
99
|
+
**Vendor:** [Name] ([Phone])
|
|
100
|
+
**Property:** [Full address]
|
|
101
|
+
**Type:** [Property type]
|
|
102
|
+
|
|
103
|
+
## Property Details
|
|
104
|
+
- **Bedrooms:** [X]
|
|
105
|
+
- **Bathrooms:** [X]
|
|
106
|
+
- **Reception rooms:** [X]
|
|
107
|
+
- **Tenure:** [Freehold/Leasehold]
|
|
108
|
+
- **Parking:** [Details]
|
|
109
|
+
- **Garden:** [Details]
|
|
110
|
+
- **Recent improvements:** [Details]
|
|
111
|
+
- **EPC:** [If known]
|
|
112
|
+
|
|
113
|
+
## Vendor Circumstances
|
|
114
|
+
- **Reason for selling:** [Details]
|
|
115
|
+
- **Timeline:** [When they want to move]
|
|
116
|
+
- **Buying too:** [Yes/No — details]
|
|
117
|
+
- **Other agents contacted:** [Yes/No — who]
|
|
118
|
+
- **Mortgage balance:** [If shared]
|
|
119
|
+
|
|
120
|
+
## Notes
|
|
121
|
+
[Any special access requirements, dogs, specific concerns, etc.]
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## Potential Seller Profile
|
|
125
|
+
|
|
126
|
+
Save at `memory/users/{phone}/profile.md`:
|
|
127
|
+
|
|
128
|
+
```markdown
|
|
129
|
+
---
|
|
130
|
+
type: potential-vendor
|
|
131
|
+
status: appraisal-booked
|
|
132
|
+
property: [Address]
|
|
133
|
+
appraisal_date: YYYY-MM-DD
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
# Potential Vendor — [Name]
|
|
137
|
+
|
|
138
|
+
**Phone:** [Number]
|
|
139
|
+
**Email:** [If provided]
|
|
140
|
+
**Property:** [Full address]
|
|
141
|
+
|
|
142
|
+
## Situation
|
|
143
|
+
- **Reason:** [Why selling]
|
|
144
|
+
- **Timeline:** [When]
|
|
145
|
+
- **Buying:** [Yes/No]
|
|
146
|
+
- **Other agents:** [Details]
|
|
147
|
+
|
|
148
|
+
## Property Summary
|
|
149
|
+
[Key features and details captured]
|
|
150
|
+
|
|
151
|
+
## Notes
|
|
152
|
+
[Communication preferences, sensitivities, relationship notes]
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Handling Objections
|
|
156
|
+
|
|
157
|
+
**"I just want a quick idea of value, not a full visit"**
|
|
158
|
+
→ Offer to give a broad online estimate based on comparables, but explain that an in-person appraisal is always more accurate (condition, presentation, unique features can add 5-15%). Keep the door open.
|
|
159
|
+
|
|
160
|
+
**"I'm not ready to sell yet"**
|
|
161
|
+
→ No pressure. Offer the appraisal as forward planning. "Many of our clients get a valuation 6-12 months before they're ready — it helps with planning."
|
|
162
|
+
|
|
163
|
+
**"I've already had valuations from other agents"**
|
|
164
|
+
→ Great — a second opinion is always wise. Different agents have different marketing strategies and buyer databases. Frame it as added value, not competition.
|
|
165
|
+
|
|
166
|
+
**"How much do you charge?"**
|
|
167
|
+
→ The market appraisal is completely free and no-obligation. Agency fees are discussed during the appraisal based on the marketing package that suits their property.
|
|
168
|
+
|
|
169
|
+
## Rules
|
|
170
|
+
|
|
171
|
+
- **Never give a specific valuation figure** by message — always in person after viewing the property. You can share comparable sales data to show market context, but the formal valuation comes from the agent visit.
|
|
172
|
+
- **Never badmouth other agents** — stay professional
|
|
173
|
+
- **Respond quickly** — valuation requests have a short shelf life. If someone asks at 9pm, acknowledge immediately even if you can't book until tomorrow.
|
|
174
|
+
- **Follow up if not booked within 48 hours** — a gentle "just checking if you'd still like to arrange that appraisal?" message
|
|
175
|
+
|
|
176
|
+
## Escalation
|
|
177
|
+
|
|
178
|
+
Escalate to the agent for:
|
|
179
|
+
- Commercial property valuations
|
|
180
|
+
- Probate or executor valuations (may need RICS qualified)
|
|
181
|
+
- Development land or unusual property types
|
|
182
|
+
- Requests for formal (Red Book) valuations vs market appraisals
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vendor-updates
|
|
3
|
+
description: Automated vendor (seller) updates — regular reporting on viewing activity, buyer feedback, market conditions, and marketing performance for instructed properties.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Vendor Updates
|
|
7
|
+
|
|
8
|
+
You manage regular communication with property vendors (sellers), keeping them informed about their property's marketing performance and next steps.
|
|
9
|
+
|
|
10
|
+
## When This Skill Applies
|
|
11
|
+
|
|
12
|
+
- A scheduled vendor update is due
|
|
13
|
+
- A vendor asks for a progress update
|
|
14
|
+
- Significant news needs communicating (offer received, price reduction recommendation, marketing change)
|
|
15
|
+
- Post-viewing feedback is ready to summarise for the vendor
|
|
16
|
+
|
|
17
|
+
## Update Schedule
|
|
18
|
+
|
|
19
|
+
Default cadence: **weekly** (every Friday afternoon or Monday morning — configurable per vendor).
|
|
20
|
+
|
|
21
|
+
For new instructions (first 2 weeks on market): **twice weekly** (Wednesday + Friday).
|
|
22
|
+
|
|
23
|
+
For stale listings (8+ weeks, low activity): **fortnightly** unless the vendor requests otherwise.
|
|
24
|
+
|
|
25
|
+
## What to Include in a Regular Update
|
|
26
|
+
|
|
27
|
+
### Viewing Activity
|
|
28
|
+
- Number of viewings this period
|
|
29
|
+
- Number of viewings total since instruction
|
|
30
|
+
- Upcoming confirmed viewings
|
|
31
|
+
- Any cancellations or no-shows
|
|
32
|
+
|
|
33
|
+
### Buyer Feedback Summary
|
|
34
|
+
- Themed feedback from viewers (don't attribute to named buyers unless they consent)
|
|
35
|
+
- Common positives: "Buyers loved the kitchen / garden / location"
|
|
36
|
+
- Common concerns: "Two buyers mentioned the dated bathroom"
|
|
37
|
+
- Overall sentiment: positive / mixed / concerning
|
|
38
|
+
|
|
39
|
+
### Online Performance (if data available)
|
|
40
|
+
- Portal views (Rightmove, Zoopla, OnTheMarket)
|
|
41
|
+
- Enquiries received this period
|
|
42
|
+
- Comparison to similar listings in the area
|
|
43
|
+
|
|
44
|
+
### Market Context
|
|
45
|
+
- How similar properties are performing
|
|
46
|
+
- Any relevant local market changes
|
|
47
|
+
- New comparable listings or recent sales
|
|
48
|
+
|
|
49
|
+
### Recommendation / Next Steps
|
|
50
|
+
- If things are going well: reassure, maintain strategy
|
|
51
|
+
- If viewings are low: suggest price review, new photography, refreshed description
|
|
52
|
+
- If feedback is consistently negative on one issue: discuss addressing it
|
|
53
|
+
- If an offer is expected: prepare the vendor
|
|
54
|
+
|
|
55
|
+
## Update Format (WhatsApp)
|
|
56
|
+
|
|
57
|
+
Keep it scannable. No tables (WhatsApp doesn't render them).
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
📊 *Weekly Update — [Property Address]*
|
|
61
|
+
*Week [X] on market*
|
|
62
|
+
|
|
63
|
+
*Viewings this week:* [X]
|
|
64
|
+
*Total viewings:* [X]
|
|
65
|
+
*Upcoming:* [X confirmed]
|
|
66
|
+
|
|
67
|
+
*Feedback highlights:*
|
|
68
|
+
• [Positive theme]
|
|
69
|
+
• [Positive theme]
|
|
70
|
+
• [Concern if any]
|
|
71
|
+
|
|
72
|
+
*Online interest:* [Brief summary]
|
|
73
|
+
|
|
74
|
+
*My recommendation:*
|
|
75
|
+
[1-2 sentences on strategy and next steps]
|
|
76
|
+
|
|
77
|
+
Any questions, just ask!
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Vendor Profile
|
|
81
|
+
|
|
82
|
+
Maintain vendor details at `memory/users/{phone}/profile.md`:
|
|
83
|
+
|
|
84
|
+
```markdown
|
|
85
|
+
---
|
|
86
|
+
type: vendor
|
|
87
|
+
status: instructed
|
|
88
|
+
property: [Address]
|
|
89
|
+
instructed_date: YYYY-MM-DD
|
|
90
|
+
asking_price: [Amount]
|
|
91
|
+
update_cadence: weekly
|
|
92
|
+
update_day: friday
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
# Vendor — [Name]
|
|
96
|
+
|
|
97
|
+
**Phone:** [Number]
|
|
98
|
+
**Email:** [Email]
|
|
99
|
+
**Property:** [Full address]
|
|
100
|
+
|
|
101
|
+
## Instruction Details
|
|
102
|
+
- **Asking price:** [Amount]
|
|
103
|
+
- **Price agreed:** [Sole agency fee %]
|
|
104
|
+
- **Instruction type:** [Sole / Multi / Joint sole]
|
|
105
|
+
- **EPC rating:** [If known]
|
|
106
|
+
- **Minimum price:** [Vendor's bottom line — CONFIDENTIAL]
|
|
107
|
+
|
|
108
|
+
## Circumstances
|
|
109
|
+
- **Reason for selling:** [Upsizing / downsizing / relocating / divorce / probate / investment]
|
|
110
|
+
- **Timeline:** [When they need to complete by]
|
|
111
|
+
- **Dependent on purchase:** [Yes/No — details]
|
|
112
|
+
- **Vacant or occupied:** [Details]
|
|
113
|
+
|
|
114
|
+
## Communication Preferences
|
|
115
|
+
- **Update frequency:** [Weekly / twice-weekly / fortnightly]
|
|
116
|
+
- **Preferred day:** [Day]
|
|
117
|
+
- **Preferred channel:** [WhatsApp / phone / email]
|
|
118
|
+
- **Who to update:** [Vendor name — sometimes joint owners want separate updates]
|
|
119
|
+
|
|
120
|
+
## Updates Sent
|
|
121
|
+
- [Date] — Week [X] — [Brief summary of what was communicated]
|
|
122
|
+
|
|
123
|
+
## Notes
|
|
124
|
+
[Special instructions, sensitivities, relationship notes]
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Rules
|
|
128
|
+
|
|
129
|
+
- **Never share a buyer's financial details with the vendor** unless the buyer consents (e.g., when presenting an offer)
|
|
130
|
+
- **Never reveal the vendor's minimum price to buyers**
|
|
131
|
+
- **Be honest but constructive** — if the property is overpriced, frame it as "the market is telling us..." not "you've priced it too high"
|
|
132
|
+
- **Offers go to the vendor promptly** — if an offer comes in, don't wait for the scheduled update. Communicate immediately.
|
|
133
|
+
- **Record all updates sent** — note the date and summary in the vendor profile
|
|
134
|
+
- **If no viewings this week** — still send an update. Silence is worse than bad news. Explain why and what you're doing about it.
|
|
135
|
+
|
|
136
|
+
## Price Reduction Conversations
|
|
137
|
+
|
|
138
|
+
This is sensitive. Follow this framework:
|
|
139
|
+
|
|
140
|
+
1. **Evidence first** — portal stats, comparable sales, feedback themes
|
|
141
|
+
2. **Market positioning** — show where the property sits vs competition
|
|
142
|
+
3. **Recommendation** — specific new price with reasoning
|
|
143
|
+
4. **Outcome framing** — "This positions us to attract [X] more buyers and should generate viewings within [timeframe]"
|
|
144
|
+
5. **Never pressure** — it's the vendor's decision. Present the case and let them decide.
|
|
145
|
+
|
|
146
|
+
## Escalation
|
|
147
|
+
|
|
148
|
+
Escalate to the agent (human) for:
|
|
149
|
+
- Formal offers (always — agent presents offers, not the AI)
|
|
150
|
+
- Vendor complaints about service
|
|
151
|
+
- Requests to change agent terms
|
|
152
|
+
- Threats to withdraw instruction
|
|
153
|
+
- Legal or compliance queries
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: viewing-management
|
|
3
|
+
description: Manage property viewings — booking, confirming, rescheduling, reminders, and cancellations. Handles buyer and vendor coordination, team delegation, and calendar integration.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Viewing Management
|
|
7
|
+
|
|
8
|
+
You handle the full lifecycle of property viewings — from initial request through to post-viewing follow-up.
|
|
9
|
+
|
|
10
|
+
## When This Skill Applies
|
|
11
|
+
|
|
12
|
+
- A buyer asks to view a property
|
|
13
|
+
- A viewing needs rescheduling or cancelling
|
|
14
|
+
- A reminder is due for an upcoming viewing
|
|
15
|
+
- The agent or vendor needs a viewing schedule summary
|
|
16
|
+
|
|
17
|
+
## Booking a Viewing
|
|
18
|
+
|
|
19
|
+
When a buyer requests a viewing:
|
|
20
|
+
|
|
21
|
+
1. **Confirm the property** — match their request to a known listing. If ambiguous, ask.
|
|
22
|
+
2. **Collect buyer details** (if new contact):
|
|
23
|
+
- Full name
|
|
24
|
+
- Phone number
|
|
25
|
+
- Email (optional)
|
|
26
|
+
- Chain status (first-time buyer / selling / renting / cash)
|
|
27
|
+
- Mortgage position (agreement in principle? budget?)
|
|
28
|
+
3. **Check availability** — look at `memory/shared/events/` for conflicts on the requested date
|
|
29
|
+
4. **Propose time slots** — offer 2-3 options. Default viewing duration is 30 minutes unless the property warrants longer (large/rural = 45 min).
|
|
30
|
+
5. **Confirm with buyer** — once they pick a slot, confirm in writing with:
|
|
31
|
+
- Property address
|
|
32
|
+
- Date and time
|
|
33
|
+
- Duration
|
|
34
|
+
- Who will conduct the viewing (agent name if known)
|
|
35
|
+
- Any access instructions (keys, gate codes, vendor present?)
|
|
36
|
+
6. **Create calendar event** — write to both:
|
|
37
|
+
- `memory/shared/events/YYYY-MM-DD-viewing-{property-slug}.md`
|
|
38
|
+
- `memory/users/{buyer-phone}/events/YYYY-MM-DD-viewing-{property-slug}.md`
|
|
39
|
+
7. **Notify the team** — if a specific team member is conducting, flag it
|
|
40
|
+
|
|
41
|
+
### Event Format for Viewings
|
|
42
|
+
|
|
43
|
+
```markdown
|
|
44
|
+
---
|
|
45
|
+
type: viewing
|
|
46
|
+
status: confirmed
|
|
47
|
+
property: [Address]
|
|
48
|
+
buyer: [Name]
|
|
49
|
+
buyer_phone: [Phone]
|
|
50
|
+
conducted_by: [Agent/team member]
|
|
51
|
+
access_notes: [Keys held / vendor present / lockbox code]
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
# Viewing — [Address]
|
|
55
|
+
|
|
56
|
+
**Date:** [Date]
|
|
57
|
+
**Time:** [Start] – [End]
|
|
58
|
+
**Buyer:** [Name] ([Phone])
|
|
59
|
+
**Property:** [Full address]
|
|
60
|
+
**Conducted by:** [Name]
|
|
61
|
+
|
|
62
|
+
## Buyer Profile
|
|
63
|
+
- Chain status: [First-time buyer / Selling / etc.]
|
|
64
|
+
- Budget: [Amount or AIP status]
|
|
65
|
+
- Key requirements: [Beds, area, parking, etc.]
|
|
66
|
+
|
|
67
|
+
## Access
|
|
68
|
+
[Instructions for accessing the property]
|
|
69
|
+
|
|
70
|
+
## Notes
|
|
71
|
+
[Any special requirements or context]
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Rescheduling
|
|
75
|
+
|
|
76
|
+
When a buyer or vendor needs to reschedule:
|
|
77
|
+
|
|
78
|
+
1. Find the existing event in `memory/shared/events/`
|
|
79
|
+
2. Confirm the new date/time with the buyer
|
|
80
|
+
3. Update both event files (shared + user)
|
|
81
|
+
4. Change status to `rescheduled` and add a note with the original date
|
|
82
|
+
5. Confirm the change to the buyer in writing
|
|
83
|
+
|
|
84
|
+
## Cancellations
|
|
85
|
+
|
|
86
|
+
1. Update event status to `cancelled`
|
|
87
|
+
2. Add cancellation reason and who cancelled
|
|
88
|
+
3. Confirm to the buyer
|
|
89
|
+
4. If vendor-side cancellation, apologise and offer alternatives
|
|
90
|
+
|
|
91
|
+
## Reminders
|
|
92
|
+
|
|
93
|
+
- **24 hours before:** Send a confirmation reminder to the buyer with address and time
|
|
94
|
+
- **Morning of:** Brief reminder with any last-minute access details
|
|
95
|
+
- Use the cron/events tool for scheduling these
|
|
96
|
+
|
|
97
|
+
## Viewing Schedule Summary
|
|
98
|
+
|
|
99
|
+
When the agent or team needs a schedule overview:
|
|
100
|
+
|
|
101
|
+
1. List all viewing events from `memory/shared/events/` for the requested period
|
|
102
|
+
2. Present as a chronological list with: time, property, buyer name, conducted by
|
|
103
|
+
3. Flag any conflicts or tight turnarounds (< 30 min between viewings at different properties)
|
|
104
|
+
|
|
105
|
+
## Rules
|
|
106
|
+
|
|
107
|
+
- **Never double-book** a property or a team member at the same time
|
|
108
|
+
- **Always confirm in writing** — verbal confirmations are not sufficient
|
|
109
|
+
- **Vendor preferences matter** — some vendors don't want viewings at certain times, or require notice. Check property notes.
|
|
110
|
+
- **Access instructions are confidential** — never share lockbox codes or key locations with anyone other than the conducting agent
|
|
111
|
+
- **No-shows** — if a buyer doesn't attend, record it on their profile. Two no-shows = flag to agent before booking further viewings.
|
|
@@ -108,7 +108,7 @@ Escalate when:
|
|
|
108
108
|
- Complaints or unhappy customers
|
|
109
109
|
- Partnership or press enquiries
|
|
110
110
|
- Custom requests outside standard offering
|
|
111
|
-
-
|
|
111
|
+
- Technical questions you cannot answer from memory or product knowledge
|
|
112
112
|
|
|
113
113
|
---
|
|
114
114
|
|