Get Started

Publish and share a Playbook

Use Versions, ACLs, aliases, and share tokens safely.


Creation atomically produces the first immutable Version. Publication requires the current latest Version as its base.

epismo playbook create --input @playbook.json
epismo playbook get <playbook-id>
epismo playbook version publish <playbook-id> \
  --base-version-id <latest-version-id> --input @next-version.json

After a conflict, re-read latest and merge your intent into a new Definition.

Iterate first with a Draft

Publishing directly is fine for a small, confident change. For anything that needs a few passes, save it as a Draft instead — it never mints a Version, so there is nothing to clean up if you change your mind:

epismo playbook draft get <playbook-id>
epismo playbook draft save <playbook-id> --base-revision 0 --input @draft.json
epismo playbook draft publish <playbook-id>
epismo playbook draft discard <playbook-id>

--base-revision is the revision you last read (0 for a new Draft); a stale value means someone else saved since — re-read and retry. A Playbook has one Draft, visible to anyone who can already read the Playbook. draft publish mints a Version from the Draft's current content and discards it in the same step; draft discard throws it away without publishing anything.

  • ACL: durable access through User IDs, Team IDs, or public for Playbooks only.
  • Alias: memorable reference; never grants access.
  • Share token: revocable, optionally expiring read access without changing the ACL.
  • Star: personal saving and a discovery signal.
  • Draft: unpublished, mutable content visible to the current ACL; a share token does not reach it.

Before public access, review instructions, resource hints, internal URLs, and personal data. A Case never inherits Playbook visibility.