Skip to content

Instantly share code, notes, and snippets.

@roninjin10
Created February 3, 2026 01:26
Show Gist options
  • Select an option

  • Save roninjin10/332391792d9bd6f9c90a97da30712899 to your computer and use it in GitHub Desktop.

Select an option

Save roninjin10/332391792d9bd6f9c90a97da30712899 to your computer and use it in GitHub Desktop.
Claude automation skill

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"

When a User Asks for Filesystem Scheduling

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment