@rubytech/taskmaster 1.9.8 → 1.11.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/skills/workspace.js +2 -0
- package/dist/agents/tools/apikeys-tool.js +2 -2
- package/dist/build-info.json +3 -3
- package/dist/config/defaults.js +1 -1
- package/dist/control-ui/assets/{index-ouo9dqKk.css → index-CpaEIgQy.css} +1 -1
- package/dist/control-ui/assets/index-YAjVyXqJ.js +4572 -0
- package/dist/control-ui/assets/index-YAjVyXqJ.js.map +1 -0
- package/dist/control-ui/index.html +2 -2
- package/dist/cron/preloaded.js +92 -0
- package/dist/gateway/public-chat/deliver-email.js +66 -14
- package/dist/gateway/public-chat/deliver-otp.js +7 -7
- package/dist/gateway/public-chat-api.js +2 -2
- package/dist/gateway/server-methods/apikeys.js +1 -1
- package/dist/gateway/server-methods/public-chat.js +1 -1
- package/dist/gateway/server-methods/qr.js +19 -0
- package/dist/gateway/server-methods.js +3 -0
- package/dist/gateway/server.impl.js +26 -1
- package/dist/wizard/onboarding.js +7 -0
- package/package.json +1 -3
- package/skills/brevo/SKILL.md +29 -0
- package/skills/brevo/references/browser-setup.md +113 -0
- package/skills/strategic-proactivity/SKILL.md +45 -0
- package/skills/strategic-proactivity/cron-template.json +21 -0
- package/skills/strategic-proactivity/references/daily-review.md +64 -0
- package/skills/tailscale/SKILL.md +47 -0
- package/taskmaster-docs/USER-GUIDE.md +49 -4
- package/dist/control-ui/assets/index-DpyzE2YD.js +0 -4532
- package/dist/control-ui/assets/index-DpyzE2YD.js.map +0 -1
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Daily Review Protocol
|
|
2
|
+
|
|
3
|
+
Run this protocol on schedule or when triggered by an admin. Be thorough in analysis but concise in output.
|
|
4
|
+
|
|
5
|
+
## Step 1: Conversation Scan
|
|
6
|
+
|
|
7
|
+
Search all sessions from the review period (typically last 24 hours):
|
|
8
|
+
- Public agent conversations (customer enquiries, feedback, objections)
|
|
9
|
+
- Admin conversations (decisions, strategy discussions, new directions)
|
|
10
|
+
- Group chats (partner feedback, team discussions)
|
|
11
|
+
|
|
12
|
+
**What to look for:**
|
|
13
|
+
- Questions the public agent couldn't answer or answered poorly — content gap
|
|
14
|
+
- Pain points or frustrations mentioned repeatedly — messaging opportunity
|
|
15
|
+
- New use cases, verticals, or audiences mentioned — market intel
|
|
16
|
+
- Objections raised that aren't addressed in existing materials — sales gap
|
|
17
|
+
- Positive feedback or testimonials — social proof opportunity
|
|
18
|
+
- Contact or relationship signals — relationship development
|
|
19
|
+
|
|
20
|
+
## Step 2: Materials Audit
|
|
21
|
+
|
|
22
|
+
Search memory for the business's existing materials — documents, FAQs, guides, outreach trackers, website copy, pitch materials, training content, or anything the business maintains.
|
|
23
|
+
|
|
24
|
+
Compare findings from Step 1 against those materials:
|
|
25
|
+
- Are common questions covered in published content?
|
|
26
|
+
- Does the public-facing copy still reflect current positioning and offerings?
|
|
27
|
+
- Are contact lists and outreach records current?
|
|
28
|
+
- Are any working hypotheses or strategies validated or invalidated by recent conversations?
|
|
29
|
+
|
|
30
|
+
Don't assume which materials exist — discover them by searching memory.
|
|
31
|
+
|
|
32
|
+
## Step 3: Opportunity Tracking
|
|
33
|
+
|
|
34
|
+
Check for signals:
|
|
35
|
+
- Inbound enquiries from unexpected verticals or audiences
|
|
36
|
+
- Partners or contacts mentioning specific needs the business could serve
|
|
37
|
+
- Competitors mentioned in conversations
|
|
38
|
+
- Pricing feedback or willingness-to-pay signals
|
|
39
|
+
- Feature or service requests that indicate market direction
|
|
40
|
+
|
|
41
|
+
## Step 4: Draft Improvements
|
|
42
|
+
|
|
43
|
+
For each gap or opportunity found:
|
|
44
|
+
1. Write the actual content (FAQ entry, pitch angle, email draft, updated copy)
|
|
45
|
+
2. Save to memory for admin review
|
|
46
|
+
3. Include in the summary with a one-line description
|
|
47
|
+
|
|
48
|
+
**Don't just flag — fix.** Admin reviews and approves; you do the drafting.
|
|
49
|
+
|
|
50
|
+
## Step 5: Relationship Check
|
|
51
|
+
|
|
52
|
+
Review active relationships:
|
|
53
|
+
- Any contacts who haven't responded in 7+ days? Flag for follow-up
|
|
54
|
+
- Any new contacts who need onboarding or introductory materials?
|
|
55
|
+
- Any partners or collaborators who gave feedback that needs acting on?
|
|
56
|
+
|
|
57
|
+
## Step 6: Housekeeping
|
|
58
|
+
|
|
59
|
+
Scan scheduled jobs (cron) and clean up any that are in the past and not set to recur.
|
|
60
|
+
|
|
61
|
+
## Step 7: Summary Output
|
|
62
|
+
|
|
63
|
+
Compose the summary following the format defined in SKILL.md.
|
|
64
|
+
The cron job or admin session takes care of delivery.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tailscale
|
|
3
|
+
description: Guide users through Tailscale remote access setup — installing the app, creating an account, and connecting their device.
|
|
4
|
+
metadata: {"taskmaster":{"emoji":"🔐"}}
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Tailscale Remote Access Setup
|
|
8
|
+
|
|
9
|
+
Helps users set up remote access to their Taskmaster device using Tailscale. Tailscale creates a private, encrypted network between devices without opening ports or configuring firewalls.
|
|
10
|
+
|
|
11
|
+
## When to activate
|
|
12
|
+
|
|
13
|
+
- User asks about remote access, accessing their device from outside the local network, or connecting while away from home
|
|
14
|
+
- User encounters issues during the Tailscale connection flow on the setup page
|
|
15
|
+
- User sees a QR code on the setup page and doesn't know what to do
|
|
16
|
+
|
|
17
|
+
## Recommended path
|
|
18
|
+
|
|
19
|
+
The simplest setup path for non-technical users:
|
|
20
|
+
|
|
21
|
+
1. **Install the Tailscale app on your phone** — available on iOS App Store and Google Play Store. Search for "Tailscale" and install the official app.
|
|
22
|
+
2. **Create a Tailscale account** — open the app and sign up. You can use Google, Microsoft, Apple, or email to create your account.
|
|
23
|
+
3. **Go to the Taskmaster setup page** — open the control panel in your browser.
|
|
24
|
+
4. **Click "Connect" next to Remote Access** — a modal will appear showing progress while the connection starts.
|
|
25
|
+
5. **Scan the QR code with your phone camera** — when the QR code appears, point your phone camera at it. This links your Taskmaster device to your Tailscale account.
|
|
26
|
+
6. **Approve the device in the Tailscale app** — you may be asked to confirm the new device. Tap approve/allow.
|
|
27
|
+
7. **Done** — the modal will show a success message and close automatically. Your device is now accessible from anywhere you have Tailscale installed.
|
|
28
|
+
|
|
29
|
+
## After connecting
|
|
30
|
+
|
|
31
|
+
- Install Tailscale on any other device (laptop, tablet) where you want to access the control panel
|
|
32
|
+
- Sign in with the same Tailscale account
|
|
33
|
+
- Your Taskmaster device will appear in the Tailscale network — access it using the Tailscale URL shown on the setup page
|
|
34
|
+
|
|
35
|
+
## Troubleshooting
|
|
36
|
+
|
|
37
|
+
- **QR code doesn't appear**: The Tailscale service may not be running on the device. Check the setup page for error details. Restarting the gateway may help.
|
|
38
|
+
- **Authentication times out**: The QR code is valid for a limited time. Click "Connect" again to generate a new one.
|
|
39
|
+
- **"Tailscale not installed" message**: Tailscale needs to be installed on the Taskmaster device itself (the server). This is separate from installing it on your phone.
|
|
40
|
+
- **Connection drops**: Make sure both devices (phone/laptop and Taskmaster) have Tailscale running and are signed into the same account.
|
|
41
|
+
|
|
42
|
+
## Key concepts
|
|
43
|
+
|
|
44
|
+
- **Tailscale** is a mesh VPN — devices connect directly to each other through encrypted tunnels
|
|
45
|
+
- **Free for personal use** — up to 100 devices on the free plan
|
|
46
|
+
- **No port forwarding needed** — works through firewalls and NAT automatically
|
|
47
|
+
- **Internet Access** (Funnel) — an optional feature that gives your device a public URL reachable by anyone, not just Tailscale users. Enable this from the setup page after remote access is connected.
|
|
@@ -25,10 +25,12 @@ If you received a Taskmaster device:
|
|
|
25
25
|
|
|
26
26
|
> **WiFi:** Your device needs an internet connection. You can plug a network cable directly into it to get started, then connect to WiFi from the Control Panel (see "WiFi" below). Need help? Message us on WhatsApp at **+44 7591 215452** or visit [taskmaster.bot](https://www.taskmaster.bot/).
|
|
27
27
|
|
|
28
|
-
Then open your web browser on any device connected to the same WiFi and go to:
|
|
28
|
+
Then open your web browser on any device connected to the same WiFi network and go to:
|
|
29
29
|
|
|
30
30
|
**http://taskmaster.local:18789**
|
|
31
31
|
|
|
32
|
+
> **Same network required:** The `.local` address only works when your phone/laptop and the Taskmaster device are on the **same network subnet**. If the Pi is plugged into Ethernet and your phone is on WiFi, some routers put them on separate subnets — in that case, connect the Pi to WiFi instead (see "WiFi" below), or connect both devices to the same wired or wireless network.
|
|
33
|
+
|
|
32
34
|
### Option B: Install on a Raspberry Pi (or any Linux OS) yourself
|
|
33
35
|
|
|
34
36
|
You'll need a Raspberry Pi running Raspberry Pi OS with an internet connection (ethernet or WiFi).
|
|
@@ -46,6 +48,8 @@ curl -fsSL https://taskmaster.bot/install.sh | sudo bash
|
|
|
46
48
|
4. Open a browser on any device on the same Wi-Fi network and go to: **http://taskmaster.local:18789/setup**
|
|
47
49
|
|
|
48
50
|
> After installation, Taskmaster runs in the background and starts automatically when the Pi restarts. It can take up to 2 minutes to come back online after a power cycle. You can disconnect the monitor and keyboard.
|
|
51
|
+
>
|
|
52
|
+
> **Same network required:** The `.local` address only works when your phone/laptop and the Taskmaster device are on the **same network subnet**. If the Pi is on Ethernet and your phone is on WiFi, some routers put them on separate subnets — in that case, connect the Pi to WiFi instead (see "WiFi" below), or ensure your router bridges Ethernet and WiFi onto the same subnet.
|
|
49
53
|
|
|
50
54
|
### Option C: Install on a Mac
|
|
51
55
|
|
|
@@ -502,6 +506,19 @@ Your assistant learns your customers, their service history, and your pricing th
|
|
|
502
506
|
|
|
503
507
|
All outreach messages are sent as your assistant — customers reply normally and the conversation continues.
|
|
504
508
|
|
|
509
|
+
### Daily Strategic Review
|
|
510
|
+
|
|
511
|
+
Taskmaster ships with a pre-configured Daily Strategic Review that analyses your recent conversations, audits your business materials, and suggests improvements. It runs as a scheduled event but is **paused by default** — you choose when to enable it.
|
|
512
|
+
|
|
513
|
+
**To enable:**
|
|
514
|
+
1. Open the Control Panel
|
|
515
|
+
2. Go to **Advanced** → **Events**
|
|
516
|
+
3. Find **🔭 Daily Strategic Review** and enable it
|
|
517
|
+
|
|
518
|
+
Once enabled, the review runs daily at 7:00 AM (your device's timezone). Results appear in the web chat, and are also sent via WhatsApp if you have an admin phone number connected.
|
|
519
|
+
|
|
520
|
+
You can edit the schedule, change the time, or disable it at any time from the Events tab.
|
|
521
|
+
|
|
505
522
|
### Conversations & Sessions
|
|
506
523
|
|
|
507
524
|
Your assistant has full access to conversation history across all channels — WhatsApp, webchat, iMessage, and group chats. It can find specific messages, review entire conversations, and give you an overview of all activity.
|
|
@@ -948,6 +965,12 @@ sudo sed -i "s/127\.0\.1\.1.*/127.0.1.1\tdave/" /etc/hosts
|
|
|
948
965
|
sudo systemctl restart avahi-daemon
|
|
949
966
|
```
|
|
950
967
|
|
|
968
|
+
> **Chromium lock after hostname change:** If Chromium is installed on the Pi and won't launch after changing the hostname (error: "profile appears to be in use by another Chromium process on another computer"), the old hostname left a stale lock file. Fix:
|
|
969
|
+
> ```bash
|
|
970
|
+
> rm -rf ~/.config/chromium/Singleton*
|
|
971
|
+
> chromium
|
|
972
|
+
> ```
|
|
973
|
+
|
|
951
974
|
**Changing the hostname (macOS):**
|
|
952
975
|
|
|
953
976
|
```bash
|
|
@@ -975,7 +998,7 @@ After flushing, open your browser and navigate to the new URL (e.g. `http://dave
|
|
|
975
998
|
If the Pi checks pass but the control panel still doesn't load from another device:
|
|
976
999
|
|
|
977
1000
|
1. **Use the IP address directly** — on the Pi, run `hostname -I` to get its IP address, then open `http://192.168.1.XXX:18789` (use your IP and port) from the other device. If this works, the problem is mDNS resolution, not the gateway.
|
|
978
|
-
2. **Check you're on the same
|
|
1001
|
+
2. **Check you're on the same subnet** — mDNS only works between devices on the same network subnet. It won't work across separate subnets, VLANs, or guest networks. A common cause: the Pi is on Ethernet while your device is on WiFi, and your router assigns them to different subnets. Check by comparing the first three groups of your IP addresses (e.g. if the Pi is `192.168.88.4` and your laptop is `192.168.10.172`, they're on different subnets).
|
|
979
1002
|
3. **Contact support** with: what you changed (port/hostname), the output of `hostname`, `grep 127.0.1.1 /etc/hosts`, and `taskmaster daemon status`.
|
|
980
1003
|
|
|
981
1004
|
### Static IP Address
|
|
@@ -999,11 +1022,11 @@ This is entirely optional and is a network preference, not a Taskmaster requirem
|
|
|
999
1022
|
|
|
1000
1023
|
If you can't load the Control Panel in your browser:
|
|
1001
1024
|
|
|
1002
|
-
1. **Same
|
|
1025
|
+
1. **Same subnet?** — Your phone/laptop and Taskmaster must be on the **same network subnet**. The `.local` address uses mDNS, which only works between devices on the same subnet. Common pitfall: the Pi is plugged into Ethernet while your phone is on WiFi, and your router puts them on different subnets (e.g. `192.168.88.x` vs `192.168.10.x`). Fix: connect the Pi to WiFi instead, or ensure both are on the same network. See "WiFi (Raspberry Pi)" above
|
|
1003
1026
|
2. **Check the URL** — go to **http://taskmaster.local:18789** (the browser will redirect to HTTPS automatically). If you see a certificate warning, see "Secure Connection (HTTPS)" above
|
|
1004
1027
|
3. **Wait for boot** — after powering on the device, it takes 2–3 minutes for everything to start. If you just plugged it in, give it a moment
|
|
1005
1028
|
4. **Try a different browser** — some browsers (especially on older devices) have trouble with `.local` addresses. Try Chrome or Safari
|
|
1006
|
-
5. **Use the IP address** — if `.local` doesn't resolve, find the device's IP address on your router and go to `http://<ip-address>:18789` instead
|
|
1029
|
+
5. **Use the IP address** — if `.local` doesn't resolve, find the device's IP address on your router's admin page and go to `http://<ip-address>:18789` instead
|
|
1007
1030
|
|
|
1008
1031
|
### Messages not getting through?
|
|
1009
1032
|
|
|
@@ -1435,6 +1458,28 @@ A chat button appears in the bottom-right corner of the page. Clicking it opens
|
|
|
1435
1458
|
|
|
1436
1459
|
You can optionally set colours to match your website: `color` controls the floating chat button, and `bgColor` controls the chat overlay background. If you've set up branding on the Setup page, the widget uses your brand colours automatically — these init options override them if provided.
|
|
1437
1460
|
|
|
1461
|
+
> **Tip:** On the Setup page, the **Public Chat** status card has a **Widget Code** button that generates the embed snippet for you — just copy and paste it into your website.
|
|
1462
|
+
|
|
1463
|
+
### Visitor Verification
|
|
1464
|
+
|
|
1465
|
+
By default, anyone who opens the public chat can start a conversation immediately (anonymous mode). If you want to verify visitors before they chat — for example, to collect contact details or reduce spam — you can enable identity verification.
|
|
1466
|
+
|
|
1467
|
+
1. Go to the **Setup** page
|
|
1468
|
+
2. Find the **Public Chat** status card
|
|
1469
|
+
3. Click the settings icon to open the verification settings modal
|
|
1470
|
+
4. Choose a verification method:
|
|
1471
|
+
|
|
1472
|
+
| Method | How it works | What you need |
|
|
1473
|
+
|--------|-------------|---------------|
|
|
1474
|
+
| **Anonymous** | No verification — visitors chat immediately | Nothing (default) |
|
|
1475
|
+
| **Email OTP** | Visitors enter their email, receive a one-time code | A [SendGrid](https://sendgrid.com) API key and a verified sender (free tier available). The sender address is configured in SendGrid, not in Taskmaster. |
|
|
1476
|
+
| **SMS OTP** | Visitors enter their phone number, receive a one-time code | [Twilio](https://twilio.com) account SID, auth token, and a Twilio phone number |
|
|
1477
|
+
|
|
1478
|
+
5. Enter your provider credentials — for email, add the SendGrid API key in the **API Keys** section on the Setup page; for SMS, enter Twilio credentials in the SMS Fallback fields
|
|
1479
|
+
6. Settings auto-save when you leave each field
|
|
1480
|
+
|
|
1481
|
+
Once enabled, visitors must authenticate before they can send their first message. Verified contact details are stored and available to the agent via the `verify_contact` tool, so your assistant knows who it's talking to.
|
|
1482
|
+
|
|
1438
1483
|
---
|
|
1439
1484
|
|
|
1440
1485
|
## Chat Commands
|