Skip to content

keryx social

Compose the per-platform supporting copy (social.json) — text, hashtags, link, title — plus each platform's posting status/schedule/result (contract §4.4).

keryx social set <platform> --text "…" [--tags "#a,#b"] [--title …] [--link …] --workspace <slug>
keryx social show --workspace <slug>
keryx social gen  --workspace <slug> [--platform <p>]
  • set — the inject path: set a platform's fields directly (Instagram, YouTube, TikTok, LinkedIn). Partial updates preserve untouched fields. Prints constraint warnings (text/title overflow, link clickability).
  • show — display the social set with per-platform constraint checks (R-SOC-1/2).
  • gen — the LLM path: generate platform-appropriate copy from the workspace storyboard via the configured chat provider (providers.chat.*), one tailored draft per platform (R-SOC-4), not one caption everywhere.

Which constraints block, and which only warn

Each platform carries a text cap, a title cap, a link-clickability flag and a hashtag norm. Every field is overridable per platform under platforms.<name>.constraints.* — see configuration keys for the defaults and the key names.

Only text or title overflow blocks: keryx approve refuses that platform. A title on a platform with no title field, or a link on a platform where links are not clickable, is advisory — you get a warning such as instagram links are not clickable — use "link in bio" and posting still proceeds.

Status flows draft → approved → posted.