morning-brief skill declares a schedule, so on install you are asked whether to run it every weekday and where to deliver the result.
This is a parse-only frontmatter contract. Declaring an automation block does not create a schedule or run anything by itself β a skill is never auto-scheduled. Materialisation happens consent-first through the wrapperβs existing
SuggestionEngine and DeliveryRouter.Quick Start
1
Minimal β schedule only
The only required field is
schedule. Add it under the namespaced metadata.praisonai.automation block:2
Full β schedule, deliver, and prompt
Add a delivery target and a prompt to describe what each scheduled run should do:
3
Install and consent
Installing a skill with an automation block proposes a schedule you accept or decline:
How It Works
Installing a skill proposes the automation; you consent, and only then is a job created and delivered.The Automation Block
Three fields live undermetadata.praisonai.automation β one required, two optional.
metadata.praisonai.automation is the only parsed location. The praisonai namespace means older parsers ignore the block β a skill without it parses to automation=None, fully backward compatible.Choosing a Delivery Target
Pick adeliver value based on where the result should land.
Schedule Expressions
Theschedule string accepts four forms.
Reading the Parsed Value
ReadSkillProperties.automation after parsing a skill to introspect its schedule.
automation is None when the skill declares no block, so guard access with a truthiness check.
Installing a Skill With Automation
A skill with an automation block is never scheduled silently. On install,SuggestionEngine proposes the schedule and delivery target. You accept or decline; only on acceptance is a job created and later delivered by DeliveryRouter. Decline, and the skill still works β it simply carries an unused schedule.
Backward Compatibility
Skills without an automation block work exactly as before βautomation parses to None and older PraisonAI installs silently ignore the field.
Best Practices
Prefer origin for personal skills
Prefer origin for personal skills
Use
deliver: "origin" so results return to the chat where you installed the skill. It needs no chat IDs and travels with the skill unchanged.Keep the prompt short
Keep the prompt short
The schedule is the trigger, not the whole task. Put durable instructions in the SKILL.md body and keep
prompt to a one-line nudge like "Give me today's brief.".Use cron: for precise timing
Use cron: for precise timing
Reach for
cron: when you need weekday-only runs or a specific hour, e.g. cron:0 8 * * mon-fri. Use daily or */30m for simpler cadences.Ship the automation block with the skill
Ship the automation block with the skill
Include the block in the shared SKILL.md so recipients install-and-go β they accept the suggestion once instead of hand-authoring a schedule.
Related
Agent Skills
Give agents modular capabilities through SKILL.md files.
Bot Commands
Accept automation suggestions and manage schedules from chat with
/automations.
