schedule
/schedule
Schedule time-triggered reminders and deferred verb dispatches, review upcoming events with agenda, and remove pending entries with cancel. Use whenever you want to remind yourself at a future time, automate a verb to run later, check what is on the calendar, or cancel a scheduled item.
- Author
- ohdearquant ↗
- Repository
- khive ↗
- Licence
- Apache-2.0
- Last repository change
- 27.10.2026
Assessment and security
- Files in this package
- 1
- Scripts
- 0
- HTML comments
- 0
- URLs in SKILL.md
- 0
No signals detected. Repository changed on 27.10.2026, without references to retired models or APIs.
Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.
What it does and when to use it
Schedule time-triggered reminders and deferred verb dispatches, review upcoming events with agenda, and remove pending entries with cancel. Use whenever you want to remind yourself at a future time, automate a verb to run later, check what is on the calendar, or cancel a scheduled item.
Original author description
Schedule time-triggered reminders and deferred verb dispatches, review upcoming events with agenda, and remove pending entries with cancel. Use whenever you want to remind yourself at a future time, automate a verb to run later, check what is on the calendar, or cancel a scheduled item.
How it works
- The pattern
- Anti-patterns
SKILL.md preview
---
description: Schedule time-triggered reminders and deferred verb dispatches, review upcoming events with agenda, and remove pending entries with cancel. Use whenever you want to remind yourself at a future time, automate a verb to run later, check what is on the calendar, or cancel a scheduled item.
---
# Schedule time-triggered reminders and actions
khive schedule is four verbs: `schedule.remind`, `schedule.schedule`, `schedule.agenda`, and
`schedule.cancel`. The distinction worth internalizing is `remind` vs `schedule`: remind stores
a human-readable prompt ("tell me at time T"), schedule stores a DSL verb string to dispatch
("run this verb at time T"). Per-verb param detail is one call away:
`request(ops="schedule.remind(help=true)")`.
## The pattern
### 1. Remind: tell me at time T
Use `remind` when you want the runtime to surface a text note at a future moment.
```
request(ops="schedule.remind(content=\"check CI results\", at=\"2026-06-22T10:00:00Z\")")
```
The `at` param is an RFC 3339 timestamp. It is named `at`, not `due`. Add `repeat` to make it
recurring: `"daily"`, `"weekly"`, or `"monthly"`. Cron expressions are rejected because the
executor cannot advance them safely.
```
request(ops="schedule.remind(content=\"weekly standup prep\", at=\"2026-06-23T09:00:00Z\", repeat=\"weekly\")")
```
### 2. Schedule: run a verb at time T
Use `schedule` to defer any DSL verb call. The `action` param must be a valid khive verb
expression — it is validated at write time. Plain English prose is rejected.
```
request(ops="schedule.schedule(action=\"gtd.assign(title=\\\"weekly review\\\", priority=\\\"p1\\\")\", at=\"2026-06-23T09:00:00Z\")")
```
The action must be one exactly registered public verb call with literal arguments and
all required fields. Batches, chains, `$prev`, bare shorthand, and internal subhandlers
are rejected because the stored call must replay independently:
```
comm.send(to="lambda:leo", content="heartbeat")
gtd.assign(title="weekly review", priority="p1")
```
### 3. Agenda: review what is pending
`schedule.agenda()` returns pending events sorted soonest-first. Cancelled or already-fired
events are excluded. Use a time window to focus.
```
request(ops="schedule.agenda()")
request(ops="schedule.agenda(from=\"2026-06-22T00:00:00Z\", to=\"2026-06-28T23:59:59Z\")")
```
Batch with inbox and tasks for a session-start snapshot:
```
request(ops="[schedule.agenda(limit=10), comm.inbox(limit=10), gtd.next(limit=5)]")
```
### 4. Cancel: remove a pending entry
Pass the full UUID from the response (or an unambiguous 8+ hex prefix). The event's `status` is
set to `cancelled` (with a `cancelled_at` timestamp) — it stays in storage for audit but vanishes
from `agenda`.
```
request(ops="schedule.cancel(id=\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\")")
```
Run `schedule.agenda()` first to confirm the event is still pending before cancelling.
## Anti-patterns
- **`at` named wrong.** The param is `at`, not `due`. Using `due=` is rejected.
- **`action` as prose.** `action="send a heartbeat"` is rejected. The value must be a valid DSL verb call.
- **Batch/chain action.** A scheduled action is one replayable call, not a batch or `$prev` chain.
- **Natural-language timestamps.** `"tomorrow"` or `"next week"` are rejected by both `remind` and `schedule`. Compute the RFC 3339 string.
- **Cancelling by ambiguous prefix.** If the short prefix matches more than one event, the call is rejected. Use a longer prefix or the full UUID.
- **Expecting `agenda` to show cancelled events.** It only returns `status: "pending"`. Use `list(kind="scheduled_event")` via the KG pack to see all states.
Versions
| Repository | Score | Licence |
|---|---|---|
| This page · ohdearquant/khive | 84 | Apache-2.0 |
| guangshinhaha/shinstack | 100 | MIT |
| LandonSchropp/agent-toolkit | 100 | MIT |
| keshavkatwe/pushwing-claude-plugin | 100 | MIT |
| jikig-ai/soleur | 93 | Apache-2.0 |
| odranoelBR/commit-vitals | 90 | MIT |
| cenksimsek1988/cenk-jobs | 90 | MIT |
| Cruna-Noise-To-Signal/cruna-plugins | 90 | Apache-2.0 |
| SayandipBagchi/release-notes-plugin | 90 | MIT |
Database snapshot: 13.11.2026 · package version 8add8827b014 (SHA-256 digest of the entire package)
Downloads in the last 30 days: 0 · ranking
Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.
Similar skills
- 100calendar-events
Create, view, reschedule, and cancel calendar events and appointments. Use when the user asks to schedule a meeting, check their calendar, book an appointment, reschedule, or set a reminder for an event. - 100pipa-follow-up-reminders
Create and cancel simple one-shot email follow-up reminders through Pipa. Use this when the user wants Pipa to email them a specific reminder at a future time, such as “email me tomorrow at 9 to follow up,” “remind me by email next Friday,” or “send me a reminder in two hours.”… - 100ctx-remind
Manage session reminders. Use when the user says 'remind me to...' or asks about pending reminders. - 100calendar
Google Calendar integration — check schedule, create events, daily briefings, proactive reminders. Triggers on "what's on my calendar", "add to calendar", "schedule a meeting", "when am I free", "daily briefing", or any calendar-related request. - 100set-reminders
Set time- or context-based reminders and surface them when due. Use for "remind me to…", "at 6pm remind me…", "in 20 minutes remind me…", or "when I get home, remind me…". Triggers: remind me, reminder, don't let me forget, at <time>, in <duration>, when I <context>. - 90org-agenda
View and manage org-mode agenda, scheduled tasks, TODOs, and deadlines via the org MCP server. Use when the user asks about their schedule, agenda, tasks, or deadlines. Triggers: "show my agenda", "what's on my schedule", "tasks for today", "tomorrow's agenda", "what do I have…