cron-management
Skill106 starsChanged 7 months agoMITView on GitHub
Manage scheduled tasks (crons). Use when: setting up crons on session start, creating new recurring tasks, or troubleshooting scheduled tasks.
In this repository13 other files it gives its agents.
- dashboard/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- dashboard/CLAUDE.mdCLAUDE.md
- business-news-monitorSkill
- claude-api-helperSkill
- commsSkill
- idea-groomingSkill
- mcp-integrationSkill
- multi-perspective-grillingSkill
- prompt-engineeringSkill
- Task SystemSkill
- tool-use-patternsSkill
- web-researchSkill
The file
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 2 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
Check that your crons are registered.
- Distinctive: line 24
If a cron is missing (not in the list), add it:
- Very specific: line 48
manualFireDisabled: If you want a cron to only fire on schedule (not manually test-fired from the dashboard), set manualFireDisabled: … - Very specific: line 64
Use the dashboard (/workflows/[agent]/[name]) or the bus command (if available):
- Very specific: line 98
If PTY injection is failing, check the daemon log: ~/.cortextos/$CTX_INSTANCE_ID/logs/$CTX_AGENT_NAME/
- Very specific: line 102
Check daemon log; PTY injection retries 3 times (1s/4s/16s backoff).
- Very specific: line 106
If both files are bad, add crons back via cortextos bus add-cron.
- Very specific: line 111
Check stderr logs for WARNING: reload produced empty schedule to confirm this triggered.
- Very specific: line 118
If your agent was set up before the external-crons migration, your crons lived in config.json.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Cron Management
Your scheduled tasks are daemon-managed external crons. They are stored in
${CTX_ROOT}/state/{agent}/crons.json and scheduled by the cortextOS daemon.
Crons survive agent restarts, context compactions, and daemon restarts automatically —
you do NOT need to recreate them on session start.
On Session Start
Check that your crons are registered. You do not need to recreate them.
# List all crons with next_fire_at
cortextos bus list-crons $CTX_AGENT_NAMEIf a cron is missing (not in the list), add it:
cortextos bus add-cron $CTX_AGENT_NAME <name> <interval|cron-expr> "<prompt>"
# Examples:
cortextos bus add-cron $CTX_AGENT_NAME heartbeat 4h "Run heartbeat protocol"
cortextos bus add-cron $CTX_AGENT_NAME morning-briefing "0 9 * * *" "Send morning briefing"Adding a New Cron
# Interval shorthand (s/m/h/d/w)
cortextos bus add-cron $CTX_AGENT_NAME <name> <interval> "<prompt>"
# 5-field cron expression (minute hour dom month dow)
cortextos bus add-cron $CTX_AGENT_NAME <name> "<cron-expr>" "<prompt>"The cron is written to crons.json atomically and the scheduler is reloaded.
No /loop call needed — the daemon fires crons directly into your PTY.
manualFireDisabled: If you want a cron to only fire on schedule (not manually
test-fired from the dashboard), set manualFireDisabled: true in the definition.
Contact the operator or use the dashboard edit form to set this flag.
Removing a Cron
cortextos bus remove-cron $CTX_AGENT_NAME <name>Updating a Cron
Use the dashboard (/workflows/[agent]/[name]) or the bus command (if available):
cortextos bus update-cron $CTX_AGENT_NAME <name> --schedule <new-schedule>
cortextos bus update-cron $CTX_AGENT_NAME <name> --prompt "<new-prompt>"
cortextos bus update-cron $CTX_AGENT_NAME <name> --enabled falseChecking Execution History
# Recent execution log (fired / retried / failed entries)
cortextos bus get-cron-log $CTX_AGENT_NAME
# Filtered to a specific cron
cortextos bus get-cron-log $CTX_AGENT_NAME --cron <name>Cron Expiry
External crons do not expire. They fire on schedule until disabled or removed.
The old 3-day /loop expiry no longer applies.
Troubleshooting
Cron not firing:
cortextos bus list-crons $CTX_AGENT_NAME— confirm it is registered and has anext_fire_atcortextos bus get-cron-log $CTX_AGENT_NAME— check forstatus: retriedorstatus: failedentries- If PTY injection is failing, check the daemon log:
~/.cortextos/$CTX_INSTANCE_ID/logs/$CTX_AGENT_NAME/
Cron fires but agent does not react:
- The daemon injects
[CRON: <name>] <prompt>into your PTY. If you see this in your conversation history but did not act, it was an older session. - Check daemon log; PTY injection retries 3 times (1s/4s/16s backoff).
crons.json corrupted:
readCronsautomatically falls back tocrons.json.bakon parse failure.- If both files are bad, add crons back via
cortextos bus add-cron. - See
CRONS_MIGRATION_GUIDE.mdfor full recovery procedures.
Crons disappeared after daemon reload (reload-to-empty):
- The daemon's
lastGoodScheduleprotection keeps crons firing in memory during transient corruption. - Check stderr logs for
WARNING: reload produced empty scheduleto confirm this triggered. - Repair
crons.jsonand the scheduler will pick up the fix on the next reload.
Migration from config.json (legacy)
If your agent was set up before the external-crons migration, your crons lived in
config.json. The daemon auto-migrates them to crons.json on first boot.
A .crons-migrated marker file prevents re-runs. See CRONS_MIGRATION_GUIDE.md
for details and manual migration instructions.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

