aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.ai/protocols.org14
-rwxr-xr-x.ai/scripts/cross-agent-comms/cross-agent-watch2
-rw-r--r--.ai/scripts/cross-agent-comms/cross-agent-watch.md4
-rw-r--r--claude-templates/.ai/protocols.org14
-rwxr-xr-xclaude-templates/.ai/scripts/cross-agent-comms/cross-agent-watch2
-rw-r--r--claude-templates/.ai/scripts/cross-agent-comms/cross-agent-watch.md4
6 files changed, 24 insertions, 16 deletions
diff --git a/.ai/protocols.org b/.ai/protocols.org
index 57ebf87..e4e1310 100644
--- a/.ai/protocols.org
+++ b/.ai/protocols.org
@@ -301,16 +301,18 @@ Use Craig's =notify= script with the =at= daemon for persistent reminders.
**IMPORTANT:** Always check the current date and time (=date=) before setting alarms to ensure accurate calculations.
+**Default to =--persist= for any page meant to get Craig's attention** (alarms, reminders, meeting alerts). A transient notification auto-dismisses after a few seconds, so a page that fires while Craig is away from his desk is missed entirely. =--persist= keeps it on screen until he dismisses it. Drop the flag only for a genuinely low-value informational ping.
+
*** Setting an alarm
#+begin_src bash
-echo 'notify alarm "Title" "Message"' | at 10:55am
+echo 'notify alarm "Title" "Message" --persist' | at 10:55am
#+end_src
*** Examples
#+begin_example
-echo 'notify alarm "Standup" "Daily standup in 5 minutes"' | at 10:55am
-echo 'notify alarm "BP Reading" "Time to take BP"' | at 2:00pm
-echo 'notify alert "Meeting" "Ryan call starting"' | at 11:25am
+echo 'notify alarm "Standup" "Daily standup in 5 minutes" --persist' | at 10:55am
+echo 'notify alarm "BP Reading" "Time to take BP" --persist' | at 2:00pm
+echo 'notify alert "Meeting" "Ryan call starting" --persist' | at 11:25am
#+end_example
*** Notify types available
@@ -415,9 +417,9 @@ When monitoring a long-running process (rsync, large downloads, builds, VM tests
***At Completion:***
1. Send notification via notify script:
#+begin_src bash
- notify success "Task Complete" "Description of what finished"
+ notify success "Task Complete" "Description of what finished" --persist
#+end_src
- Use =fail= type instead of =success= if the task failed.
+ Use =fail= type instead of =success= if the task failed. Keep =--persist=. The completion ping exists to reach Craig when he's away from the screen, so it must wait for him rather than auto-dismiss.
2. Provide summary of success or failure
#+begin_example
diff --git a/.ai/scripts/cross-agent-comms/cross-agent-watch b/.ai/scripts/cross-agent-comms/cross-agent-watch
index 3978f49..f50ba26 100755
--- a/.ai/scripts/cross-agent-comms/cross-agent-watch
+++ b/.ai/scripts/cross-agent-comms/cross-agent-watch
@@ -101,6 +101,6 @@ inotifywait -m -e create,moved_to --format '%w%f' "${EXISTING[@]}" 2>/dev/null \
[[ $QUIET -eq 0 ]] && echo "[$iso] $proj: $filename"
if [[ $NO_NOTIFY -eq 0 ]]; then
- notify info "Cross-agent message" "${proj}: ${filename}" 2>/dev/null || true
+ notify info "Cross-agent message" "${proj}: ${filename}" --persist 2>/dev/null || true
fi
done
diff --git a/.ai/scripts/cross-agent-comms/cross-agent-watch.md b/.ai/scripts/cross-agent-comms/cross-agent-watch.md
index dd8afc1..04e8005 100644
--- a/.ai/scripts/cross-agent-comms/cross-agent-watch.md
+++ b/.ai/scripts/cross-agent-comms/cross-agent-watch.md
@@ -34,7 +34,9 @@ No args required. Defaults:
2. Runs `inotifywait -m -e create,moved_to --format '%w%f'` against each
watched directory.
3. For each event, calls
- `notify info "Cross-agent message" "<project>: <filename>"`.
+ `notify info "Cross-agent message" "<project>: <filename>" --persist`. The
+ `--persist` flag keeps the page on screen until dismissed, so an inbound
+ message that arrives while Craig is away from the desk isn't missed.
4. Appends an event line to the log:
`<ISO-8601-timestamp>\t<project>\t<filename>`.
diff --git a/claude-templates/.ai/protocols.org b/claude-templates/.ai/protocols.org
index 57ebf87..e4e1310 100644
--- a/claude-templates/.ai/protocols.org
+++ b/claude-templates/.ai/protocols.org
@@ -301,16 +301,18 @@ Use Craig's =notify= script with the =at= daemon for persistent reminders.
**IMPORTANT:** Always check the current date and time (=date=) before setting alarms to ensure accurate calculations.
+**Default to =--persist= for any page meant to get Craig's attention** (alarms, reminders, meeting alerts). A transient notification auto-dismisses after a few seconds, so a page that fires while Craig is away from his desk is missed entirely. =--persist= keeps it on screen until he dismisses it. Drop the flag only for a genuinely low-value informational ping.
+
*** Setting an alarm
#+begin_src bash
-echo 'notify alarm "Title" "Message"' | at 10:55am
+echo 'notify alarm "Title" "Message" --persist' | at 10:55am
#+end_src
*** Examples
#+begin_example
-echo 'notify alarm "Standup" "Daily standup in 5 minutes"' | at 10:55am
-echo 'notify alarm "BP Reading" "Time to take BP"' | at 2:00pm
-echo 'notify alert "Meeting" "Ryan call starting"' | at 11:25am
+echo 'notify alarm "Standup" "Daily standup in 5 minutes" --persist' | at 10:55am
+echo 'notify alarm "BP Reading" "Time to take BP" --persist' | at 2:00pm
+echo 'notify alert "Meeting" "Ryan call starting" --persist' | at 11:25am
#+end_example
*** Notify types available
@@ -415,9 +417,9 @@ When monitoring a long-running process (rsync, large downloads, builds, VM tests
***At Completion:***
1. Send notification via notify script:
#+begin_src bash
- notify success "Task Complete" "Description of what finished"
+ notify success "Task Complete" "Description of what finished" --persist
#+end_src
- Use =fail= type instead of =success= if the task failed.
+ Use =fail= type instead of =success= if the task failed. Keep =--persist=. The completion ping exists to reach Craig when he's away from the screen, so it must wait for him rather than auto-dismiss.
2. Provide summary of success or failure
#+begin_example
diff --git a/claude-templates/.ai/scripts/cross-agent-comms/cross-agent-watch b/claude-templates/.ai/scripts/cross-agent-comms/cross-agent-watch
index 3978f49..f50ba26 100755
--- a/claude-templates/.ai/scripts/cross-agent-comms/cross-agent-watch
+++ b/claude-templates/.ai/scripts/cross-agent-comms/cross-agent-watch
@@ -101,6 +101,6 @@ inotifywait -m -e create,moved_to --format '%w%f' "${EXISTING[@]}" 2>/dev/null \
[[ $QUIET -eq 0 ]] && echo "[$iso] $proj: $filename"
if [[ $NO_NOTIFY -eq 0 ]]; then
- notify info "Cross-agent message" "${proj}: ${filename}" 2>/dev/null || true
+ notify info "Cross-agent message" "${proj}: ${filename}" --persist 2>/dev/null || true
fi
done
diff --git a/claude-templates/.ai/scripts/cross-agent-comms/cross-agent-watch.md b/claude-templates/.ai/scripts/cross-agent-comms/cross-agent-watch.md
index dd8afc1..04e8005 100644
--- a/claude-templates/.ai/scripts/cross-agent-comms/cross-agent-watch.md
+++ b/claude-templates/.ai/scripts/cross-agent-comms/cross-agent-watch.md
@@ -34,7 +34,9 @@ No args required. Defaults:
2. Runs `inotifywait -m -e create,moved_to --format '%w%f'` against each
watched directory.
3. For each event, calls
- `notify info "Cross-agent message" "<project>: <filename>"`.
+ `notify info "Cross-agent message" "<project>: <filename>" --persist`. The
+ `--persist` flag keeps the page on screen until dismissed, so an inbound
+ message that arrives while Craig is away from the desk isn't missed.
4. Appends an event line to the log:
`<ISO-8601-timestamp>\t<project>\t<filename>`.