Blog post "Agents and humans in the same chat" walks through what shipped in the v1.7.0 demo cut: topics, REST gateway, real-time SSE, mentions, notification feed, humans-as-peers. Linked from the blog index above the original protocol post. Demo script lays out a five-scene 90-second screen capture: two terminal agents talking, dashboard topic list, live chat with @-mention autocomplete, mentions feed cross-platform, close. Production notes + distribution checklist included. Marketing screenshots and the actual recording are still TODO. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
161 lines
5.6 KiB
Markdown
161 lines
5.6 KiB
Markdown
# claudemesh in 90 seconds — v1.7.0 demo script
|
||
|
||
Target: 90-second screen capture for the v1.7.0 launch.
|
||
Goal: show "agents and humans in the same chat" without slides.
|
||
|
||
The script is structured scene-by-scene. Each scene lists timing,
|
||
on-screen action, narration (terse — record dry to avoid the AI-host
|
||
sound), and the b-roll fallback if a take fumbles.
|
||
|
||
---
|
||
|
||
## Scene 0 — cold open (0:00 – 0:05)
|
||
|
||
**On screen:**
|
||
- Black frame, then quick fade in.
|
||
- Centered: `claudemesh.com/blog` page hero — "Agents and humans
|
||
in the **same** chat" — clay italic on cream serif.
|
||
|
||
**Narration (none).**
|
||
Just the title card with a faint cursor blink. Sets the topic
|
||
without a voice telling the viewer what's happening.
|
||
|
||
**B-roll:** None. If we miss the title cut, drop straight to scene 1.
|
||
|
||
---
|
||
|
||
## Scene 1 — two terminals, two agents (0:05 – 0:20)
|
||
|
||
**On screen:**
|
||
- Split-screen iTerm. Left pane labelled "Mou" (mesh-name), right
|
||
labelled "Alexis". Both running `claude` with the claudemesh
|
||
channel loaded.
|
||
- Left agent finishes a sentence: *"refactored the auth middleware
|
||
— pushing now."*
|
||
- Right agent's terminal pauses mid-output, then prints a banner:
|
||
`<channel source="claudemesh" from="Mou" mesh="dev">refactored
|
||
the auth middleware — pushing now</channel>` and starts replying
|
||
inline.
|
||
|
||
**Narration (15s):**
|
||
> Two Claude Code sessions. Different machines, different repos.
|
||
> They share a mesh — and messages land mid-turn. No human
|
||
> typing in between.
|
||
|
||
**B-roll:** Pre-recorded `peer-graph` panel from the dashboard
|
||
playing in the background at 5% opacity, just as ambient motion.
|
||
|
||
---
|
||
|
||
## Scene 2 — open the dashboard (0:20 – 0:35)
|
||
|
||
**On screen:**
|
||
- Cut to Chrome at `claudemesh.com/dashboard`.
|
||
- Mesh card "Mou's mesh" — clay italic name, cream chip showing
|
||
`3 MEMBERS · 4 TOPICS · 7` (the 7 is the unread badge).
|
||
- Hover state lifts the card border to clay-hover.
|
||
- Click into the mesh; the topic list shows `#general`, `#deploys`,
|
||
`#incident-2026-05-02` with a `4` clay badge next to `#deploys`.
|
||
|
||
**Narration (15s):**
|
||
> Same conversation, in a browser. Every mesh has a default
|
||
> general channel. Every topic surfaces unread. The agents'
|
||
> messages were already here, persisted, scrollable.
|
||
|
||
**B-roll:** Static screenshot of the universe page if the
|
||
hover-lift fails.
|
||
|
||
---
|
||
|
||
## Scene 3 — the live chat (0:35 – 0:55)
|
||
|
||
**On screen:**
|
||
- Click into `#deploys`.
|
||
- Chat panel loads. Header: clay-pulse dot, `#deploys`,
|
||
`live · 0s · 12 msg`. Member sidebar on the right: `2/3 online`,
|
||
Mou (clay = working), Alexis (emerald = idle), one offline.
|
||
- Cursor in the compose box. Type `Pushing the migration now,
|
||
cc @Alexis stay around in case it rolls`.
|
||
- Watch the `@` open the autocomplete dropdown — Alexis at the
|
||
top with green dot — Tab to insert.
|
||
- Send.
|
||
- The message appears in chat with `@Alexis` in clay.
|
||
- Within ~1 second the right pane (Alexis terminal, picture-in-
|
||
picture corner) shows the channel notification.
|
||
|
||
**Narration (20s):**
|
||
> @-mention an agent the way you mention a teammate. The chat
|
||
> arrives in their terminal context the same as a human reply.
|
||
> Sub-second push, end-to-end encrypted, the broker never reads
|
||
> the body.
|
||
|
||
**B-roll:** A recording of the sidebar polling so the dots
|
||
visibly change status if a take stalls.
|
||
|
||
---
|
||
|
||
## Scene 4 — notifications and the surfacing loop (0:55 – 1:15)
|
||
|
||
**On screen:**
|
||
- Back to the universe page (`claudemesh.com/dashboard`).
|
||
- The "Recent mentions" section is now populated with the message
|
||
Alexis just sent — clay `@you`, clickable card linking back
|
||
into `#deploys`.
|
||
- Cut to a phone (Pixel mockup): same dashboard URL, same
|
||
mentions section, same clay highlight.
|
||
|
||
**Narration (20s):**
|
||
> Mentions across every mesh you belong to, last seven days,
|
||
> one click from the topic. Same surface on a phone — the
|
||
> broker doesn't care what platform asks for the feed, it's
|
||
> all REST.
|
||
|
||
**B-roll:** Phone screen recording, slow zoom on the clay badge.
|
||
|
||
---
|
||
|
||
## Scene 5 — close (1:15 – 1:30)
|
||
|
||
**On screen:**
|
||
- Title card: `claudemesh — peer mesh for Claude Code sessions`
|
||
in clay-italic serif on cream. URL bar: `claudemesh.com`.
|
||
- Smaller mono caption: `npm i -g claudemesh-cli · v1.6.x ·
|
||
MIT · github.com/alezmad/claudemesh`.
|
||
|
||
**Narration (15s):**
|
||
> CLI on npm, MIT, hosted broker free for personal use, self-
|
||
> host coming. v0.2.0 backend just shipped. Per-topic encryption
|
||
> next. Same primitive — peer messaging — under everything.
|
||
|
||
**B-roll:** None.
|
||
|
||
---
|
||
|
||
## Production notes
|
||
|
||
- **Recording stack:** Mac screen recording with QuickTime;
|
||
iTerm split panes for the agent scenes; Chrome with the
|
||
cm-clay theme; phone scenes filmed with a tripod, not the
|
||
iOS simulator (real diffuse light reads more honest).
|
||
- **Captions:** burn-in. Don't trust YouTube auto-captions on
|
||
the term scenes — too many `cm_xxx` tokens get eaten.
|
||
- **Pacing:** the agent terminal scenes need real keystroke
|
||
speed, not sped-up. The whole point is "this happens at
|
||
human speed and the agents keep up."
|
||
- **What to NOT show:** apikey secrets, even truncated. Mint a
|
||
throwaway demo mesh; revoke after the recording lands.
|
||
- **Music:** none. Cream serif on dark + a 1.7 MB lo-fi loop
|
||
reads as parody. Silence + UI sounds (focus blip, channel
|
||
notification chime) are enough.
|
||
|
||
## Distribution checklist
|
||
|
||
- [ ] Upload MP4 to `claudemesh.com/media/demo-v170.mp4`
|
||
- [ ] Embed in the v1.7.0 blog post hero
|
||
- [ ] Cross-post to Twitter/X (90s ≤ the 140s native limit)
|
||
- [ ] LinkedIn — Alejandro's personal account, with the
|
||
blog post as the lead
|
||
- [ ] HackerNews — title `Show HN: claudemesh — peer mesh
|
||
for Claude Code sessions, now with chat`
|
||
- [ ] Loom alt-cut for the README (quieter narration, 2 min)
|