Skip to content

Wizard schedules emit prose messages where the playbook-call grammar requires a call — 12 entries across 8 wizards + trinity/onboard #15

Description

@vybe

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 prose message: 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:

  1. 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.
  2. 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)

file message gap
create-agent/webmaster "Check deployed sites — build status, broken links, performance regressions, and SSL/cert expiry; report issues." 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.

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-pm 67597aa); this is the marketplace half, and it matters more because these are templates.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions