Using skill-creator to generate the skill.
SKILL.md
---
name: filesystem-automation-scheduler
description: Schedule Codex desktop automations by editing the filesystem directly. Use when asked to create, update, or explain automations via automation.toml, RRULEs, or $CODEX_HOME/automations.
---
# Filesystem Automation Scheduler
Follow this workflow to help users schedule automations by editing files.
## Workflow
1. Ask for the schedule, task prompt, and workspace paths if missing.
2. Determine `$CODEX_HOME` if not provided.
3. Create or update `$CODEX_HOME/automations/<id>/automation.toml`.
4. Keep `automation.toml` limited to required fields.
5. Do not touch SQLite timing state.
6. Remind the user to restart or reload the app if needed.
## Required Fields
Use exactly these keys in `automation.toml`:
- `name`
- `prompt`
- `rrule`
- `cwds`
- `status`
## RRULE Constraints
Use only supported schedules:
- Weekly with `BYDAY`, `BYHOUR`, `BYMINUTE`
- Hourly with `INTERVAL` and optional `BYDAY`
## References
See `references/automation-files.md` for file paths, rules, and example content.references/automation-files.md
# Automation File Locations
Automations are stored at:
- `$CODEX_HOME/automations/<id>/automation.toml`
Timing state is stored in SQLite and must not be edited manually.
# Required Fields in automation.toml
Include only:
- `name`
- `prompt`
- `rrule`
- `cwds`
- `status`
# RRULE Constraints
Supported schedules:
- Weekly: `FREQ=WEEKLY;BYDAY=...;BYHOUR=...;BYMINUTE=...`
- Hourly: `FREQ=HOURLY;INTERVAL=...` with optional `BYDAY=...`
Avoid monthly, yearly, multiple rules, or extra fields.
# Create New Automation
1. Choose a unique `<id>` (UUID recommended).
2. Create the folder: `$CODEX_HOME/automations/<id>/`
3. Write `automation.toml` with required fields.
4. Restart or reload the app so it picks up the new automation.
# Sample automation.toml
```toml
name = "Daily docs check"
prompt = "Verify Voltaire docs are up to date; summarize changes and open an inbox item."
rrule = "FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=9;BYMINUTE=0"
cwds = ["/Users/example/project"]
status = "ACTIVE"Provide:
- The exact file path
- A minimal example
automation.toml - Any missing details you need to proceed
- A reminder not to edit SQLite timing state
- A reminder to restart or reload the app
If you want me to place this on disk as a new skill package, tell me where under your skills directory and the preferred skill name.