Skip to content

Add two MCP focused Remotion videos: client setup and agent in task - #167

Merged
TommyBez merged 6 commits into
mainfrom
gtm/mcp-videos
Aug 31, 2026
Merged

Add two MCP focused Remotion videos: client setup and agent in task#167
TommyBez merged 6 commits into
mainfrom
gtm/mcp-videos

Conversation

@TommyBez

Copy link
Copy Markdown
Owner

What

Two new Remotion compositions, both 1920x1080 at 30fps and muted, plus the scripts that render them and a poster still for each.

skillsboard-mcp-setup (1022 frames, 34.07s) walks a client from the config block to the tool list: the hook, the block from plugin/mcp.json with the production endpoint highlighted, the Skills Board authorization screen with skills:read and skills:write, the 13 registered tools with the four write ones marked, and the end card.

skillsboard-mcp-agent (1066 frames, 35.53s) shows the connection at work: a real task, a search_skills call against the team library, the skill a teammate saved with its GitHub source, the note that came with it, the drafted answer, and the same end card.

The new files live in remotion/mcp/. The existing compositions and remotion/product-demo/content.ts are untouched. remotion/root.tsx gains the two registrations and package.json gains four scripts, on the same h264, crf 18, yuv420p, swangle and muted flags the launch renders already use.

Why

The MCP path is the front door. On the signups Tommy read most recently, four in ten arrive MCP first. The launch videos cover saving and finding a skill in the web app, and neither of them shows a client connecting or an agent using what the team saved. These two fill that gap, cut for X and LinkedIn.

Every fact on screen is read out of this repository:

  1. the config block is plugin/mcp.json line for line, including "type": "streamable-http" and https://www.skillsboard.sh/api/mcp
  2. the 13 tool names are the ones app/api/[transport]/route.ts registers and /connect lists, and the four marked write are the four that check skills:write
  3. the scopes and the browser sign in follow the same route and the /connect copy

Only the example team, the teammate, and the example skill are invented, and none of them carries a product claim.

Checks

  1. tsc --noEmit on typescript 7.0.2: 0 errors
  2. node --test tests/*.test.mjs: 551 passing, 0 failing, 0 skipped
  3. Renders in a Linux sandbox: skills-board-mcp-setup.mp4 1022 frames, 34.067s, 1,661,169 bytes; skills-board-mcp-agent.mp4 1066 frames, 35.534s, 3,183,124 bytes; both 1920x1080 h264 at 30fps. Posters: 76,096 bytes and 62,605 bytes.
  4. OCR with tesseract 4.1.1 on nine key frames: skillsboard.sh/api/mcp reads on three of them, the agent-native skills registry for teams on both end cards, and the tool names read cleanly, all thirteen on one frame. No frame carries the endorsement verb the marketing context bans for a team's own skills, and no frame carries an em dash or an en dash.
  5. Source scan on the diff: 0 em dashes, 0 en dashes, and 0 hits for that same banned verb.

Renders

public/launch/ is gitignored, so nothing rendered is part of this commit. The four files are already on Tommy's disk under public/launch/: the two mp4s and the two posters. Anyone else regenerates them with pnpm video:render:mcp-setup, pnpm video:render:mcp-agent, pnpm video:still:mcp-setup-poster and pnpm video:still:mcp-agent-poster.

One video walks a client from the config block in plugin/mcp.json through
the browser authorization to the 13 registered tools. The other shows the
connection at work: a search_skills call against the team library, the note
a teammate saved, and the drafted answer.

Every fact on screen is read out of this repository, so the videos cannot
drift from the product without the source drifting first. The renders stay
out of the commit: public/launch is gitignored and the two scripts
regenerate them.
@vercel

vercel Bot commented Aug 31, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
skillsboard Ready Ready Preview, v0 Aug 31, 2026 2:53pm

Request Review

@coderabbitai

coderabbitai Bot commented Aug 31, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: c520f709-94a3-4863-85b4-775c631bfdb6


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Aug 31, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-08-31T08:23:51.520443Z 8a7955a PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8a7955aaab

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread remotion/mcp/content.ts
' "$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json",',
' "mcpServers": {',
' "skills-board": {',
' "type": "streamable-http",',

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Use the actual client configuration in the setup video

When a viewer follows the video's “Paste the config” instruction for the subsequently shown Claude Code flow—or for Cursor—they receive the portable agent-plugin descriptor rather than a valid client config. The repository's Claude manifest (plugin/.mcp.json) and the manual configuration generated in app/(app)/connect/page.tsx use "type": "http", while Claude Code's documented setup in components/mcp-setup-guide.tsx uses claude mcp add --transport http; the shown "streamable-http" value belongs to plugin/mcp.json's plugin schema. Use the client-facing config or show the plugin installation flow so the advertised setup can actually connect.

Useful? React with 👍 / 👎.

Comment thread remotion/mcp/ui/agent-console.tsx Outdated
Comment on lines +187 to +190
<span style={{ marginLeft: 10, fontSize: 21, color: ink.mutedForeground }}>
Saved by{" "}
<span style={{ color: ink.foreground }}>{hit.savedBy}</span> in {hit.team}
</span>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Remove the unavailable saver identity from the search result

In the depicted search_skills flow, this card presents “Saved by Marta R.” as part of the returned hit, but listUserSkills() in lib/db/queries.ts selects neither createdBy nor an added-by name, and the route serializes that result directly. Consequently the MCP response can provide the organization and note but cannot identify the teammate who saved the skill, so the video misrepresents the tool contract; either omit this attribution or expose it through the actual query and response.

Useful? React with 👍 / 👎.

@TommyBez

Copy link
Copy Markdown
Owner Author

b9196dc, on maintainer feedback: the caption under the tool grid (Nine read. Four write, once skills:write is granted.) was superfluous and is gone. The scene now ends on the grid itself. Video re-rendered and re-delivered to public/launch/ locally; OCR on the DONE frame confirms the 13 tool names remain and the caption is absent. tsc 0 errors.

@TommyBez

Copy link
Copy Markdown
Owner Author

Second maintainer note addressed: the opening line (Your team's AI skills are not in your agent.) read as confusing, so the hook is now a direct imperative: Give your agent your team's AI skills. Accent moved to team's. Re-rendered, frame inspected visually, delivered to public/launch/ locally. tsc 0 errors.

The dark palette is gone. The client window is the light card the setup video
already uses for mcp.json: hairline border, three dots on the bar, paper
background, dark mono, the green from the theme on the tool call and the
confirmation.

The two scenes are one. Ask and apply became a single session in a single
window: the task, the call, the skill that comes back and stays on screen, the
note it carries, the answer. Nothing cuts away, nothing clears. The column is
measured, so the one scroll of the video parks the call at the top edge with the
returned skill whole underneath it.

The task and the call are typed a character at a time with a caret that blinks
while the session waits, and the answer types back faster. The returned skill
fades in rather than typing, because the library sent it.
@TommyBez

Copy link
Copy Markdown
Owner Author

Reworked the agent video (skillsboard-mcp-agent) on your three notes. Head of gtm/mcp-videos: 63871cd.

1. Too dark. The dark palette is gone. The whole video now runs on the light stage of the setup video: the cream page, and the client window built as the same card the mcp.json editor uses (hairline border, three dots on the bar, paper background). Type is dark mono, and the theme green is left for the tool call, the caret, and the confirmation line. Mean luminance across all 1136 frames is 242.9 / 255 (min 240.5), measured with ffmpeg signalstats; the frames I sampled by hand land between 240.5 and 246.2.

2. The two scenes read as two cases. ask.tsx and apply.tsx are gone, replaced by one remotion/mcp/scenes/session.tsx: a single window that stays on screen from the first keystroke to the last line. Content accumulates inside it, the returned skill stays visible under the call for the rest of the run, and the only move is one soft vertical scroll of the column when the answer needs the room. Every block declares its height, so that scroll is exact: it parks the call at the top edge with the returned skill whole underneath. The chips scene and the end card stay separate beats, both on the light stage now.

3. Typewriter. The prompt types a character at a time, with a caret that blinks while the session waits and holds solid while it types. The tool call types as well, and the answer types back faster (0.7 frames per character, against 1.8 on the prompt). The returned skill card fades and slides in instead, since the library sent it rather than someone typing it.

Copy is unchanged from remotion/mcp/content.ts.

Beats, in order (30 fps, 1136 frames, 37.9s):

frame time beat
0 0.0s the client window fades in, caret blinking
34 to 140 1.1s to 4.7s the task types: draft the release notes for v2.4 the way our team does them
140 to 178 4.7s to 5.9s the prompt sits, caret blinking
178 to 237 5.9s to 7.9s the call types: search_skills({ query: "release notes" })
262 to 284 8.7s to 9.5s the release-notes card fades in: github.com/northwind/agent-skills, Saved by Marta R. in Northwind
284 to 408 9.5s to 13.6s the card holds, and it stays on screen for the rest of the session
408 to 426 13.6s to 14.2s Marta's note slides in under the card
500 to 518 16.7s to 17.3s ## v2.4 types
526 to 613 17.5s to 20.4s the three entries type, one after another
588 to 652 19.6s to 21.7s the one scroll: the column lifts, call at the top edge, card still whole
626 to 641 20.9s to 21.4s release notes drafted types with the check
656 to 678 21.9s to 22.6s the caption fades in under the window
748 to 770 24.9s to 25.7s push through into the chips scene
788 to 846 26.3s to 28.2s the four client chips land
976 to 998 32.5s to 33.3s fade into the end card
1136 37.9s end

Render. public/launch/skills-board-mcp-agent.mp4, 1920x1080, 37.87s, 2.6 MB. Poster recut from frame 700 (the finished session, card and answer both in shot); video:still:mcp-agent-poster updated to match.

Checks. tsc --noEmit clean. OCR on four key frames: the endpoint www.skillsboard.sh/api/mcp reads in the window bar on every console frame, search_skills reads on the call and answer frames, zero instances of recommend, zero em or en dashes.

The setup video, its scenes, and the product demo were not touched.

@TommyBez

Copy link
Copy Markdown
Owner Author

e951f55 adds a third composition, skillsboard-mcp-agent-spot: an ad style cut of the agent story built with the maintainer over several review rounds. 33 seconds, ten beats, hard cuts, no camera movement. Typographic billboards alternate with enlarged console fragments; a library beat establishes the team library with five example skills before the release notes example runs; the central beat shows a whole client window styled after Claude Desktop with the MCP tool block; the skill file beat shows SKILL.md instructions; the thesis beat uses the canonical product definition. Render script not added yet on purpose: the spot is delivered locally while it is still being iterated. The typewriter agent video and the setup video are unchanged.

@TommyBez

Copy link
Copy Markdown
Owner Author

Approved by the maintainer and committed: the card beat and the skill file beat are now one continuous CardOpensBeat. The skill name is the shared element and travels on a single interpolated trajectory from card title to the green SKILL.md heading while the card chrome dissolves; the green accent hands over from the saved-by marker to the file rule. The skill body grew from two to five instructions, the two key ones at full visual weight. The maintainer also set this spot language as the house style for all future videos; noted in the internal style rules.

@TommyBez
TommyBez merged commit 7de6ecf into main Aug 31, 2026
4 checks passed
@TommyBez
TommyBez deleted the gtm/mcp-videos branch August 31, 2026 17:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant