<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>React on KnightLi Blog</title>
        <link>https://www.knightli.com/en/tags/react/</link>
        <description>Recent content in React on KnightLi Blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Fri, 15 May 2026 09:02:15 +0800</lastBuildDate><atom:link href="https://www.knightli.com/en/tags/react/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>web-video-presentation: an Agent Skill for turning articles into screen-recordable web videos</title>
        <link>https://www.knightli.com/en/2026/05/15/web-video-presentation-agent-skill/</link>
        <pubDate>Fri, 15 May 2026 09:02:15 +0800</pubDate>
        
        <guid>https://www.knightli.com/en/2026/05/15/web-video-presentation-agent-skill/</guid>
        <description>&lt;p&gt;&lt;code&gt;web-video-presentation&lt;/code&gt; is an agent skill in &lt;code&gt;ConardLi/garden-skills&lt;/code&gt;. It solves a concrete problem: turn an article or narration script into a web-based presentation that can be recorded as a video.&lt;/p&gt;
&lt;p&gt;Project: &lt;a class=&#34;link&#34; href=&#34;https://github.com/ConardLi/garden-skills/tree/main/skills/web-video-presentation&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/ConardLi/garden-skills/tree/main/skills/web-video-presentation&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It is not a normal slide template or a React component library. It is a production process for AI agents: rewrite content into narration, turn it into an outline, choose a theme, build a 16:9 click-driven Vite + React + TypeScript web surface, then record it.&lt;/p&gt;
&lt;h2 id=&#34;it-is-not-trying-to-make-slides&#34;&gt;It is not trying to make slides
&lt;/h2&gt;&lt;p&gt;The README makes an important distinction: the skill generates a &amp;ldquo;video production surface&amp;rdquo;, not a slide deck.&lt;/p&gt;
&lt;p&gt;Each click advances a narration beat. Each step owns a 1920×1080 stage. The UI progress controls stay hidden unless hovered, making recordings clean.&lt;/p&gt;
&lt;p&gt;It is useful for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Turning blog posts into YouTube or Bilibili-style explainers&lt;/li&gt;
&lt;li&gt;Building visuals for narration scripts&lt;/li&gt;
&lt;li&gt;Product demos&lt;/li&gt;
&lt;li&gt;Tutorial videos&lt;/li&gt;
&lt;li&gt;Keynote-style visual talks&lt;/li&gt;
&lt;li&gt;Dynamic presentations that do not feel like PowerPoint&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The value is not replacing video editing software. It makes the browser a controllable, iterative video canvas.&lt;/p&gt;
&lt;h2 id=&#34;core-principles&#34;&gt;Core principles
&lt;/h2&gt;&lt;p&gt;The skill has several clear principles.&lt;/p&gt;
&lt;p&gt;First, a fixed 16:9 stage. Design happens in a stable &lt;code&gt;1920×1080&lt;/code&gt; coordinate system, then scales to the viewport. This prevents layout drift during recording.&lt;/p&gt;
&lt;p&gt;Second, a global step cursor. Clicks and keyboard input advance &lt;code&gt;(chapter, step)&lt;/code&gt; and save progress locally. It behaves like a video timeline, but controlled through web state.&lt;/p&gt;
&lt;p&gt;Third, one idea per step. Every beat should have its own visual moment, not just more bullets on the same page.&lt;/p&gt;
&lt;p&gt;Fourth, narration drives structure. The script defines rhythm; the outline defines chapters and steps; visuals follow the story.&lt;/p&gt;
&lt;p&gt;Fifth, motion first. Each scene should have a moving visual anchor. If it is only static text, it has not become video language yet.&lt;/p&gt;
&lt;p&gt;Sixth, theme tokens. A theme is not just colors; it controls typography, colors, cards, background, separators, decoration, and tone through semantic tokens.&lt;/p&gt;
&lt;h2 id=&#34;four-part-workflow&#34;&gt;Four-part workflow
&lt;/h2&gt;&lt;p&gt;The workflow has four stages.&lt;/p&gt;
&lt;p&gt;First is content writing. If the user provides an article, the agent rewrites it into &lt;code&gt;script.md&lt;/code&gt;, then creates &lt;code&gt;outline.md&lt;/code&gt;. If the user already provides a narration script, it saves it as &lt;code&gt;script.md&lt;/code&gt; and generates the outline.&lt;/p&gt;
&lt;p&gt;Second is web development. The agent scaffolds a Vite / React / TypeScript project and implements scenes chapter by chapter. Chapter 1 must be completed by the main thread and approved by the user, because it becomes the style anchor.&lt;/p&gt;
&lt;p&gt;Third is optional audio generation. The skill can extract narration definitions from each chapter&amp;rsquo;s &lt;code&gt;narrations.ts&lt;/code&gt; and run a voice synthesis flow.&lt;/p&gt;
&lt;p&gt;Fourth is recording and post-production. The web app is the recording stage; the user records the click-driven presentation.&lt;/p&gt;
&lt;p&gt;The process has hard checkpoints: script, outline, theme, asset plan, and development mode must be aligned first; chapter 1 must be reviewed; audio generation must also be confirmed.&lt;/p&gt;
&lt;h2 id=&#34;why-outline-should-not-define-animation&#34;&gt;Why outline should not define animation
&lt;/h2&gt;&lt;p&gt;One interesting constraint is that &lt;code&gt;outline.md&lt;/code&gt; plans rhythm and information density, but not concrete animations.&lt;/p&gt;
&lt;p&gt;It may describe chapters, step count, screen content, information pools, asset plans, and estimated duration. It should not define CSS animation type, timing, clip-path, or filter implementation.&lt;/p&gt;
&lt;p&gt;The reason is good: if outline locks animation, later implementation becomes mechanical. Video feeling should be designed per chapter based on content relationships.&lt;/p&gt;
&lt;h2 id=&#34;narrationsts-as-the-source-of-truth&#34;&gt;narrations.ts as the source of truth
&lt;/h2&gt;&lt;p&gt;Each chapter has a &lt;code&gt;narrations.ts&lt;/code&gt;. It stores the step count and corresponding narration text. The skill requires the maximum step used in the chapter &lt;code&gt;.tsx&lt;/code&gt; to align with &lt;code&gt;narrations.length&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;This prevents drift across &lt;code&gt;script.md&lt;/code&gt;, &lt;code&gt;outline.md&lt;/code&gt;, chapter code, &lt;code&gt;chapters.ts&lt;/code&gt;, and audio files. For video production, keeping narration, screen, audio, and step count aligned is essential.&lt;/p&gt;
&lt;h2 id=&#34;themes-are-more-than-skins&#34;&gt;Themes are more than skins
&lt;/h2&gt;&lt;p&gt;Built-in themes include &lt;code&gt;paper-press&lt;/code&gt;, &lt;code&gt;warm-keynote&lt;/code&gt;, &lt;code&gt;midnight-press&lt;/code&gt;, &lt;code&gt;blueprint&lt;/code&gt;, &lt;code&gt;chalk-garden&lt;/code&gt;, &lt;code&gt;terminal-green&lt;/code&gt;, &lt;code&gt;bauhaus-bold&lt;/code&gt;, &lt;code&gt;sunset-zine&lt;/code&gt;, &lt;code&gt;newsroom&lt;/code&gt;, and &lt;code&gt;monochrome-print&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;These are not just color swaps. They define different visual languages: print, keynote, blueprint, terminal, newsroom, and so on.&lt;/p&gt;
&lt;p&gt;During planning, the agent should recommend two or three themes based on the topic and tone. The user can also request a custom theme.&lt;/p&gt;
&lt;h2 id=&#34;three-development-modes&#34;&gt;Three development modes
&lt;/h2&gt;&lt;p&gt;Chapter 1 is always built by the main thread and reviewed first. After that, there are three modes.&lt;/p&gt;
&lt;p&gt;Mode A: chapter-by-chapter confirmation. Lowest risk and best quality control.&lt;/p&gt;
&lt;p&gt;Mode B: sequential development. The main thread builds remaining chapters and reviews at the end.&lt;/p&gt;
&lt;p&gt;Mode C: parallel development. After chapter 1 approval, subagents build later chapters in parallel. It is fastest, but visual differences may appear. Theme tokens provide consistency while each chapter can still have its own expression.&lt;/p&gt;
&lt;h2 id=&#34;who-should-use-it&#34;&gt;Who should use it
&lt;/h2&gt;&lt;p&gt;This skill is best for people who already have content: an article, script, product description, tutorial, or technical explanation.&lt;/p&gt;
&lt;p&gt;If the user has no topic or material, the agent should ask for source content. This is not an ideation tool; it is a content-to-video production flow.&lt;/p&gt;
&lt;h2 id=&#34;summary&#34;&gt;Summary
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;web-video-presentation&lt;/code&gt; is valuable because it turns content video production into a collaborative, reviewable, reusable workflow.&lt;/p&gt;
&lt;p&gt;It connects article, narration, outline, theme, chapter implementation, audio, and recording, while hard checkpoints prevent the agent from running away.&lt;/p&gt;
&lt;p&gt;Even if you do not use its scaffold, ideas like &amp;ldquo;one step, one idea&amp;rdquo;, &amp;ldquo;chapter 1 as style anchor&amp;rdquo;, &amp;ldquo;&lt;code&gt;narrations.ts&lt;/code&gt; as source of truth&amp;rdquo;, and &amp;ldquo;outline does not hard-code animation&amp;rdquo; are worth borrowing.&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
