@rubytech/taskmaster 1.0.9 → 1.0.11
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/pi-embedded-runner/compact.js +6 -0
- package/dist/agents/pi-embedded-runner/run/attempt.js +6 -0
- package/dist/agents/pi-embedded-runner/system-prompt.js +1 -0
- package/dist/agents/pi-tools.js +1 -0
- package/dist/agents/skills/workspace.js +40 -3
- package/dist/agents/system-prompt.js +19 -1
- package/dist/agents/taskmaster-tools.js +6 -0
- package/dist/agents/tool-display.json +5 -0
- package/dist/agents/tools/skill-read-tool.js +75 -0
- package/dist/agents/workspace.js +2 -2
- package/dist/auto-reply/reply/get-reply-run.js +1 -2
- package/dist/build-info.json +3 -3
- package/dist/cli/gateway-cli/dev.js +1 -1
- package/dist/cli/provision-cli.js +7 -5
- package/dist/cli/provision-seed.js +1 -0
- package/dist/control-ui/assets/{index-Dcwiyz6o.js → index-DKEqjln4.js} +36 -50
- package/dist/control-ui/assets/index-DKEqjln4.js.map +1 -0
- package/dist/control-ui/assets/{index-DE-53MKi.css → index-QrR3OWrg.css} +1 -1
- package/dist/control-ui/index.html +2 -2
- package/package.json +1 -1
- package/scripts/install.sh +14 -6
- package/taskmaster-docs/USER-GUIDE.md +40 -11
- package/templates/customer/agents/admin/TOOLS.md +36 -0
- package/dist/control-ui/assets/index-Dcwiyz6o.js.map +0 -1
|
@@ -38,7 +38,7 @@ You'll need a monitor, keyboard, and mouse connected to the Pi.
|
|
|
38
38
|
1. Open **Terminal** from the desktop taskbar (or press Ctrl+Alt+T)
|
|
39
39
|
2. Run:
|
|
40
40
|
|
|
41
|
-
```
|
|
41
|
+
```bash
|
|
42
42
|
curl -fsSL https://taskmaster.bot/install.sh | sudo bash
|
|
43
43
|
```
|
|
44
44
|
|
|
@@ -51,7 +51,7 @@ curl -fsSL https://taskmaster.bot/install.sh | sudo bash
|
|
|
51
51
|
|
|
52
52
|
Open **Terminal** (search for "Terminal" in Spotlight) and run:
|
|
53
53
|
|
|
54
|
-
```
|
|
54
|
+
```bash
|
|
55
55
|
curl -fsSL https://taskmaster.bot/install.sh | sudo bash
|
|
56
56
|
```
|
|
57
57
|
|
|
@@ -59,10 +59,12 @@ This installs Node.js (if needed), Taskmaster, and sets up the background servic
|
|
|
59
59
|
|
|
60
60
|
**Custom port:** If you're running multiple Taskmaster instances (e.g., one on a Pi and one on a Mac), give each a different port:
|
|
61
61
|
|
|
62
|
-
```
|
|
62
|
+
```bash
|
|
63
63
|
curl -fsSL https://taskmaster.bot/install.sh | sudo bash -s -- --port 19000
|
|
64
64
|
```
|
|
65
65
|
|
|
66
|
+
When using a custom port, the hostname includes the port to avoid conflicts. The setup URL becomes `http://taskmaster-19000.local:19000/setup`.
|
|
67
|
+
|
|
66
68
|
### Option D: Install from a package file
|
|
67
69
|
|
|
68
70
|
If you received a `.tgz` package file (for offline install or when the install script isn't available):
|
|
@@ -70,7 +72,7 @@ If you received a `.tgz` package file (for offline install or when the install s
|
|
|
70
72
|
1. **Install Node.js** (version 22 or later) from [nodejs.org](https://nodejs.org) if you don't have it
|
|
71
73
|
2. Open a terminal and run:
|
|
72
74
|
|
|
73
|
-
```
|
|
75
|
+
```bash
|
|
74
76
|
npm install -g ~/Downloads/rubytech-taskmaster-2026.2.14.tgz
|
|
75
77
|
taskmaster provision
|
|
76
78
|
```
|
|
@@ -345,6 +347,32 @@ Your assistant can manage recurring tasks, reminders, and automated routines. Yo
|
|
|
345
347
|
- "Set up a daily briefing at 7am every weekday"
|
|
346
348
|
- "Create a weekly reminder to check stock levels every Monday"
|
|
347
349
|
|
|
350
|
+
### Proactive Outreach
|
|
351
|
+
|
|
352
|
+
Your assistant doesn't just respond to incoming messages — it reaches out on your behalf to win work, chase payments, and keep customers engaged.
|
|
353
|
+
|
|
354
|
+
| Capability | Description |
|
|
355
|
+
|------------|-------------|
|
|
356
|
+
| Quote follow-up | Automatically nudges customers who haven't responded to a quote (default: 3 days) |
|
|
357
|
+
| Invoice reminders | Sends friendly payment reminders when invoices are overdue |
|
|
358
|
+
| Service reminders | Contacts past customers when it's time for a repeat service or annual check |
|
|
359
|
+
| Morning briefings | Sends you a daily schedule summary with jobs, pending quotes, and overdue invoices |
|
|
360
|
+
| ETA updates | Proactively tells customers when you're running late, before they call to ask |
|
|
361
|
+
| Re-engagement | Follows up on old enquiries to see if a customer is still interested |
|
|
362
|
+
|
|
363
|
+
**How it works:**
|
|
364
|
+
|
|
365
|
+
Your assistant learns your customers, their service history, and your pricing through normal conversations. It then uses scheduled events (visible under **Events** on the Advanced page) to trigger outreach at the right time. You don't need to configure anything manually — the assistant sets up follow-ups as part of its normal workflow.
|
|
366
|
+
|
|
367
|
+
**What you can customise:**
|
|
368
|
+
|
|
369
|
+
- Quote follow-up timing — tell your assistant "follow up on quotes after 5 days instead of 3"
|
|
370
|
+
- Invoice reminder timing — "send invoice reminders after 7 days"
|
|
371
|
+
- Morning briefing time — "send my briefing at 6:30am instead of 7am"
|
|
372
|
+
- Service reminder intervals — "remind customers about annual services 11 months after their last visit"
|
|
373
|
+
|
|
374
|
+
All outreach messages are sent as your assistant — customers reply normally and the conversation continues.
|
|
375
|
+
|
|
348
376
|
### Conversations & Sessions
|
|
349
377
|
|
|
350
378
|
Your assistant can review conversation history and check what customers have been asking about.
|
|
@@ -664,7 +692,7 @@ iMessage support requires two things on your Mac **before** running Taskmaster s
|
|
|
664
692
|
Homebrew needs a current version of Xcode to compile the iMessage helper. Check which situation applies to you:
|
|
665
693
|
|
|
666
694
|
- **If you don't have Xcode at all** — open Terminal and run:
|
|
667
|
-
```
|
|
695
|
+
```bash
|
|
668
696
|
xcode-select --install
|
|
669
697
|
```
|
|
670
698
|
A dialog will appear — click **Install** and wait for it to finish.
|
|
@@ -672,13 +700,13 @@ iMessage support requires two things on your Mac **before** running Taskmaster s
|
|
|
672
700
|
- **If you have Xcode from the App Store but it's outdated** — open the **App Store**, find Xcode, and click **Update**. This is the most common issue.
|
|
673
701
|
|
|
674
702
|
- **If you don't want to update Xcode** — you can tell your Mac to use the standalone Command Line Tools instead (faster, no large download). Open Terminal and run:
|
|
675
|
-
```
|
|
703
|
+
```bash
|
|
676
704
|
sudo xcode-select --switch /Library/Developer/CommandLineTools
|
|
677
705
|
```
|
|
678
706
|
Enter your password when prompted. This leaves Xcode.app untouched but tells Homebrew to use the lightweight tools.
|
|
679
707
|
|
|
680
708
|
2. **Homebrew** — if you don't already have it, open Terminal and run:
|
|
681
|
-
```
|
|
709
|
+
```bash
|
|
682
710
|
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
683
711
|
```
|
|
684
712
|
|
|
@@ -700,7 +728,7 @@ Taskmaster's iMessage helper needs permission to read the Messages database. mac
|
|
|
700
728
|
|
|
701
729
|
Some Homebrew-installed binaries are unsigned. macOS Full Disk Access silently rejects unsigned binaries — they won't appear in the list even after you add them. Open Terminal and run:
|
|
702
730
|
|
|
703
|
-
```
|
|
731
|
+
```bash
|
|
704
732
|
sudo codesign --force --sign - $(realpath $(which imsg))
|
|
705
733
|
sudo codesign --force --sign - $(realpath $(which node))
|
|
706
734
|
```
|
|
@@ -722,7 +750,7 @@ You can verify it worked by running `imsg chats --limit 5` in Terminal — if yo
|
|
|
722
750
|
The gateway runs as a background service using Node.js. Terminal's access doesn't apply to background services, so Node.js needs its own entry.
|
|
723
751
|
|
|
724
752
|
1. Open Terminal and run:
|
|
725
|
-
```
|
|
753
|
+
```bash
|
|
726
754
|
realpath $(which node)
|
|
727
755
|
```
|
|
728
756
|
This prints the real path — something like `/usr/local/Cellar/node/23.3.0/bin/node` or `/Users/you/.nvm/versions/node/v22.22.0/bin/node`.
|
|
@@ -752,7 +780,7 @@ This means Homebrew found an outdated Xcode.app on your Mac. Three options:
|
|
|
752
780
|
|
|
753
781
|
1. **Update Xcode** — open the App Store and update Xcode
|
|
754
782
|
2. **Switch to Command Line Tools** (no download needed) — open Terminal and run:
|
|
755
|
-
```
|
|
783
|
+
```bash
|
|
756
784
|
sudo xcode-select --switch /Library/Developer/CommandLineTools
|
|
757
785
|
```
|
|
758
786
|
3. **Install Command Line Tools** (if you don't have them) — run `xcode-select --install`
|
|
@@ -805,7 +833,8 @@ You need the IP address to connect from another device on your network (e.g., SS
|
|
|
805
833
|
**From your Mac or PC** (without a monitor on the Pi):
|
|
806
834
|
|
|
807
835
|
- **Before install:** Run `ping -c 1 raspberrypi.local` — a fresh Pi advertises this hostname by default
|
|
808
|
-
- **After install:** Run `ping -c 1 taskmaster.local` — the install changes the hostname to `taskmaster`
|
|
836
|
+
- **After install (default port):** Run `ping -c 1 taskmaster.local` — the install changes the hostname to `taskmaster`
|
|
837
|
+
- **After install (custom port):** Run `ping -c 1 taskmaster-19000.local` — when using `--port 19000`, the hostname includes the port
|
|
809
838
|
- **Router:** Check your router's admin page (usually `192.168.1.1`) — look for a device called "taskmaster" or "raspberrypi" in the connected devices list
|
|
810
839
|
|
|
811
840
|
Once you have the IP, you can access the setup page at `http://<your-pi-ip>:18789/setup` or connect via SSH with `ssh pi@<your-pi-ip>`.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# TOOLS.md - Local Notes
|
|
2
|
+
|
|
3
|
+
Skills define *how* tools work. This file is for *your* specifics — the stuff that's unique to your setup.
|
|
4
|
+
|
|
5
|
+
## What Goes Here
|
|
6
|
+
|
|
7
|
+
Things like:
|
|
8
|
+
- Camera names and locations
|
|
9
|
+
- SSH hosts and aliases
|
|
10
|
+
- Preferred voices for TTS
|
|
11
|
+
- Speaker/room names
|
|
12
|
+
- Device nicknames
|
|
13
|
+
- Anything environment-specific
|
|
14
|
+
|
|
15
|
+
## Examples
|
|
16
|
+
|
|
17
|
+
```markdown
|
|
18
|
+
### Cameras
|
|
19
|
+
- living-room → Main area, 180° wide angle
|
|
20
|
+
- front-door → Entrance, motion-triggered
|
|
21
|
+
|
|
22
|
+
### SSH
|
|
23
|
+
- home-server → 192.168.1.100, user: admin
|
|
24
|
+
|
|
25
|
+
### TTS
|
|
26
|
+
- Preferred voice: "Nova" (warm, slightly British)
|
|
27
|
+
- Default speaker: Kitchen HomePod
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Why Separate?
|
|
31
|
+
|
|
32
|
+
Skills are shared. Your setup is yours. Keeping them apart means you can update skills without losing your notes, and share skills without leaking your infrastructure.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
Add whatever helps you do your job. This is your cheat sheet.
|