<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Content Creation on KnightLi Blog</title>
        <link>https://knightli.com/en/tags/content-creation/</link>
        <description>Recent content in Content Creation on KnightLi Blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Tue, 19 May 2026 10:56:50 +0800</lastBuildDate><atom:link href="https://knightli.com/en/tags/content-creation/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Too Many Platforms to Post To? AiToEarn Wants AI Agents to Help Creators Save Time</title>
        <link>https://knightli.com/en/2026/05/19/aitoearn-ai-content-marketing-agent/</link>
        <pubDate>Tue, 19 May 2026 10:56:50 +0800</pubDate>
        
        <guid>https://knightli.com/en/2026/05/19/aitoearn-ai-content-marketing-agent/</guid>
        <description>&lt;p&gt;&lt;code&gt;yikart/AiToEarn&lt;/code&gt; is an AI content marketing project for creators, brands, and one-person companies. It tries to put content creation, publishing, engagement, and monetization into one agent workflow, covering platforms such as Douyin, Xiaohongshu, Kuaishou, Bilibili, WeChat Channels, TikTok, YouTube, Facebook, Instagram, Threads, X, Pinterest, and LinkedIn.&lt;/p&gt;
&lt;p&gt;Project URL: &lt;a class=&#34;link&#34; href=&#34;https://github.com/yikart/AiToEarn&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/yikart/AiToEarn&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Official site: &lt;a class=&#34;link&#34; href=&#34;https://aitoearn.ai/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://aitoearn.ai/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;At the time of writing, the GitHub API showed about 15k stars, TypeScript as the main language, and an MIT license. The README describes it as a content marketing agent platform for OPCs, creators, brands, and enterprises.&lt;/p&gt;
&lt;h2 id=&#34;positioning&#34;&gt;Positioning
&lt;/h2&gt;&lt;p&gt;AiToEarn is not just a copywriting generator or a scheduled posting tool. It breaks content marketing into four agent capabilities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Monetize: content monetization.&lt;/li&gt;
&lt;li&gt;Publish: cross-platform content publishing.&lt;/li&gt;
&lt;li&gt;Engage: content interaction and community operations.&lt;/li&gt;
&lt;li&gt;Create: content creation.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;That positioning fits the current creator workflow. The hard part for many teams is not only &amp;ldquo;can AI write a post&amp;rdquo;, but what happens after that: scheduling, distribution, replies, review, and connecting content to business tasks.&lt;/p&gt;
&lt;h2 id=&#34;core-features&#34;&gt;Core Features
&lt;/h2&gt;&lt;h3 id=&#34;monetize-making-money-from-content&#34;&gt;Monetize: Making Money From Content
&lt;/h3&gt;&lt;p&gt;AiToEarn provides monetization capabilities around promotional tasks. The README mentions three settlement models:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Model&lt;/th&gt;
          &lt;th&gt;Full name&lt;/th&gt;
          &lt;th&gt;Meaning&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;CPS&lt;/td&gt;
          &lt;td&gt;Cost Per Sale&lt;/td&gt;
          &lt;td&gt;Settlement by sales&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;CPE&lt;/td&gt;
          &lt;td&gt;Cost Per Engagement&lt;/td&gt;
          &lt;td&gt;Settlement by engagement&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;CPM&lt;/td&gt;
          &lt;td&gt;Cost Per Mille&lt;/td&gt;
          &lt;td&gt;Settlement by impressions or views&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;This part is closer to a content task marketplace that connects brand promotion needs with creator distribution.&lt;/p&gt;
&lt;h3 id=&#34;publish-content-publishing-agent&#34;&gt;Publish: Content Publishing Agent
&lt;/h3&gt;&lt;p&gt;Publish distributes content across multiple platforms and reduces the repeated work of posting manually. The README covers mainstream short video, graphic, and social platforms in China and overseas.&lt;/p&gt;
&lt;p&gt;Its practical value is unified scheduling and management. For account matrices, cross-platform distribution, and global content teams, this is often more useful than a single AI copywriting feature.&lt;/p&gt;
&lt;h3 id=&#34;engage-content-engagement-agent&#34;&gt;Engage: Content Engagement Agent
&lt;/h3&gt;&lt;p&gt;Engage uses a browser extension to support automated engagement operations such as likes, saves, follows, comment replies, and brand monitoring.&lt;/p&gt;
&lt;p&gt;This capability should be used carefully. Automated engagement can trigger platform risk controls, so teams need to check account permissions, frequency limits, platform terms, and internal compliance rules.&lt;/p&gt;
&lt;h3 id=&#34;create-content-creation-agent&#34;&gt;Create: Content Creation Agent
&lt;/h3&gt;&lt;p&gt;Create handles content generation. The README mentions video generation models, video translation, video editing, image generation, and batch creation tasks.&lt;/p&gt;
&lt;p&gt;This is useful for large-scale content production, but human review is still necessary. Brand content, ad materials, and multilingual assets need factual accuracy, copyright checks, and tone consistency.&lt;/p&gt;
&lt;h2 id=&#34;five-ways-to-use-it&#34;&gt;Five Ways To Use It
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Method&lt;/th&gt;
          &lt;th&gt;Best for&lt;/th&gt;
          &lt;th&gt;Deployment needed&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Use the website directly&lt;/td&gt;
          &lt;td&gt;All users&lt;/td&gt;
          &lt;td&gt;No&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Use it in OpenClaw&lt;/td&gt;
          &lt;td&gt;OpenClaw users&lt;/td&gt;
          &lt;td&gt;No&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Use it in Claude / Cursor and other AI assistants&lt;/td&gt;
          &lt;td&gt;AI tool users&lt;/td&gt;
          &lt;td&gt;No&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;One-click Docker deployment&lt;/td&gt;
          &lt;td&gt;Teams that want self-hosting&lt;/td&gt;
          &lt;td&gt;Server needed&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Source development&lt;/td&gt;
          &lt;td&gt;Developers&lt;/td&gt;
          &lt;td&gt;Development environment needed&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;MCP support is a notable point. It means Claude, Cursor, or other MCP-compatible agents can call AiToEarn as an external capability.&lt;/p&gt;
&lt;p&gt;A common MCP configuration contains:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;MCP URL: https://aitoearn.ai/api/unified/mcp
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Auth Header: x-api-key: your-API-Key
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Self-hosted users should replace it with their own service URL.&lt;/p&gt;
&lt;h2 id=&#34;docker-deployment&#34;&gt;Docker Deployment
&lt;/h2&gt;&lt;p&gt;The README provides a Docker deployment path:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/yikart/AiToEarn.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; AiToEarn
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Then visit:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;http://localhost:8080
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;For teams that care about data control, private deployment, or custom workflows, Docker is more practical than only using the hosted website.&lt;/p&gt;
&lt;h2 id=&#34;who-it-is-for&#34;&gt;Who It Is For
&lt;/h2&gt;&lt;p&gt;AiToEarn is suitable for creators who publish across many platforms, small teams running content operations, one-person companies, brands that need creator collaboration, and developers who want to connect content workflows to AI agents.&lt;/p&gt;
&lt;p&gt;It is less suitable if you only need a simple text generator. Its value is in connecting creation, publishing, engagement, and monetization.&lt;/p&gt;
&lt;h2 id=&#34;notes-before-use&#34;&gt;Notes Before Use
&lt;/h2&gt;&lt;p&gt;First, automated posting and engagement must respect platform rules. A tool can improve efficiency, but it cannot remove the need for account safety and compliance.&lt;/p&gt;
&lt;p&gt;Second, generated content still needs human review. Ads, brand posts, and cross-language content can all carry factual, copyright, or tone risks.&lt;/p&gt;
&lt;p&gt;Third, monetization features involve commercial tasks, so settlement rules, disclosure requirements, and platform policies should be checked before use.&lt;/p&gt;
&lt;h2 id=&#34;summary&#34;&gt;Summary
&lt;/h2&gt;&lt;p&gt;AiToEarn is worth watching because it treats content operations as a workflow, not just a writing task. For creators and small teams, the attractive part is saving repeated work across platforms. For developers, the interesting part is MCP and agent integration.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>web-video-presentation: an Agent Skill for turning articles into screen-recordable web videos</title>
        <link>https://knightli.com/en/2026/05/15/web-video-presentation-agent-skill/</link>
        <pubDate>Fri, 15 May 2026 09:02:15 +0800</pubDate>
        
        <guid>https://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>
