You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The wizards teach every agent they generate how to write a schedule — and they currently teach it wrong. Twelve schedules: entries across eight wizards plus trinity/onboard's schema example carry a prosemessage: where protocols/playbook-call.md requires a one-line playbook call. Every agent created by these wizards inherits the violation at birth.
Why it matters beyond style
A prose message names no playbook, so:
It restates the process instead of calling it. "Sweep tracked competitors for changes — pricing, product, messaging, hiring, news — and report anything material" is a second copy of /monitor's procedure, living in an unversioned scheduler field, free to drift from the SKILL.md that owns it. Changing the playbook no longer changes the schedule.
It blinds the new autonomy-mode gate./audit-wizards v1.3 (issue Promote --autonomous to a bundle-wide (marketplace-wide) run-mode convention for gated skills on crons #6) flags any automation: gated skill named in a schedules: block that declares no --autonomous mode. It resolves "named in" from the playbook-call grammar. A prose message resolves to nothing, so a gated skill scheduled that way is invisible to the gate — the exact /video-intake bug class the gate exists to catch. The check reports these files as a coverage NOTE rather than passing them silently.
Inventory
Class A — a real playbook exists; mechanical rewrite (9)
file
current prose message
→ call
trinity/onboard
"Run /weekly-report and post the summary"
/weekly-report
create-agent/kb-agent
"Run a coherence pass over the knowledge graph…"
/coherence-sweep
create-agent/kb-agent
"Ingest any new source documents… update the graph."
/refresh-index
create-agent/receptionist
"Review the overnight inbox and routing queue…"
/process-inbox
create-agent/prospector
"Refresh research on tracked target accounts…"
/research-company
create-agent/chief-of-staff
"Prepare today's briefing — calendar, top priorities…"
/daily-briefing
create-agent/chief-of-staff
"Produce the weekly digest — what shipped…"
/weekly-digest
create-agent/recon
"Sweep tracked competitors for changes…"
/monitor
create-agent/recon
"Refresh competitor battlecards from the week's findings."
/battlecard
Class B — the schedule calls work that has no playbook at all (2)
the wizard generates only /create-website, /onboarding, /update-dashboard. There is no site-health playbook to call.
create-agent/ghostwriter
"Draft this week's content calendar across platforms, in the configured brand voice."
generates /write, /set-voice, /library, /repurpose, /hooks. There is no content-plan playbook.
These two are the interesting ones: the prose was load-bearing precisely because it was standing in for a playbook nobody wrote. The schedule promises a capability the generated agent does not have — so today it fires and improvises. Fixing it means authoring the playbook (/site-health, /content-plan) or dropping the schedule; a message rewrite alone cannot fix it.
Class C — one message, several playbooks (1)
file
message
issue
create-agent/doctor
"Review newly ingested health documents, update lab-value trends, and flag anything worth raising with a doctor."
conflates /ingest-documents + /lab-trends + /visit-prep. The grammar is one call per schedule, so this needs either a splitting into separate entries or a weekly-review playbook that composes them.
Class A is a mechanical sweep. Classes B and C need a design call first — which is why they are called out separately rather than folded into the sweep.
Ref: canon/protocols/playbook-call.md, ent#271 decision 11. The same conformance pass was run on trinity-pm's own ten schedule messages (trinity-pm 67597aa); this is the marketplace half, and it matters more because these are templates.
The wizards teach every agent they generate how to write a schedule — and they currently teach it wrong. Twelve
schedules:entries across eight wizards plustrinity/onboard's schema example carry a prosemessage:whereprotocols/playbook-call.mdrequires a one-line playbook call. Every agent created by these wizards inherits the violation at birth.Why it matters beyond style
A prose message names no playbook, so:
/monitor's procedure, living in an unversioned scheduler field, free to drift from the SKILL.md that owns it. Changing the playbook no longer changes the schedule./audit-wizardsv1.3 (issue Promote --autonomous to a bundle-wide (marketplace-wide) run-mode convention for gated skills on crons #6) flags anyautomation: gatedskill named in aschedules:block that declares no--autonomousmode. It resolves "named in" from the playbook-call grammar. A prose message resolves to nothing, so a gated skill scheduled that way is invisible to the gate — the exact/video-intakebug class the gate exists to catch. The check reports these files as a coverageNOTErather than passing them silently.Inventory
Class A — a real playbook exists; mechanical rewrite (9)
trinity/onboard/weekly-reportcreate-agent/kb-agent/coherence-sweepcreate-agent/kb-agent/refresh-indexcreate-agent/receptionist/process-inboxcreate-agent/prospector/research-companycreate-agent/chief-of-staff/daily-briefingcreate-agent/chief-of-staff/weekly-digestcreate-agent/recon/monitorcreate-agent/recon/battlecardClass B — the schedule calls work that has no playbook at all (2)
create-agent/webmaster/create-website,/onboarding,/update-dashboard. There is no site-health playbook to call.create-agent/ghostwriter/write,/set-voice,/library,/repurpose,/hooks. There is no content-plan playbook.These two are the interesting ones: the prose was load-bearing precisely because it was standing in for a playbook nobody wrote. The schedule promises a capability the generated agent does not have — so today it fires and improvises. Fixing it means authoring the playbook (
/site-health,/content-plan) or dropping the schedule; a message rewrite alone cannot fix it.Class C — one message, several playbooks (1)
create-agent/doctor/ingest-documents+/lab-trends+/visit-prep. The grammar is one call per schedule, so this needs either a splitting into separate entries or a weekly-review playbook that composes them.Already conformant:
trinity/create-dashboard(message: "/update-dashboard").Fix
Class A is a mechanical sweep. Classes B and C need a design call first — which is why they are called out separately rather than folded into the sweep.
Ref:
canon/protocols/playbook-call.md, ent#271 decision 11. The same conformance pass was run on trinity-pm's own ten schedule messages (trinity-pm67597aa); this is the marketplace half, and it matters more because these are templates.