skills/cron/SKILL.md
--- id: cron name: Cron description: Manage reminders and scheduled messages. Actions: list, add, remove. See skill.md for arguments. --- # Cron Manage reminders and scheduled messages: **one-shot** (at a specific time) or **recurring** (every morning, every 5 minutes, etc.). Call **run_skill** with **skill: "cron"**. The **command name** is the operation: use **command** or **arguments.action** set to exactly one of: **list**, **add**, **remove**. **Reply channel:** By default the reminder r
npx skillsauth add bishwashere/cowcode skills/cronInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Manage reminders and scheduled messages: one-shot (at a specific time) or recurring (every morning, every 5 minutes, etc.). Call run_skill with skill: "cron". The command name is the operation: use command or arguments.action set to exactly one of: list, add, remove.
Reply channel: By default the reminder reply is sent to the same channel (WhatsApp chat or Telegram chat) where the user set it up. This is stored with the job and used even when a separate cron process runs the task-no need to specify a channel; it stays attached to where it was created.
0 8 * * 1) in the reply - always convert to human-readable form (e.g. "Every Monday at 8:00 AM"). Use the stored human-readable message and the schedule kind (at/cron) to produce a natural description.{ "kind": "at", "at": "<future ISO 8601>" }. Always use an exact full ISO 8601 timestamp (e.g. 2026-02-19T08:00:00.000Z). Schedules are saved and run at that exact time. For "in 1 hour" or "tomorrow 8am" compute the exact datetime and pass it as ISO 8601.{ "kind": "cron", "expr": "<cron expression>", "tz": "optional IANA timezone" }. Use the expr values below for common setups. Never invent message text. If the user does not specify how often to check, use a sensible default (e.g. every 10 minutes: */10 * * * *), create the job, then say they can change the interval or remove it later.list first to get the numbered list (1-indexed from top), find the job at that exact position across the full combined list (one-time + recurring in the order shown), then call remove with that job's id. Confirm what was removed by name and position.You can pass the command at the top level (command: "list") or inside arguments (arguments.action: "list"). Never omit the command/action.
Cron expr is 5 fields: minute hour day-of-month month day-of-week (space-separated). Use these for natural-language requests:
| User says | expr | Meaning |
|-----------|----------|---------|
| every 5 minutes | */5 * * * * | Every 5 minutes |
| every minute | * * * * * | Every minute |
| every hour | 0 * * * * | At minute 0 of every hour |
| every morning / every day at 8am | 0 8 * * * | 8:00 daily |
| every day at 9am | 0 9 * * * | 9:00 daily |
| every Monday at 8am | 0 8 * * 1 | 8:00 on Mondays (1 = Monday, 0 = Sunday) |
| every weekday at 8am | 0 8 * * 1-5 | 8:00 Mon–Fri |
Optional tz for timezone (e.g. "America/New_York"). Example job for "every morning at 8": { "message": "Good morning reminder", "schedule": { "kind": "cron", "expr": "0 8 * * *", "tz": "America/New_York" } }.
cron_list
description: List all scheduled jobs/reminders. No parameters.
cron_add
description: Create a reminder. Set job with message and schedule (kind at|cron, at or expr, tz).
parameters:
job: object
cron_remove
description: Remove a scheduled job by id (from list result).
parameters:
jobId: string
testing
Bridge conversation to dashboard Projects and Missions — list configured projects, register new ones with setup details, health-check, propose tasks, create missions after user approval, log progress, and update task status. Use when the user wants to work on, track, or manage a project.
testing
Scan linked teammates and score who best fits a user request. Returns ranked agents with relevance scores, reasoning, and a recommendation (delegate, handle-in-main, adapt, or create-new). Call when the topic does not clearly match your active skills or before deciding whether to delegate.
tools
Gmail integration. List, read, search, send, reply, archive, trash, mark-read emails. Natural language commands like "clear my inbox" or "summarize unread". Requires gog CLI authenticated with Gmail.
documentation
GitHub integration. Read repos, list/read issues and PRs, create branches, post comments, create PRs. Requires GitHub token in ~/.pasture/secrets.json or GITHUB_TOKEN env var.