Schedule
TinyAGI/tinyagi
Create, list, and delete scheduled tasks (recurring or one-time) that send messages to agents.
Writes durable recurring or future-dated jobs for a Vexa workspace as routine files, replacing OS cron, timers and session-only reminders.
$ npx skills add Vexa-ai/vexa --skill scheduling -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Vexa-ai/vexa scheduling --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Vexa-ai/vexa.git skills-src && mkdir -p .claude/skills && cp -r skills-src/core/agent/workspace-seeds/finos/skills/scheduling .claude/skills/scheduling && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "scheduling" agent skill from https://github.com/Vexa-ai/vexa/tree/main/core/agent/workspace-seeds/finos/skills/scheduling into .claude/skills/scheduling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scheduling", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Vexa-ai/vexa/tree/main/core/agent/workspace-seeds/finos/skills/schedulingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Vexa-ai/vexa --skill scheduling -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Vexa-ai/vexa scheduling --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Vexa-ai/vexa.git skills-src && mkdir -p .agents/skills && cp -r skills-src/core/agent/workspace-seeds/finos/skills/scheduling .agents/skills/scheduling && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "scheduling" agent skill from https://github.com/Vexa-ai/vexa/tree/main/core/agent/workspace-seeds/finos/skills/scheduling into .agents/skills/scheduling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scheduling", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Vexa-ai/vexa --skill scheduling -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Vexa-ai/vexa scheduling --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Vexa-ai/vexa.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/core/agent/workspace-seeds/finos/skills/scheduling .cursor/skills/scheduling && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "scheduling" agent skill from https://github.com/Vexa-ai/vexa/tree/main/core/agent/workspace-seeds/finos/skills/scheduling into .cursor/skills/scheduling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scheduling", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Vexa-ai/vexa.git --path core/agent/workspace-seeds/finos/skills/scheduling--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Vexa-ai/vexa --skill scheduling -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Vexa-ai/vexa scheduling --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Vexa-ai/vexa.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/core/agent/workspace-seeds/finos/skills/scheduling .gemini/skills/scheduling && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "scheduling" agent skill from https://github.com/Vexa-ai/vexa/tree/main/core/agent/workspace-seeds/finos/skills/scheduling into .gemini/skills/scheduling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scheduling", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Vexa-ai/vexa schedulingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Vexa-ai/vexa --skill scheduling -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Vexa-ai/vexa.git skills-src && mkdir -p .github/skills && cp -r skills-src/core/agent/workspace-seeds/finos/skills/scheduling .github/skills/scheduling && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "scheduling" agent skill from https://github.com/Vexa-ai/vexa/tree/main/core/agent/workspace-seeds/finos/skills/scheduling into .github/skills/scheduling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scheduling", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Vexa-ai/vexa --skill scheduling -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Vexa-ai/vexa scheduling --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Vexa-ai/vexa.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/core/agent/workspace-seeds/finos/skills/scheduling .opencode/skills/scheduling && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "scheduling" agent skill from https://github.com/Vexa-ai/vexa/tree/main/core/agent/workspace-seeds/finos/skills/scheduling into .opencode/skills/scheduling/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scheduling", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
schedulingWrites durable recurring or future-dated jobs for a Vexa workspace as routine files, replacing OS cron, timers and session-only reminders.
When you ask for anything that repeats or happens later, such as a daily digest, a weekly report or a reminder, the agent creates a markdown file in the workspace's routines folder instead of scheduling the work itself. The filename becomes the routine name, and the file holds YAML frontmatter with an enabled flag, a five-field cron expression and the prompt to run each time.
A reconciler inside agent-api scans every workspace on an interval, checks the cron and prompt, and turns the file into a Vexa Scheduler job that keeps going after restarts. The skill explicitly rules out crontab entries, systemd timers, shell sleep loops and reminders that vanish when the agent's turn ends. Setting enabled to false cancels the job while keeping the file, and any markdown body under the frontmatter is added to the prompt as extra context.
Read from SKILL.md and the folder at commit c1d0ef6. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Vexa Scheduler Routines loads about 901 tokens when it runs. Until then it costs about 97 tokens; SKILL.md has 417 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from Vexa-ai/vexa at commit c1d0ef6, republished under its Apache-2.0 licence (© Vexa-ai). 417 words, ~901 tokens.
.claude/skills/scheduling/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.When the user asks for ANYTHING that should run on a schedule or repeat over time (a daily digest, a weekly report, a periodic check, a future reminder), you create a routine file in this workspace. The agent-api reconciler compiles it into a durable Vexa Scheduler job that survives restarts and process death — it is the only correct mechanism for scheduled work here.
NEVER do any of these for scheduled work:
crontab, /etc/cron.*)sleep loopAll of those die on restart or when your turn ends. Only a routine file is durable.
Write one file at routines/<name>.md (<name> is a short slug; the filename
stem becomes the routine name). It is a normal governed workspace file — just write
it; you do not run git.
The file is YAML frontmatter plus an optional markdown body:
| field | required | meaning |
|---|---|---|
enabled | no (default true) | false cancels the job but keeps the file for later re-enable |
cron | yes (when enabled) | a standard 5-field cron expression (min hour dom mon dow) |
prompt | yes (when enabled) | the instruction sent to the agent on each run (non-empty) |
The optional markdown body below the second --- is appended to prompt as extra
context for each run.
Five fields, space-separated: minute hour day-of-month month day-of-week.
Day-of-week is 0–7 (0 and 7 are both Sunday); mon/tue/… and jan/feb/…
names are accepted, as are ranges (mon-fri), lists (1,15), and steps (*/15).
Examples:
0 8 * * * — every day at 08:0030 9 * * mon-fri — 09:30 on weekdays0 17 * * fri — 17:00 every Friday0 * * * * — top of every hourFor "every weekday at 9am, give me a digest of yesterday's meetings", create
routines/morning-digest.md:
---
enabled: true
cron: "30 9 * * mon-fri"
prompt: "Compile a short digest of yesterday's meetings and open tasks from kg/entities/, and summarize what needs attention today."
---
Keep it under ~10 bullet points. Group by person/company. Link entities with [[wikilinks]].That's it. The reconciler (running in agent-api, scanning every workspace on an
interval) picks the file up, validates the cron + prompt, and schedules a durable
Vexa Scheduler job. Editing the file updates the job; setting enabled: false (or
deleting the file) cancels it.
cron and a non-empty prompt,
or the reconciler logs a warning and skips it (no job is created). Double-check the
cron has exactly five fields.enabled: false) needs no cron/prompt — it just cancels
any existing job for that name.© Vexa-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in core/agent/workspace-seeds/finos/skills/scheduling of Vexa-ai/vexa.
Open the folder on GitHubat commit c1d0ef6
Vexa Scheduler Routines next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Vexa Scheduler Routines this skillVexa-ai/vexa | 2.9k | — | ~901 | Automated safety check: Pass | Apache-2.0 | |
| ScheduleTinyAGI/tinyagi | 3.6k | — | ~1.4k | Automated safety check: Pass | MIT | |
| OpenObserve PR Briefopenobserve/openobserve | 22k | — | ~1.8k | Automated safety check: Pass | AGPL-3.0 | |
| Send User MessageTinyAGI/tinyagi | 3.6k | — | ~829 | Automated safety check: Pass | MIT | |
| OpenClaw to NanoClaw Migrationnanocoai/nanoclaw | 31k | — | ~6k | Automated safety check: Notes | MIT | |
| QwenPaw Scheduled Tasksagentscope-ai/QwenPaw | 35k | — | ~2.3k | Automated safety check: Pass | Apache-2.0 |
TinyAGI/tinyagi
Create, list, and delete scheduled tasks (recurring or one-time) that send messages to agents.
openobserve/openobserve
Produces a read-only morning brief of your open pull requests across the openobserve GitHub org, with a next step for each and a reminder for idle ones.
TinyAGI/tinyagi
Send a proactive message to a paired user via their channel (Discord, Telegram, or WhatsApp).
nanocoai/nanoclaw
Guides a conversational migration from an OpenClaw install to NanoClaw v2, carrying over identity, channel credentials, scheduled tasks and workspace files.
agentscope-ai/QwenPaw
Creates and manages scheduled or recurring jobs with the qwenpaw cron commands, always tied to an explicit agent ID and a confirmed target channel.
czl9707/build-your-own-openclaw
Create, list, and delete scheduled cron jobs. An agent skill from czl9707/build-your-own-openclaw.
Vexa-ai/vexa
Sends a Vexa bot into a meeting, follows the live transcript and writes meeting notes with speakers, decisions and action items into Obsidian, Notion or Markdown.
Vexa-ai/vexa
Set up or fix the Vexa MCP connection for this plugin — where the API key comes from, hosted vs self-hosted URL, and how to check the connection. Use when the…
Categories
Writes durable recurring or future-dated jobs for a Vexa workspace as routine files, replacing OS cron, timers and session-only reminders. When you ask for anything that repeats or happens later, such as a daily digest, a weekly report or a reminder, the agent creates a markdown file in the workspace's routines folder instead of scheduling the work itself. The filename becomes the routine name, and the file holds YAML frontmatter with an enabled flag, a five-field cron expression and the prompt to run each time.
Vexa Scheduler Routines fits situations like: setting up a digest or report that should run every morning or every weekday; creating a reminder that has to fire even after the process restarts; replacing a planned crontab entry or sleep loop with a durable job in the workspace; pausing a scheduled job without deleting its definition.
Run `npx skills add Vexa-ai/vexa --skill scheduling -a claude-code`. Or copy the skill folder (core/agent/workspace-seeds/finos/skills/scheduling in Vexa-ai/vexa) into .claude/skills/scheduling in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Vexa-ai/vexa --skill scheduling -a codex`. Or copy the skill folder (core/agent/workspace-seeds/finos/skills/scheduling in Vexa-ai/vexa) into .agents/skills/scheduling in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Vexa-ai/vexa --skill scheduling -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scheduling, .gemini/skills/scheduling, .github/skills/scheduling and .opencode/skills/scheduling in your project.
SKILL.md names no scripts, command-line tools or credentials: Vexa Scheduler Routines is instructions for the agent only. Our summary lists: A Vexa workspace with the agent-api reconciler running.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Vexa Scheduler Routines is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 901 tokens (SKILL.md is roughly 3.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Vexa Scheduler Routines: Schedule (TinyAGI/tinyagi, 3.6k stars), OpenObserve PR Brief (openobserve/openobserve, 22k stars), Send User Message (TinyAGI/tinyagi, 3.6k stars) and OpenClaw to NanoClaw Migration (nanocoai/nanoclaw, 31k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Vexa-ai (a GitHub organization) maintains it in Vexa-ai/vexa, which has 2,860 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 7, 2026.
Source: Vexa-ai/vexa on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.