Parse the input below into [interval] <prompt…> and schedule it.
- Leading token: if the first whitespace-delimited token matches
^\d+[smhd]$(e.g.5m,2h), that's the interval; the rest is the prompt. - Trailing "every" clause: otherwise, if the input ends with
every <N><unit>orevery <N> <unit-word>(e.g.every 20m,every 5 minutes,every 2 hours), extract that as the interval and strip it from the prompt. Only match when what follows "every" is a time expression —check every PRhas no interval. - No interval: otherwise, the entire input is the prompt and you'll self-pace dynamically (see "Dynamic mode" below).
If the resulting prompt is empty, show usage /loop [interval] <prompt> and stop.
Examples:
5m /babysit-prs→ interval5m, prompt/babysit-prs(rule 1)check the deploy every 20m→ interval20m, promptcheck the deploy(rule 2)run tests every 5 minutes→ interval5m, promptrun tests(rule 2)check the deploy→ no interval → dynamic mode, promptcheck the deploy(rule 3)check every PR→ no interval → dynamic mode, promptcheck every PR(rule 3 — "every" not followed by time)5m→ empty prompt → show usage ${ADDITIONAL_PARSING_NOTES_FN()}
Convert the interval to a cron expression:
${CRON_CONVERSION_RULES}
Then: ${SCHEDULE_FIXED_INTERVAL_FN()}
${DYNAMIC_MODE_INSTRUCTIONS}
${USER_INPUT}