# Distribution & Agent Mode

Make something once, then send it everywhere: as a post, a reel, a slide, an avatar video. Ask the agent to do the moving, the drafting and the scheduling, and watch it work inside the app you are already using.

This page covers what works today and what is being built next. Each section says which.

**On this page**

- [Today: publish and schedule](#today-publish-and-schedule)
- [Today: move work between studios](#today-move-work-between-studios)
- [Today: ask the agent](#today-ask-the-agent)
- [The Distribution view: drafts, queue, receipts](#the-distribution-view-drafts-queue-and-receipts-new-september-2026)
- [Today: the chat dock and drawer](#today-the-chat-dock-and-drawer)
- [Today: Agent Mode](#today-agent-mode)
- [Porting with lineage](#porting-with-lineage)
- [Coming: workflows the agent builds with you](#coming-workflows-the-agent-builds-with-you)
- [Skills your own AI can read](#coming-skills-your-own-ai-can-read)
- [Manual, assisted, or automatic](#manual-assisted-or-automatic)
- [Related pages](#related-pages)

---

## Today: publish and schedule

Open **Distribute → Publishing**. Connect your GoHighLevel account once, and CoreReflex relays posts to the social profiles linked there. You can:

- **Create a post** from a brief: a photo (stock or generated) plus headline, subhead and call to action as layers you can still move and retype. The caption is stored with the post, never painted into the image.
- **Publish now** or **schedule** by picking a date and time.
- **See what you posted** and its status.

The same actions are available from your own AI client or a script: `social compose`, `social publish --when`, `social posts` and `social status` on the CLI, and matching MCP tools. Every compose returns an editable project link. Details: [Files, Publishing & Analytics](files-and-publishing.md).

## Today: move work between studios

In the editor, the **Send to…** menu carries work across modes: a Write document to Slides or Script, an image to the timeline, a diagram export to Media, audio to video. The result lands on the same project. Details: [Writing & Content](writing-and-content.md), [Image Studio](image-studio.md).

## Today: ask the agent

- In the editor, the **Agent** panel takes a plain-English request, shows a costed plan, and runs it as one undoable step after you approve. See [The AI Agent](ai-agent.md).
- On the dashboard, **Ask Copilot** (in the command palette and on the home cards) routes a request to the right studio with the fields filled in.
- From outside, any MCP client or the CLI can plan and run the same agent with an API key. See [Use CoreReflex From Your Own AI](api-and-mcp.md).

---

## The Distribution view: drafts, queue, and receipts (new, September 2026)

Publishing is growing into three tabs. The server foundation, drafts, an
audited state machine, slot validation with canonical identity, an opt-in
lifecycle queue, and publishing history with receipts, landed in September
2026; the full calendar UI is still being finished:

- **Drafts.** Every post starts as an editable draft: the source design, the caption, and one variant per platform (square, landscape, vertical, reel). Open any variant in the editor before it goes out.
- **Calendar.** Week and month views. Drag a draft to a slot to schedule it, drag a slot to move it. Each slot knows the platform's limits (length, aspect, caption size) and tells you before you schedule something that would be rejected.
- **Queue & receipts.** What is waiting, what went out, the live link, and what failed with the reason. A failed post retries on its own and never posts twice.

Drafts can require approval before scheduling. If a draft is attached to a client, the client approves through the existing proofing link.

## Today: the chat dock and drawer

A small chat button sits in a corner of the dashboard and the editor. Drag it to whichever corner you prefer; it stays there on your account. Tap it, or press the **Chat** button in the toolbar, and a drawer slides in from the right without moving your work. The drawer holds the conversation, the plan card, approve and stop controls, and your run history. One conversation follows you from the dashboard into the editor and back.

Signed-in users see one launcher only: the agent dock. Support chat stays one menu item away inside the dock's overflow menu, never a second competing bubble.

## Today: Agent Mode

When you approve a plan, the app shows the agent working (live since September 2026):

- The area being changed is lifted into focus with a highlight; the exact item, draft or calendar slot the agent is touching is revealed.
- Areas the agent is writing to are dimmed and locked so a stray click cannot collide with the run. A short label says why.
- Everything else stays usable. The chat drawer and the **Stop** button are never locked. Press Stop or **Esc** and the agent finishes the current step and waits.
- When it is done, a card lists exactly what changed, with links. In the editor, one undo reverts the whole run.

Nothing on screen animates unless a real step happened. Reduced-motion settings are respected.

## Porting with lineage

In **Files**, open a file's **⋯ → Send to…** menu. Choose a video clip, an image
layer on the video timeline, or a project's media library. Choose a new project
or an existing one; media-library sends need an existing project. For a still
image, set its duration. **Send** opens the resulting editable project.

Image Studio can also send a design to the timeline or a slide. Its source link
is recorded after the project saves. When the original later gets a newer saved
version, the timeline item or slide shows **Source updated** with the version.
Your placed content stays as it is; nothing is replaced automatically.

Ports are also available through the API, SDK, command line and agent. The
available intents below come from the same catalog the server uses:

<!-- cr:ports:start -->
<!-- Generated from src/port-bus.js. Run: node scripts/gen-port-doc.mjs -->

| Intent | Status | Accepts | Summary | Requirements |
|---|---|---|---|---|
| `media-only` | ready | image, video, audio, gif, design | Register the source media on the target document so any studio can reach it. No item is placed. | — |
| `image-layer` | ready | image, design | Place the image (or a flattened design) as an image item on the timeline of an existing or new document. | — |
| `timeline-clip` | ready | image, video, audio, gif, design | Place the media as a clip on the timeline; options.durationMs sets the length of a still (default 5 s), timed media keep their own. | — |
| `slide-page` | ready | image, design | Add a slide whose page is the image (or flattened design), fitted contain by default (options.fit = cover to fill). | — |
| `script-text` | ready | text, design | Turn the text of a text item or a design into a Script project the teleprompter and voice lanes can read. | — |
| `avatar-presenter` | ready | image, design | Register the portrait as a consented persona reference and create a presenter shot document ready to voice and direct. The presenter render is a separate, metered, confirmable step. | Pro plan; options.consent = { agree: true, kind: self \| authorized \| synthetic } |

<!-- cr:ports:end -->

Porting itself costs no credits. An avatar port registers a consented portrait
and creates a presenter project; generating the speaking video is a separate
step with its existing confirmation and credit checks. The avatar port requires
Pro access and explicit likeness consent. A script port opens its saved script.

Some editor bridge conversions and the Avatar/Distribute menu actions are still
being completed. The port bus is available independently of those menu additions.

## Coming: workflows the agent builds with you

In the Workflow builder, describe the goal ("when a render finishes, make a square and a vertical post, schedule them for the next free morning, and ask me before publishing"). The agent lays out the nodes on the canvas: trigger, draft, variants, schedule, an approval gate, publish. Edit any node, then save it as a recipe. Run it from the chat drawer, on a schedule, or from your own AI client. Details on today's builder: [Workflows, Recipes & Autopilot](workflows-and-automation.md).

## Coming: skills your own AI can read

**Today:** the list itself is live and free to read, and the agent already routes through it. Any signed-in session or API key can call `GET /api/skills` (or one skill at `/api/skills/<id>`), an MCP client can call the skills tools, and the command line answers `cr skills list` and `cr skills get <id>`. Each entry says honestly whether it is ready or still planned, and names the doors it is served on. When you ask the in-app agent for something a ready skill covers, it uses that skill instead of improvising; planned skills are never offered.

CoreReflex publishes a list of skills: named jobs such as *distribute a post*, *avatar from portrait*, *design to video to slide*, *build a workflow*. Each names the tools it uses and shows examples. The in-app agent uses the same list to route your request, and any MCP client can read it, so an outside assistant knows what the platform can do before it tries.

---

## Manual, assisted, or automatic

| Mode | You | The agent or workflow |
|---|---|---|
| **Manual** | Compose, pick variants, schedule, publish. | Nothing runs on its own. |
| **Assisted** | Approve the plan and the drafts. | Drafts, variants and schedule; waits for you before publishing. |
| **Automatic** | Set the budget and the approval policy once. | A saved workflow drafts, schedules and publishes on its trigger, within the budget, with receipts. |

Publishing is always a separate, confirmable step unless you have granted automatic publishing to a named account inside a workflow. Credits are only spent on the generation steps; scheduling and porting cost nothing.

---

## Related pages

- [Files, Publishing & Analytics](files-and-publishing.md)
- [The AI Agent](ai-agent.md)
- [Workflows, Recipes & Autopilot](workflows-and-automation.md)
- [Use CoreReflex From Your Own AI](api-and-mcp.md)
- [Agent Tool Reference](agent-tools.md)
