Agent skill

Cron Management

by grandamenium in grandamenium/cortextos

Manage persistent recurring scheduled tasks via the cortextos bus.

MITAuto-check passedProductivity & Automation

Install Cron Management

skills CLI
$ npx skills add grandamenium/cortextos --skill cron-management -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install grandamenium/cortextos cron-management --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/grandamenium/cortextos.git skills-src && mkdir -p .claude/skills && cp -r skills-src/community/skills/cron-management .claude/skills/cron-management && rm -rf skills-src

Use ~/.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/

Facts

Skill name
cron-management
GitHub stars
101
Token cost
~2.2k tokens
SKILL.md length
576 words
Files
1
Skills in repo
55
Repo updated
First seen
Licence
MIT

At a glance

Manage persistent recurring scheduled tasks via the cortextos bus.

  • Works in 3 steps: Check list-crons — confirm next_fire_at… → Check get-cron-log for recent entries —… → If next_fire_at is stale, the daemon may…
  • All cron CRUD: create
  • SKILL.md covers Listing your crons, Adding a recurring cron, Updating a cron and Removing a cron, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Cron Management is an agent skill from grandamenium/cortextos. Manage persistent recurring scheduled tasks via the cortextos bus. Crons are stored in crons.json, loaded and dispatched by the daemon, and survive agent restarts. Use this skill for all cron CRUD: create, update, remove, list, test-fire, and inspect execution history. Never use CronCreate or /loop for persistent recurring work — those are session-only and die on restart.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Productivity & Automation, covering Scheduled and recurring tasks. The licence is MIT.

When your agent uses it

  • All cron CRUD: create
  • Inspect execution history

Example prompts

  • “/cron-management”

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Check list-crons — confirm next_fire_at is in the future and the cron is not disabled.
  2. Check get-cron-log for recent entries — status: failed entries show the error field.
  3. If next_fire_at is stale, the daemon may not have reloaded. Restart the agent or run cortextos bus migrate-crons $CTX_AGENT_NAME --force.

What it can do on your machine

Read from SKILL.md and the folder at commit 6f93838. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Cron Management loads about 2.2k tokens when it runs. Until then it costs about 98 tokens; SKILL.md has 576 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~98
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from grandamenium/cortextos at commit 6f93838, republished under its MIT licence (© grandamenium). 576 words, ~2,216 tokens.

Download SKILL.mdSave it as .claude/skills/cron-management/SKILL.md (or your agent's skills folder).
name
cron-management
description
Manage persistent recurring scheduled tasks via the cortextos bus. Crons are stored in crons.json, loaded and dispatched by the daemon, and survive agent restarts. Use this skill for all cron CRUD: create, update, remove, list, test-fire, and inspect execution history. Never use CronCreate or /loop for persistent recurring work — those are session-only and die on restart.
triggers
remind me, every day, every hour, every week, schedule, recurring, daily, weekly, cron, loop, check regularly, monitor, keep an eye on, set up a reminder…

Cron Management

Crons are stored in crons.json (per-agent) and dispatched by the cortextOS daemon. They survive agent restarts and session boundaries. crons.json is the source of truth — use these bus commands for all CRUD operations. Never write to crons.json directly; never use CronCreate or /loop for persistent recurring work.


Listing your crons

bash
cortextos bus list-crons $CTX_AGENT_NAME

Sample output:

NAME          SCHEDULE   LAST_FIRE             NEXT_FIRE             PROMPT
heartbeat     6h         2026-04-30T12:00:00Z  2026-04-30T18:00:00Z  Read HEARTBEAT.md and follow its instru...
daily-report  0 9 * * *  2026-04-30T09:00:00Z  2026-05-01T09:00:00Z  Generate and send daily analytics repor...

For machine-readable output:

bash
cortextos bus list-crons $CTX_AGENT_NAME --json

Adding a recurring cron

bash
cortextos bus add-cron <agent> <name> <interval> <prompt...>

Interval form — use for simple repeated intervals:

bash
cortextos bus add-cron $CTX_AGENT_NAME heartbeat 6h Read HEARTBEAT.md and follow its instructions.
cortextos bus add-cron $CTX_AGENT_NAME health-check 30m Check system health and report anomalies.
cortextos bus add-cron $CTX_AGENT_NAME daily-sweep 1d Run the full daily workflow.

Cron expression form — use for calendar-anchored schedules (specific time of day, weekdays only, etc.):

bash
cortextos bus add-cron $CTX_AGENT_NAME morning-report "0 9 * * 1-5" Generate and send the daily analytics report.
cortextos bus add-cron $CTX_AGENT_NAME weekly-summary "0 17 * * 5" Compile and deliver the weekly summary.

The prompt argument is variadic — all remaining words are joined. Quoting is optional but recommended for clarity. Optionally add a human-readable description:

bash
cortextos bus add-cron $CTX_AGENT_NAME heartbeat 6h --desc "Agent liveness heartbeat" Read HEARTBEAT.md and follow its instructions.

The daemon scheduler reloads automatically after add-cron — no agent restart needed. Confirm with list-crons.


Updating a cron

At least one option is required. All options may be combined.

bash
# Change the interval
cortextos bus update-cron $CTX_AGENT_NAME heartbeat --interval 4h

# Switch to a cron expression
cortextos bus update-cron $CTX_AGENT_NAME heartbeat --cron-expr "0 */4 * * *"

# --cron-expr is an alias for --interval; both accept interval strings or 5-field expressions
cortextos bus update-cron $CTX_AGENT_NAME morning-report --interval "0 8 * * 1-5"

# Update the prompt
cortextos bus update-cron $CTX_AGENT_NAME heartbeat --prompt "Read HEARTBEAT.md, follow instructions, then log state."

# Disable a cron (stops firing without removing it)
cortextos bus update-cron $CTX_AGENT_NAME heartbeat --enabled false

# Re-enable
cortextos bus update-cron $CTX_AGENT_NAME heartbeat --enabled true

# Update multiple fields at once
cortextos bus update-cron $CTX_AGENT_NAME heartbeat --interval 8h --prompt "Read HEARTBEAT.md and follow its instructions."

Removing a cron

bash
cortextos bus remove-cron $CTX_AGENT_NAME <name>

Example:

bash
cortextos bus remove-cron $CTX_AGENT_NAME heartbeat

Confirm the cron is gone:

bash
cortextos bus list-crons $CTX_AGENT_NAME

Testing a cron immediately

bash
cortextos bus test-cron-fire $CTX_AGENT_NAME <name>

Fires the cron's prompt into the agent's PTY right now via daemon IPC, without waiting for the next scheduled time. Use this to verify the prompt works correctly before relying on the schedule.

bash
cortextos bus test-cron-fire $CTX_AGENT_NAME heartbeat

Inspecting execution history

All crons for this agent:

bash
cortextos bus get-cron-log $CTX_AGENT_NAME

Filter by cron name:

bash
cortextos bus get-cron-log $CTX_AGENT_NAME heartbeat

Limit entries (default 50):

bash
cortextos bus get-cron-log $CTX_AGENT_NAME heartbeat --limit 20

Machine-readable JSON:

bash
cortextos bus get-cron-log $CTX_AGENT_NAME heartbeat --json

Each log entry contains:

  • ts — ISO timestamp of the execution attempt
  • cron — cron name
  • status — fired | retried | failed
  • attempt — attempt number (1 = first try)
  • duration_ms — execution duration in milliseconds
  • error — error message if status is failed

One-shot reminders (gap — not yet supported)

The persistent cron system does not currently support one-shot (fire-once) entries. CronDefinition has no fire_at field.

For one-time reminders, fall back to the Claude Code built-in CronCreate with recurring: false:

CronCreate — name: "remind-user-3pm", prompt: "Remind the user about the 3pm call.", schedule: "0 15 * * *", recurring: false

Important: this cron is session-only. It will NOT survive an agent restart. Until persistent one-shot support is added to crons.json, one-shot reminders must be recreated manually if the agent restarts before they fire.


Show full SKILL.md (281 more words)Show less

Troubleshooting

Cron not firing on schedule

  1. Check list-crons — confirm next_fire_at is in the future and the cron is not disabled.
  2. Check get-cron-log for recent entries — status: failed entries show the error field.
  3. If next_fire_at is stale, the daemon may not have reloaded. Restart the agent or run cortextos bus migrate-crons $CTX_AGENT_NAME --force.

Cron failing repeatedly

  • get-cron-log $CTX_AGENT_NAME <name> — look for status: failed and read the error field.
  • Common causes: prompt syntax error, permission issue, or dependency unavailable.

Just-added cron not registered

  • The daemon reloads automatically after add-cron. If the cron still does not appear in list-crons, force a reload:
    bash
    cortextos bus migrate-crons $CTX_AGENT_NAME --force

Disabling without deleting

  • Use update-cron --enabled false to pause a cron. It remains in crons.json and can be re-enabled later with --enabled true.

crons.json corrupted or emptied

  • Every writeCrons call preserves the previous file as crons.json.bak. If the primary file is unreadable, readCrons automatically falls back to .bak — no operator intervention needed for a single corruption event.
  • If both files are bad, restore via add-cron or re-migrate: cortextos bus migrate-crons $CTX_AGENT_NAME --force.

Scheduler retained stale schedule after reload (lastGoodSchedule)

  • If a reload produces an empty schedule (transient corruption), the daemon keeps the last-good schedule in memory and logs WARNING: reload produced empty schedule. Crons keep firing. Repair crons.json and the scheduler recovers automatically on the next reload.

Preventing dashboard test-fires

  • Set manualFireDisabled: true on a cron definition to block test-fire requests from the dashboard (HTTP 403). Use for crons that must only fire on schedule.

Examples

Add a heartbeat cron every 6 hours
bash
cortextos bus add-cron $CTX_AGENT_NAME heartbeat 6h Read HEARTBEAT.md and follow its instructions.
cortextos bus list-crons $CTX_AGENT_NAME
Schedule a weekday 9am report
bash
cortextos bus add-cron $CTX_AGENT_NAME morning-report "0 9 * * 1-5" Generate and send the daily analytics report.
cortextos bus list-crons $CTX_AGENT_NAME
Test that a cron fires correctly
bash
cortextos bus test-cron-fire $CTX_AGENT_NAME morning-report
# Watch agent PTY — the prompt should inject immediately
cortextos bus get-cron-log $CTX_AGENT_NAME morning-report --limit 1
Debug why a cron is not firing on schedule
bash
# Step 1: confirm the cron exists and is enabled
cortextos bus list-crons $CTX_AGENT_NAME

# Step 2: check execution history for errors
cortextos bus get-cron-log $CTX_AGENT_NAME morning-report --limit 10

# Step 3: if no log entries and cron looks correct, force daemon reload
cortextos bus migrate-crons $CTX_AGENT_NAME --force

# Step 4: test-fire to verify prompt works
cortextos bus test-cron-fire $CTX_AGENT_NAME morning-report

© grandamenium, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in community/skills/cron-management of grandamenium/cortextos.

Open the folder on GitHubat commit 6f93838

Compare with similar skills

Cron Management 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.

Cron Management compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cron Management this skillgrandamenium/cortextos101—~2.2kAutomated safety check: PassMIT
ScheduleTinyAGI/tinyagi3.6k—~1.4kAutomated safety check: PassMIT
Send User MessageTinyAGI/tinyagi3.6k—~829Automated safety check: PassMIT
Cron Opsczl9707/build-your-own-openclaw1.9k—~593Automated safety check: PassMIT
X Bookmarkssharbelxyz/x-bookmarks289—~2kAutomated safety check: NotesNone
Wp Wpcli And OpsAutomattic/agent-skills2112 repos~988Automated safety check: PassNone

Similar skills

  • Schedule

    TinyAGI/tinyagi

    Create, list, and delete scheduled tasks (recurring or one-time) that send messages to agents.

    3.6k GitHub stars~1.4k tokensUpdated 6 mo ago
    Productivity & AutomationAuto-check passed
  • Send User Message

    TinyAGI/tinyagi

    Send a proactive message to a paired user via their channel (Discord, Telegram, or WhatsApp).

    3.6k GitHub stars~829 tokensUpdated 6 mo ago
    Productivity & AutomationAuto-check passed
  • Cron Ops

    czl9707/build-your-own-openclaw

    Create, list, and delete scheduled cron jobs. An agent skill from czl9707/build-your-own-openclaw.

    1.9k GitHub stars~593 tokensUpdated 3 mo ago
    Productivity & AutomationAuto-check passed
  • X Bookmarks

    sharbelxyz/x-bookmarks

    Fetch, summarize, and manage X/Twitter bookmarks via bird CLI or X API v2.

    289 GitHub stars~2k tokensUpdated 7 mo ago
    Productivity & AutomationAuto-check: notes
  • Wp Wpcli And Ops

    Automattic/agent-skills

    A skill your agent uses when working with WP-CLI (wp) for WordPress operations: safe search-replace, db export/import, plugin/theme/user/content management, cron, cache flushing, multisite, and…

    211 GitHub starsUsed in 2 repos~988 tokens
    Productivity & AutomationAuto-check passed
  • Ohdear

    ohdearapp/ohdear-cli

    Manage Oh Dear website monitoring using the ohdear CLI. An agent skill from ohdearapp/ohdear-cli.

    141 GitHub stars~1.1k tokensUpdated 1 mo ago
    Productivity & AutomationAuto-check passed

More from grandamenium/cortextos

All 55 skills in this repo
  • Cortext Self Diagnosis

    grandamenium/cortextos

    Diagnose cortextOS itself when the framework misbehaves — an agent has gone silent or wedged, agents are crash-looping, Telegram or agent-to-agent messages are not arriving, crons did not fire, an…

    101 GitHub stars~3.7k tokensUpdated 18 days ago
    Auto-check passed
  • Activity Channel

    grandamenium/cortextos

    You have completed something significant and want the whole org — all agents and the user — to know about it.

    101 GitHub stars~624 tokensUpdated 18 days ago
    Auto-check passed
  • Agentcard Purchase

    grandamenium/cortextos

    You need to make a purchase on behalf of the user — buy a SaaS subscription, pay for an API, purchase a domain, or any transaction requiring a credit card.

    101 GitHub stars~1.1k tokensUpdated 18 days ago
    Auto-check passed
  • Claude To Codex Migration

    grandamenium/cortextos

    Migrate ANY cortextOS agent from the claude-code runtime to the live codex-app-server runtime.

    101 GitHub stars~12k tokensUpdated 18 days ago
    Auto-check: warnings
  • Bus Reference

    grandamenium/cortextos

    Complete cortextos bus CLI reference - all available commands with examples.

    101 GitHub stars~3.8k tokensUpdated 18 days ago
    Auto-check passed
  • Business News Monitor

    grandamenium/cortextos

    Daily cron-driven scan of news/forums/social in a domain to surface market shifts, new competitors, regulatory changes, and net-new opportunities.

    101 GitHub stars~1.3k tokensUpdated 18 days ago
    Auto-check passed

Questions about Cron Management

What does Cron Management do?

Manage persistent recurring scheduled tasks via the cortextos bus. Cron Management is an agent skill from grandamenium/cortextos. Manage persistent recurring scheduled tasks via the cortextos bus.

When should I use Cron Management?

Cron Management fits situations like: all cron CRUD: create; inspect execution history.

How do I install Cron Management in Claude Code?

Run `npx skills add grandamenium/cortextos --skill cron-management -a claude-code`. Or copy the skill folder (community/skills/cron-management in grandamenium/cortextos) into .claude/skills/cron-management in your project. Claude Code loads it when a task matches its description.

How do I install Cron Management in Codex?

Run `npx skills add grandamenium/cortextos --skill cron-management -a codex`. Or copy the skill folder (community/skills/cron-management in grandamenium/cortextos) into .agents/skills/cron-management in your project. Codex loads it when a task matches its description.

Can I use Cron Management in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add grandamenium/cortextos --skill cron-management -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cron-management, .gemini/skills/cron-management, .github/skills/cron-management and .opencode/skills/cron-management in your project.

What does Cron Management need to run?

SKILL.md names no scripts, command-line tools or credentials: Cron Management is instructions for the agent only.

Does Cron Management access the network?

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.

Is Cron Management safe to install?

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.

What licence does Cron Management use?

Cron Management is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Cron Management use?

About 2.2k tokens (SKILL.md is roughly 8.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Cron Management?

Skills that share tags, products or a category with Cron Management: Schedule (TinyAGI/tinyagi, 3.6k stars), Send User Message (TinyAGI/tinyagi, 3.6k stars), Cron Ops (czl9707/build-your-own-openclaw, 1.9k stars) and X Bookmarks (sharbelxyz/x-bookmarks, 289 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cron Management?

grandamenium (a GitHub user) maintains it in grandamenium/cortextos, which has 101 GitHub stars. The repository holds 55 skills in this directory. The repository was last updated on September 23, 2026.

Source: grandamenium/cortextos on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.