From 1541a6c238f21f6a1cd74ca88699519ea80685aa Mon Sep 17 00:00:00 2001 From: BarnacleBoy Date: Fri, 8 May 2026 15:52:34 +0000 Subject: [PATCH] Support multiple notification platforms, gracefully handle 'none' --- SKILL.md | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/SKILL.md b/SKILL.md index 01a0a8d..5f0e073 100644 --- a/SKILL.md +++ b/SKILL.md @@ -98,14 +98,25 @@ Use SSH-MCP (`mcp_ssh_execute_command`): cd ~ && tar xzf YYYY-MM-DD-.tar.gz ``` -### Step 8: Create a one-shot cron job on the recipient server +### Step 8: Create notification for the recipient + +Check the recipient's `Notification` field in AGENTS.md: + +| Notification | Action | +|--------------|--------| +| `discord` | Use `--deliver discord` | +| `telegram` | Use `--deliver telegram` | +| `slack` | Use `--deliver slack` | +| `none` | Skip cron notification, warn sender | + +**If recipient has a notification platform:** Use SSH-MCP to run: ```bash hermes cron create \ --name "transfer-ack-" \ - --deliver discord \ + --deliver \ --repeat 1 \ 1m \ "New transfer packet from . Please read ~/YYYY-MM-DD-/LETTER.md and follow the instructions inside." @@ -114,9 +125,18 @@ hermes cron create \ This creates a one-shot cron job that: - Runs in ~1 minute - Triggers the recipient agent with the notification prompt -- Delivers the response to Discord +- Delivers the response to the specified platform - Auto-removes after running once (`--repeat 1`) +**If recipient has `Notification: none`:** + +Skip the cron job. Inform the sender: +``` +Recipient has no notification platform configured. +Packet delivered to ~/YYYY-MM-DD-/LETTER.md but no automatic notification sent. +You may need to manually notify the recipient. +``` + **Note:** The cron ticker runs at 60s intervals, so it may take 1-2 minutes for the job to fire. ### Step 9: Confirm to user @@ -139,13 +159,14 @@ The recipient should clean up their copy after reading the letter. ## Pitfalls -- **Do NOT use `hermes -z` or `hermes chat -q`** — those output to stdout only, not Discord. Always use the cron mechanism with `--deliver discord`. +- **Do NOT use `hermes -z` or `hermes chat -q`** — those output to stdout only, not Discord. Always use the cron mechanism with `--deliver `. - **Do NOT try to message the recipient's Discord bot directly** — Discord bots cannot see messages from other bots. - **The `--repeat 1` flag is required** — without it, the job runs indefinitely. - **Schedule format:** Use `1m` (relative offset), not `now`. The cron ticker picks it up on the next tick. - **SCP requires SSH key auth** — ensure `~/.ssh/authorized_keys` is set up on the recipient server for the sending agent's key. - **Files must be in the tarball** — don't assume the recipient has access to your filesystem. Copy everything into the packet directory. - **Hardcoded names** — always derive SENDER_NAME, RECIPIENT_NAME, and USER_NAME from context or AGENTS.md, never hardcode them. +- **Notification platform** — check AGENTS.md for the recipient's `Notification` field. Use the corresponding `--deliver` flag. If `none`, skip the cron job and warn the sender. ## Integration with agent-coordination