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 scheduling optimiser is now part of the ContentStudio public API, so
the CLI and the agent skill cover it. One new command,
`scheduling:best-times`, wrapping
POST /workspaces/{w}/scheduling/optimal-times.
It analyses the historical performance of the workspace's connected
accounts and returns ranked posting slots — a weekday and an hour,
best-first — pooled across accounts (`global`) and per account
(`individual`).
- `--account <platform>:<account_id>` (repeatable) restricts the
analysis; both halves come from one accounts:list row, because the API
needs the platform as the entity `type`. Omit it to analyse everything
connected.
- `--entities '<json>'` is the escape hatch for a different slot count
per account; mutually exclusive with --account.
- `--global-slots` / `--per-account-slots` size the returned ranking
(1-24; API defaults 5 and 3). They never change the analysis.
Notes:
- Times are always in the workspace timezone (echoed as
`meta.timezone`); the endpoint takes no timezone parameter. That is
the same clock `posts:create --scheduled-at` writes against, so a slot
is scheduled as-is.
- The response is not the usual {status, message, data} envelope, so the
API wrapper normalises {meta, global, individual} into the CLI's
standard {ok, data} shape.
- A thin workspace still returns 200: unanalysable accounts come back in
`meta.missing_entities` and `global` may be null. That is a successful
read, not an error. `meta.ai_fallback_entities` are estimates, and the
human output labels them as such.
- Slot counts and the <platform>:<account_id> form are validated
client-side, so a bad call fails immediately rather than round-tripping.
- Read-only, so no --dry-run — matching inbox:list, the CLI's other
POST-with-a-body read.
Also corrects the `-s / --scheduled-at` documentation: it was described
as UTC, but the API reads the timestamp as workspace-local wall-clock
time. No behaviour change — only the help text, SKILL.md and README were
wrong, and following them would have put best-times slots on the wrong
hour.
Local agent artifacts (.agents/, .claude/skills, .claude/settings.local.json,
skills-lock.json) are gitignored so they cannot reach this public repo.