From claude-soma
Schedules one-shot Telegram reminders or recurring cloud routines. Supports relative times, ISO-8601, and cron expressions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-soma:schedule-routineThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
For any request that fires once ("remind me in 5m", "ping me at 10am tomorrow",
For any request that fires once ("remind me in 5m", "ping me at 10am tomorrow",
"remind me to check X in 2 hours"), call mcp__hermes_api__schedule_reminder:
mcp__hermes_api__schedule_reminder(
when="<5m | 2h | 1d | ISO-8601 | Unix epoch>",
message="<plain-text reminder body>"
)
when formats:
5m, 2h, 1d2026-06-01T09:00:00Z1750000000Returns {"pid": int, "fires_at_iso": str, "message_preview": str}. Confirm
the fires_at_iso to the user.
This path spawns a detached bash subprocess (survives MCP restart) and sends the message via the Telegram Bot API. No RemoteTrigger call needed.
For recurring schedules ("every weekday at 9am, do X", "every Sunday 11am"),
use the RemoteTrigger path below. Note: RemoteTrigger v2 requires {name, cron, prompt} body. The {name, cron, prompt} shape is the only accepted form —
alternate body shapes return HTTP 400.
Parse the cadence from the user's request:
7 9 * * 1-5 (always pick an off-minute)13 11 * * 0mcp__hermes_api__schedule_reminder insteadCompose the routine's prompt body — explicit and standalone, since cloud routines do NOT inherit your current context:
Run the morning-brief skill. Send result to telegram chat <chat-id>.
Call RemoteTrigger with action create:
RemoteTrigger(action="create", body={
"name": "<human-readable name>",
"cron": "<cron expr>",
"prompt": "<the routine body>"
})
After RemoteTrigger.create succeeds, register the routine locally so it appears in the dashboard. Call:
mcp__project_orchestrator__register_routine(
name="<the routine name>",
kind="cloud",
schedule="<the cron expression you used>",
target_skill="<the skill the routine invokes>",
description="<one-liner the user gave you>",
created_by="user",
metadata_json='{"trigger_id": "<the id returned by RemoteTrigger.create>"}'
)
If the local registration fails, surface that as a warning but do NOT roll back the cloud routine — the cloud side is the source of truth and the dashboard fallback already synthesizes a "cloud" entry from the /routines list query.
Confirm to user with parsed run time + claude.ai URL the response includes.
mcp__hermes_api__schedule_reminder) have no cap.npx claudepluginhub techfreakworm/claude-somaCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.