schedule
Create, list, and cancel reminders and recurring tasks via Iris's events queue.
Skill by irisworks
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/irisworks-schedule
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/schedule
What's inside
- Skill name
schedule- Description
- Create, list, and cancel reminders and recurring tasks via Iris's events queue. Use when asked to "remind me", "every morning", "at 5pm", or any scheduled/recurring request.
- License
- Apache-2.0
- Instructions
- 69 lines in SKILL.md · view on GitHub
Files (2)
- SKILL.md
- schedule
SKILL.md (first lines)
# Skill: schedule
Schedule future or recurring messages to a channel using Iris's built-in events
queue. When an event fires, its `text` arrives in the channel as if a user sent
it — so write the text as an instruction to your future self
(e.g. `"post a standup reminder"`), not as the final message.
No external services: events are JSON files in `$IRIS_EVENTS_DIR`
(default `/iris/data/events`), hot-watched by the runtime.
## Usage
```bash
# One-shot: fire once at an ISO 8601 time (with timezone offset)
schedule once --channel <channelId> --at "2026-07-20T17:00:00+05:30" --text "remind the team about the release call"
# Recurring: cron schedule + IANA timezone (default UTC)
schedule every --channel <channelId> --cron "0 9 * * 1-5" --tz "Asia/Kolkata" --text "post the morning summary"
# --as-task: fire through the isolated `task` tool instead of a full channel turn.
# Only the task's final result gets posted — the channel's own context doesn't
# grow on every firing. Requires IRIS_TASKS_ENABLED on the running install;
# otherwise the runtime falls back to a normal full-turn firing and logs a warning.
schedule every --channel <channelId> --cron "0 * * * *" --text "run the status skill and report only if something's wrong" --as-task
# List scheduled events (shows [as-task] for task-mode events)
schedule list
# Cancel by id (the filename shown by `schedule list`)
schedule cancel schedule-1752940000-a1b2.json
```
Use the channel ID of the current conversation unless the user names another
channel. Never hardcode channel IDs in skills or docs.
Prefer `--as-task` for anything noisy or multi-step (log digging, a `status`
sweep, a `terraform plan` check) so a recurring job doesn't permanently grow
the channel's context on every firing.
## How it works
The script writes an event file the runtime's `EventsWatcher`
(`iris-runtime/src/engine/events.ts`) picks up:
- `one-shot` — `{"type":"one-shot","channelId":...,"text":...,"at":"<ISO 8601>","runAsTask":<bool>}`;
the file is deleted automatically after it fires.
- `periodic` — `{"type":"periodic","channelId":...,"text":...,"schedule":"<cron>","timezone":"<IANA>","runAsTask":<bool>}`;
the file persists and fires on every cron match. Deleting the file cancels it.
When `runAsTask` is true and the runtime has `IRIS_TASKS_ENABLED` set, the
engine runs `text` as a `task` tool prompt (fresh context, no memory, same
executor/model as the channel) and posts only its final result into the
channel, followed by a one-line record of each state-changing tool call it made
(`bash`/`edit`/`write`/MCP; reads are omitted) — posted even when the result is
`[SILENT]`. The firing never becomes a full turn in that channel's own session.
If the flag isn't set, the event still fires, but as a normal full turn (with
a warning logged), same as if `--as-task` had been omitted.
## Notes
- `--at` must include a timezone offset (`Z` or `+05:30`); times in the past are
skipped by the runtime.
- Cron is standard 5-field syntax; `timezone` is required by the runtime for
periodic events (the script defaults it to `UTC`).
- Editing an event file reschedules it; deleting it cancels it — `schedule cancel`
is just a guarded delete.
- Requires `jq` (available on all Iris hosts).From irisworks/iris-core, Apache-2.0.
More from irisworks/iris-core
- 0.636score
send-email
irisworks
Send an email via Resend API from ${IRIS_EMAIL_FROM:-iris@example.com}.
SkillAFreshness: A★ 13Claude Code +9 - 0.636score
status
irisworks
Read-only health snapshot of this Iris install — service state, disk, sub-agent containers, recent errors, and message-processing check.
SkillAFreshness: A★ 13Claude Code +9 - 0.636score
transcribe-audio
irisworks
Transcribe an audio file (m4a, mp3, wav, ogg, webm) to text using OpenAI Whisper API.
SkillAFreshness: A★ 13Claude Code +9 - 0.633score
self-heal
irisworks
Sub-agent self-diagnostic and escalation.
SkillAFreshness: A★ 13Claude Code +9 - 0.633score
set-secret
irisworks
Store a secret, or mint a one-time drop link so a user can share a secret without pasting it into chat.
SkillAFreshness: A★ 13Claude Code +9 - 0.633score
spawn-agent
irisworks
Create a new sub-agent — no Terraform, no Docker by default.
SkillAFreshness: A★ 13Claude Code +9 - 0.633score
mcp
irisworks
Add, remove, and test MCP (Model Context Protocol) servers by editing meta/mcp.json.
SkillAFreshness: A★ 13Claude Code +9 - 0.633score
serve-public
irisworks
Expose a local port as a public HTTPS subdomain under IRIS_BASE_DOMAIN.
SkillAFreshness: A★ 13Claude Code +9 - 0.632score
upgrade-iris
irisworks
Upgrade this Iris install to the latest (or a given) release tag.
SkillAFreshness: A★ 13Claude Code +9 - 0.630score
terraform
irisworks
Opt-in Azure/Terraform profile only — plan and apply Terraform changes using the safe Iris workflow.
SkillAFreshness: A★ 13Claude Code +9 - 0.630score
azure
irisworks
Opt-in Azure profile only — common Azure CLI patterns for auth, infrastructure, and operational checks.
SkillAFreshness: A★ 13Claude Code +9 - 0.630score
firecracker-agent
irisworks
Opt-in Firecracker profile only — provision, verify, reset, and destroy Firecracker microVM sub-agents.
SkillAFreshness: A★ 13Claude Code +9
Signals
- Stars
- 13
- Forks
- 3
- Open issues
- 7
- Last commit (this folder)
- Oct 7, 2026 (21 days ago)
- Last release
- Oct 14, 2026 (13 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/irisworks/iris-core
- Website
- irisflow.dev
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from irisworks
- 0.636score
transcribe-audio
irisworks
Transcribe an audio file (m4a, mp3, wav, ogg, webm) to text using OpenAI Whisper API.
SkillAFreshness: A★ 13Claude Code +9 - 0.636score
status
irisworks
Read-only health snapshot of this Iris install — service state, disk, sub-agent containers, recent errors, and message-processing check.
SkillAFreshness: A★ 13Claude Code +9 - 0.636score
send-email
irisworks
Send an email via Resend API from ${IRIS_EMAIL_FROM:-iris@example.com}.
SkillAFreshness: A★ 13Claude Code +9 - 0.633score
mcp
irisworks
Add, remove, and test MCP (Model Context Protocol) servers by editing meta/mcp.json.
SkillAFreshness: A★ 13Claude Code +9 - 0.633score
self-heal
irisworks
Sub-agent self-diagnostic and escalation.
SkillAFreshness: A★ 13Claude Code +9 - 0.633score
serve-public
irisworks
Expose a local port as a public HTTPS subdomain under IRIS_BASE_DOMAIN.
SkillAFreshness: A★ 13Claude Code +9
Cite this page
schedule skill. Agent Mart. https://agentmart.dev/skills/irisworks-schedule (last updated 2026-10-24)