Tune the autonomous workflow cadence
This repo drives three autonomous agents from GitHub Actions:
- pull-card (
.github/workflows/pull-card.yml) — drains the queue. - audit-deck (
.github/workflows/audit-deck.yml) — files one new card per run. - refine-deck (
.github/workflows/refine-deck.yml) — one deck-hygiene pass per run.
Their schedules are GitHub Actions cron: literals, which can't read a
config file. scripts/set_cadence.py rewrites those literals (and the
managed # cadence: comment beside each) from a small interval spec, so
this skill is just a thin wrapper around it.
Query the current cadence
python3 scripts/set_cadence.py --show
Prints each workflow's cron plus its human-readable interval.
Change the cadence
python3 scripts/set_cadence.py --pull 1h --audit 3h --refine 3h
- Pass only the workflows you want to change; omit the rest to leave them.
- Interval specs:
<N>hwhere N divides 24 (1, 2, 3, 4, 6, 8, 12) or24h;<N>dfor every-N-days; and1wfor exact weekly. NoteNd(N≥2) becomes a day-of-month*/Ncron step that realigns each month, so it's "roughly every N days" — the gap across a month boundary is shorter.1wis exact (day-of-week, every Monday); there is no clean cron for every-N-days or every-N-weeks. - An optional
+Phour-phase suffix shifts a schedule by whole hours — use it to keep two workflows on the same interval a full hour apart (the minute offsets below only separate them within an hour slot).3h+1fires at 01:xx, 04:xx, … instead of 00:xx, 03:xx, …. ForNh(N≥2) the phase must be < N; for24h/Nd/1wit sets the hour-of-day (0–23);1htakes no phase. - Minute offsets are fixed (pull
:13, audit:15, refine:45) so the three deck-mutating agents never launch on the same minute and race onmain.
Make it take effect
Scheduled workflows run from the default branch, so a cadence change
does nothing until it is committed and pushed to main:
git add .github/workflows/pull-card.yml \
.github/workflows/audit-deck.yml \
.github/workflows/refine-deck.yml
git commit -m "ci: retune autonomous cadence"
git push
Follow AGENTS.md "Parallel-Agent Commit Safety" — stage explicit paths,
verify git diff --cached, commit with a pathspec.
Cost note
Each run of any of these workflows is a full Opus agent under
bypassPermissions. Faster cadence means more token spend; dial it back
toward daily when spare-token headroom is tight. The cap on pull-card's
per-tick self-trigger chain is separate — it lives in MAX_ITERATIONS
inside pull-card.yml, not here.