Best pattern: run every day (with an explicit timezone), and at the start of each run decide workday vs off-day from a holiday/make-up calendar — don’t assume Mon–Fri cron knows your legal calendar.

(Diagram: daily schedule → calendar gate → briefing only on workdays.)

(Local demo: Space settings → Automations)

(Local demo: Space settings)
Suggested steps
- Create the scheduled task
In Buda: Space settings → Automations (or ask the agent via the Automations Skill). Use a daily cron at your briefing time with timezone Asia/Shanghai (or your team’s zone). Avoid “weekdays only” if you have weekend make-up workdays — those would never fire.
- Put a calendar check at the top of the task prompt
- Read today’s date in that timezone;
- Load a public holiday/make-up feed for your country, or a team calendar file you maintain;
- Team exceptions override the public feed;
- If today is off → exit quietly (no briefing, no channel noise); if workday → continue.
- Test with Run now on a known holiday and a make-up workday before relying on it.
- Optional: package the calendar rules in a Skill so every scheduled briefing shares the same gate.
How to confirm
- Schedule shows daily + correct timezone (not only Mon–Fri).
- On a public holiday the run history is quiet/skipped by design; on a make-up workday you get a briefing.
- Prompt/Skill text names the calendar source explicitly.
Boundaries
- Standard cron cannot encode statutory holidays; the task logic must.
- Don’t expect the model to “know” your company days off without a file or feed.
- Plan limits (cron availability, min interval) depend on your Buda plan — check Automations docs if cron isn’t offered.