Skip to content

feat(playbooks): export playbooks as importable YAML, like personas #16084

Closed

Description

@bryantderosier

Problem

Users can export a persona as a YAML file from the Agent Library ("Export YAML" in the persona menu, web and mobile). Playbooks have no equivalent. To share a playbook with a teammate, move it to another environment, or back it up, I have to find the file under .j5/playbooks/ by hand. Remote and mobile users often can't reach that directory at all.

Proposal

Add an Export YAML action to each playbook in the Playbook Library settings. It downloads <name>.yaml, and the file imports back through the existing playbook import without changes.

Behavior

  • Exported YAML contains the full definition: title, description, and every step (id, title, prompt, plus persona where set).
  • Exporting a playbook and importing it into another workspace gives an identical playbook.
  • The file name follows the playbook name, so the existing import rules (PLAYBOOK_NAME_PATTERN, .yaml/.yml, 256 KiB limit) accept it.
  • Export works for playbooks in remote environments. The server returns the YAML rather than the client reading the local filesystem, the same way readAgentPersona returns a YAML rendering and file name.
  • Export is read-only, so no confirmation dialog.

Surfaces to cover

  • Web: Export action in PlaybookLibrarySettings, reusing the Blob download pattern from exportPersona.
  • Desktop: inherits web.
  • Mobile: Export action in the playbook library screen, using the same share/save flow as persona export.
  • Contracts: one read RPC on J5PlaybookRpcGroup, taking the PlaybookLibraryRequest shape plus a name and returning { fileName, yaml }.
  • Connection modes: must work in local, remote/relay, and tunnel setups, since the server produces the content.
  • Reverse state: import already exists on web. Confirm mobile can import playbooks, or file a follow-up so export isn't a one-way door there.

Out of scope

  • Bulk or zip export.
  • Exporting run history.
  • Name-conflict resolution on import beyond what exists today.

Acceptance criteria

  • Export YAML is available per playbook on web and mobile.
  • A round trip (export, delete, import) restores the same definition.
  • Server test covers the YAML rendering and file name; a client test covers any non-trivial logic.
  • docs/user/ playbook section mentions export.

Activity

  1. locked and limited conversation to collaborators on Oct 11, 2026
  2. converted this issue into a discussion #18035 on Oct 11, 2026
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