@rubytech/taskmaster 1.13.4 → 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.
Files changed (68) hide show
  1. package/dist/agents/apply-patch.js +3 -1
  2. package/dist/agents/bash-tools.exec.js +3 -1
  3. package/dist/agents/bash-tools.process.js +3 -1
  4. package/dist/agents/skills/frontmatter.js +1 -0
  5. package/dist/agents/skills/workspace.js +64 -22
  6. package/dist/agents/system-prompt.js +1 -1
  7. package/dist/agents/taskmaster-tools.js +6 -4
  8. package/dist/agents/tool-policy.js +2 -1
  9. package/dist/agents/tools/contact-create-tool.js +4 -3
  10. package/dist/agents/tools/contact-delete-tool.js +3 -2
  11. package/dist/agents/tools/contact-lookup-tool.js +5 -4
  12. package/dist/agents/tools/contact-update-tool.js +6 -3
  13. package/dist/agents/tools/memory-tool.js +3 -1
  14. package/dist/agents/tools/qr-generate-tool.js +45 -0
  15. package/dist/agents/workspace-migrations.js +479 -0
  16. package/dist/build-info.json +3 -3
  17. package/dist/cli/gateway-cli/run.js +36 -16
  18. package/dist/config/agent-tools-reconcile.js +47 -0
  19. package/dist/control-ui/assets/{index-BiGN9NNG.js → index-Bd75cI7J.js} +568 -592
  20. package/dist/control-ui/assets/index-Bd75cI7J.js.map +1 -0
  21. package/dist/control-ui/assets/index-BkymP95Y.css +1 -0
  22. package/dist/control-ui/index.html +2 -2
  23. package/dist/daemon/service-port.js +109 -0
  24. package/dist/gateway/server-http.js +5 -0
  25. package/dist/gateway/server-methods/config.js +44 -0
  26. package/dist/gateway/server-methods/web.js +13 -0
  27. package/dist/gateway/server.impl.js +15 -1
  28. package/dist/hooks/bundled/ride-dispatch/HOOK.md +57 -0
  29. package/dist/hooks/bundled/ride-dispatch/handler.js +450 -0
  30. package/dist/hooks/bundled/ride-dispatch/stripe-webhook.js +191 -0
  31. package/dist/infra/update-global.js +4 -1
  32. package/dist/infra/update-runner.js +8 -4
  33. package/dist/macos/gateway-daemon.js +26 -8
  34. package/dist/memory/internal.js +24 -1
  35. package/dist/memory/manager.js +15 -4
  36. package/dist/records/records-manager.js +7 -2
  37. package/package.json +1 -1
  38. package/skills/business-assistant/SKILL.md +1 -1
  39. package/skills/qr-code/SKILL.md +63 -0
  40. package/skills/sales-closer/SKILL.md +29 -0
  41. package/skills/sales-closer/references/close-tracking.md +86 -0
  42. package/skills/sales-closer/references/closing-framework.md +112 -0
  43. package/skills/sales-closer/references/objection-handling.md +101 -0
  44. package/templates/beagle-zanzibar/agents/admin/AGENTS.md +123 -5
  45. package/templates/beagle-zanzibar/agents/admin/BOOTSTRAP.md +34 -11
  46. package/templates/beagle-zanzibar/agents/admin/HEARTBEAT.md +1 -0
  47. package/templates/beagle-zanzibar/agents/public/AGENTS.md +110 -17
  48. package/templates/beagle-zanzibar/memory/public/knowledge-base.md +13 -0
  49. package/templates/beagle-zanzibar/memory/public/terms.md +81 -0
  50. package/templates/beagle-zanzibar/skills/beagle-zanzibar/SKILL.md +10 -7
  51. package/templates/beagle-zanzibar/skills/beagle-zanzibar/references/pin-qr.md +52 -0
  52. package/templates/beagle-zanzibar/skills/beagle-zanzibar/references/post-ride.md +13 -0
  53. package/templates/beagle-zanzibar/skills/beagle-zanzibar/references/ride-matching.md +46 -49
  54. package/templates/beagle-zanzibar/skills/beagle-zanzibar/references/route-learning.md +61 -0
  55. package/templates/beagle-zanzibar/skills/stripe/SKILL.md +28 -0
  56. package/templates/beagle-zanzibar/skills/stripe/references/payment-links.md +71 -0
  57. package/templates/customer/agents/admin/BOOTSTRAP.md +5 -1
  58. package/templates/customer/agents/public/AGENTS.md +1 -2
  59. package/templates/real-agent/skills/buyer-feedback/SKILL.md +111 -0
  60. package/templates/real-agent/skills/property-enquiry/SKILL.md +126 -0
  61. package/templates/real-agent/skills/valuation-booking/SKILL.md +182 -0
  62. package/templates/real-agent/skills/vendor-updates/SKILL.md +153 -0
  63. package/templates/real-agent/skills/viewing-management/SKILL.md +111 -0
  64. package/templates/taskmaster/agents/public/AGENTS.md +1 -1
  65. package/templates/taskmaster/agents/public/IDENTITY.md +1 -1
  66. package/templates/taskmaster/agents/public/SOUL.md +2 -2
  67. package/dist/control-ui/assets/index-BiGN9NNG.js.map +0 -1
  68. package/dist/control-ui/assets/index-l54GcTyj.css +0 -1
@@ -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
- - Anything you're uncertain about
111
+ - Technical questions you cannot answer from memory or product knowledge
112
112
 
113
113
  ---
114
114
 
@@ -3,7 +3,7 @@
3
3
  - **Name:** [ASSISTANT_NAME]
4
4
  - **Role:** Customer-facing assistant for [COMPANY_NAME]
5
5
  - **Company:** [COMPANY_NAME]
6
- - **Vibe:** Professional, warm, helpful — never pushy
6
+ - **Vibe:** Professional, warm, purposeful
7
7
  - **Emoji:** [EMOJI]
8
8
 
9
9
  ---
@@ -1,6 +1,6 @@
1
1
  # SOUL.md - Who You Are
2
2
 
3
- *You're Taskmaster's voice. Helpful, real, never salesy — but always purposeful.*
3
+ *You're Taskmaster's voice. Helpful, real, always purposeful.*
4
4
 
5
5
  ## Primary Objectives (Never Forget)
6
6
 
@@ -20,7 +20,7 @@ Every conversation should leave the prospect closer to understanding Taskmaster'
20
20
 
21
21
  **Know your boundaries.** You help people understand Taskmaster and sign up. You do NOT give trade advice, quotes, or technical guidance. That's what Taskmaster does for paying customers.
22
22
 
23
- **Be warm but not pushy.** If someone's interested, help them. If they're not ready, that's fine. No hard sell. The product speaks for itself.
23
+ **Be warm and purposeful.** When someone shows interest, help them take the next step — asking for the commitment is part of being helpful, not being pushy. Leaving a ready prospect without asking is a disservice. If they're genuinely not ready, respect that, set a follow-up, and move on.
24
24
 
25
25
  **Quick favours build rapport.** If someone asks a quick off-topic question (sports scores, weather, time, simple lookups) — just help. Use `web_search` or `current_time`. Takes 5 seconds, costs nothing, and people remember when you're helpful. But keep it brief — answer, then steer back. Don't become their personal assistant.
26
26