aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-30 12:51:31 -0400
committerCraig Jennings <c@cjennings.net>2026-06-30 12:51:31 -0400
commita266250c1e24c9b2f6f246206c1b726dbb84c4bf (patch)
tree9215e2988771f5a97d5f3cd9b3ee9c2aa1346f55
parente4aeea6cb3fdd24fcaebd9f882045f30a88656c4 (diff)
downloadrulesets-a266250c1e24c9b2f6f246206c1b726dbb84c4bf.tar.gz
rulesets-a266250c1e24c9b2f6f246206c1b726dbb84c4bf.zip
chore: prune dangling bin symlinks, point paging at signal-mcp
The install bin loop linked every script under claude-templates/bin but never pruned orphans, so a deleted script left a dangling ~/.local/bin symlink. page-signal hit exactly this: the wrapper was removed 2026-06-12 but its symlink stayed, resolving to a dead target on the daily drivers. I added a prune step that drops symlinks pointing into claude-templates/bin whose target is gone, so any removed script self-cleans on the next install. I also added a protocols section naming the two paging channels: notify --persist at the machine, and the signal-mcp send_message_to_user tool when away from it. The pager account was never deregistered (only the page-signal script went away), so the live path is the MCP tool, and the section retires the script for good.
-rw-r--r--.ai/protocols.org9
-rw-r--r--Makefile9
-rw-r--r--claude-templates/.ai/protocols.org9
3 files changed, 27 insertions, 0 deletions
diff --git a/.ai/protocols.org b/.ai/protocols.org
index 46bea50..ed07c0e 100644
--- a/.ai/protocols.org
+++ b/.ai/protocols.org
@@ -406,6 +406,15 @@ Full usage: =notify --help= or see =~/.local/bin/notify=
- =atq= - list all scheduled alarms
- =atrm [number]= - remove an alarm by its queue number
+** Paging Craig — desktop vs. away from the machine
+
+"Page me" has two channels; pick by where Craig is.
+
+- *At his laptop/desktop* — desktop =notify ... --persist= (above). It reaches him on the machine and stays up until dismissed.
+- *Away from his laptop/desktop* — page his phone over Signal via the *signal-mcp* tool =send_message_to_user=, addressed to Craig's account UUID =b1b5601e-6126-47f8-afaa-0a59f5188fde= (his primary number reads as unregistered in Signal's directory — never page a phone number). The message goes out from the dedicated pager account (+15045173983) and fires a normal mobile push. This is the live cross-device path, verified working 2026-06-30.
+
+Do *not* use the old =page-signal= shell script — it was removed from the rulesets canonical 2026-06-12 and its =~/.local/bin/page-signal= symlink no longer exists. The signal-mcp tool is the only supported Signal path; =notify --persist= is the only supported desktop path.
+
* Session Protocols
** CRITICAL: Git Commit Requirements
diff --git a/Makefile b/Makefile
index ca73612..a6e636f 100644
--- a/Makefile
+++ b/Makefile
@@ -255,6 +255,15 @@ install: ## Symlink skills, rules, config, hooks, and bin scripts into place
echo " link $$name → $(LOCAL_BIN)/$$name"; \
fi \
done
+ @for link in "$(LOCAL_BIN)"/*; do \
+ [ -L "$$link" ] || continue; \
+ target=$$(readlink "$$link"); \
+ case "$$target" in "$(CURDIR)/claude-templates/bin/"*) ;; *) continue ;; esac; \
+ if [ ! -e "$$target" ]; then \
+ rm "$$link"; \
+ echo " prune $$(basename "$$link") (dangling → $$target)"; \
+ fi \
+ done
@echo ""
@echo "done"
diff --git a/claude-templates/.ai/protocols.org b/claude-templates/.ai/protocols.org
index 46bea50..ed07c0e 100644
--- a/claude-templates/.ai/protocols.org
+++ b/claude-templates/.ai/protocols.org
@@ -406,6 +406,15 @@ Full usage: =notify --help= or see =~/.local/bin/notify=
- =atq= - list all scheduled alarms
- =atrm [number]= - remove an alarm by its queue number
+** Paging Craig — desktop vs. away from the machine
+
+"Page me" has two channels; pick by where Craig is.
+
+- *At his laptop/desktop* — desktop =notify ... --persist= (above). It reaches him on the machine and stays up until dismissed.
+- *Away from his laptop/desktop* — page his phone over Signal via the *signal-mcp* tool =send_message_to_user=, addressed to Craig's account UUID =b1b5601e-6126-47f8-afaa-0a59f5188fde= (his primary number reads as unregistered in Signal's directory — never page a phone number). The message goes out from the dedicated pager account (+15045173983) and fires a normal mobile push. This is the live cross-device path, verified working 2026-06-30.
+
+Do *not* use the old =page-signal= shell script — it was removed from the rulesets canonical 2026-06-12 and its =~/.local/bin/page-signal= symlink no longer exists. The signal-mcp tool is the only supported Signal path; =notify --persist= is the only supported desktop path.
+
* Session Protocols
** CRITICAL: Git Commit Requirements