Agent skill

Video Publish

by godot-fun in godot-fun/gai

From user materials, generates multi-platform video publish pack: Zhihu Chinese article, Reddit English post, 3 landscape + 3 portrait Google image-gen cover prompts, and title/description/tags for…

MITAuto-check passedMedia & Creative

Install Video Publish

skills CLI
$ npx skills add godot-fun/gai --skill video-publish -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install godot-fun/gai video-publish --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/godot-fun/gai.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/video-publish .claude/skills/video-publish && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
video-publish
GitHub stars
183
Token cost
~2.6k tokens
SKILL.md length
1,158 words
Files
1
Skills in repo
36
Repo updated
First seen
Licence
MIT

At a glance

From user materials, generates multi-platform video publish pack: Zhihu Chinese article, Reddit English post, 3 landscape + 3 portrait Google image-gen cover prompts, and title/description/tags for…

  • Works in 5 steps: Resolve output directory (file parent vs… → Inventory materials; infer topic, hook,… → Write all 5 files (articles as normal… → …
  • The user wants video-publish
  • SKILL.md covers Inputs, Output directory, Required output files and Copy-friendly MD, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Video Publish is an agent skill from godot-fun/gai. From user materials, generates multi-platform video publish pack: Zhihu Chinese article, Reddit English post, 3 landscape + 3 portrait Google image-gen cover prompts, and title/description/tags for Bilibili, Douyin, Xiaohongshu, Weibo, YouTube, X, TikTok, Instagram — each in separate files, platform-native and click-worthy. Use when the user wants video-publish, video publishing, publish copy, cover prompts, title/description/tags, Zhihu/Reddit posts, or multi-platform upload copy.

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Media & Creative, covering Image generation. It works with Reddit, Bilibili, Douyin and Xiaohongshu. The repository describes itself as: A lightweight AI agent and skill workflow framework built with Godot. The licence is MIT.

When your agent uses it

  • The user wants video-publish
  • Video publishing
  • Title/description/tags
  • Zhihu/Reddit posts

Example prompts

  • “/video-publish”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Resolve output directory (file parent vs project root)
  2. Inventory materials; infer topic, hook, audience, tone
  3. Write all 5 files (articles as normal MD; covers + platforms with paste fences)
  4. Consistency pass (same core claim/hook across platforms; no invented facts)
  5. Confirm paths in chat

What it can do on your machine

Read from SKILL.md and the folder at commit 6394686. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Video Publish loads about 2.6k tokens when it runs. Until then it costs about 125 tokens; SKILL.md has 1,158 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~125
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from godot-fun/gai at commit 6394686, republished under its MIT licence (© godot-fun). 1,158 words, ~2,574 tokens.

Download SKILL.mdSave it as .claude/skills/video-publish/SKILL.md (or your agent's skills folder).
name
video-publish
description
From user materials, generates multi-platform video publish pack: Zhihu Chinese article, Reddit English post, 3 landscape + 3 portrait Google image-gen cover prompts, and title/description/tags for Bilibili, Douyin, Xiaohongshu, Weibo, YouTube, X, TikTok, Instagram — each in separate files, platform-native and click-worthy. Use when the user wants video-publish, video publishing, publish copy, cover prompts, title/description/tags, Zhihu/Reddit posts, or multi-platform upload copy.

Video Publish

From user materials only, produce a full publish pack and write files (do not only print in chat).

Inputs

Any mix of: video/storyboard, title ideas, product/brief text, stills, constraints. Optional: one input file path (used only to locate the output directory).

Do not invent product facts, prices, logos, or claims not in the materials. If goal/audience is ambiguous, state one short assumption and proceed.

Output directory

ModeWrite files to
User provides an input fileThat file’s parent directory
No input fileProject root

Always overwrite these filenames in the output directory (create if missing).

Required output files

FileContent
zhihu.md1 Chinese Zhihu article
reddit.md1 English Reddit post
covers-landscape.md3 landscape Google image-gen prompts
covers-portrait.md3 portrait Google image-gen prompts
platforms.mdTitle / description / tags for all 8 platforms

Chat after write: short confirm only (output dir + file list). Do not dump full copy into chat unless the user asks.

Copy-friendly MD

Articles are normal Markdown — zhihu.md and reddit.md stay readable long-form (headings, paragraphs). Do not wrap the whole article in a code fence.

Paste fields use fences — platform Title / Description / Tags, and each cover prompt: one field = one fence so one-click copy works.

Fence rules (covers + platforms.md only):

  • Headings/labels outside the fence; only the text to paste inside
  • Prefer plain ``` with no language
  • Inside: raw publish text only — no extra structural markdown
  • Do not put multiple platforms or multiple fields in one fence

Workflow

  1. Resolve output directory (file parent vs project root)
  2. Inventory materials; infer topic, hook, audience, tone
  3. Write all 5 files (articles as normal MD; covers + platforms with paste fences)
  4. Consistency pass (same core claim/hook across platforms; no invented facts)
  5. Confirm paths in chat

Platform styles (must match)

Eye-catching first; still native to each platform — not the same paragraph pasted everywhere.

Articles

Both articles must be substantive, not teaser blurbs. Expand from the user’s materials: explain context, walk through key beats, add concrete detail, and give readers something useful even if they never open the video.

Depth (required)

  • Zhihu: typically 1500–3500 Chinese characters (or more if materials are dense); multiple ## sections
  • Reddit: typically 600–1500 words; clear sections, still conversational
  • Prefer “too much useful detail” over thin summary; do not pad with empty hype
  • Structure idea: hook → background / problem → what we built or showed → how it works → takeaways → soft CTA
  • Reuse facts, names, numbers, and claims only from materials; when expanding prose, stay faithful

Code from the user (required when present)

  • If materials include code, snippets, scripts, API usage, or repo paths: pull in the user’s own code, not generic invented samples
  • Prefer several short, real excerpts over one toy rewrite; keep enough context to be readable
  • Use fenced code blocks with the right language tag (gdscript, python, cpp, …)
  • Lightly annotate why each snippet matters; do not “improve” the code into something they didn’t provide
  • If materials only mention code indirectly (e.g. storyboard about a feature), open related project files when a clear path/repo is in scope and quote their implementations
  • No code in materials and none findable → skip code sections; do not fabricate demos

Zhihu (zhihu.md) — Chinese, normal Markdown article

  • # title as H1; body with ## / ### subheads, lists, and code fences as needed
  • Long-form, structured, credible; strong hook title + opening question/conflict
  • Fill sections with explanation, comparisons, pitfalls, and material-grounded examples
  • Light CTA at end (watch / discuss); avoid slang spam and emoji walls

Reddit (reddit.md) — English, normal Markdown post

  • # title as H1; body as readable prose (not one giant fence)
  • Discussion-first, authentic; title like a real post, not ad copy
  • Same richness bar as Zhihu (translated tone): context → build/demo → code when available → ask the room something specific
  • No hard sell, no keyword stuffing; optional ## Suggested subreddits (2–5 as a normal list)
Cover prompts

Google image generation prompts (Imagen / Gemini image). English prompts preferred (models follow them more reliably). Each prompt must be self-contained: subject, mood, composition, lighting, text-in-image rules, aspect.

covers-landscape.md — 3 variants, 16:9 thumbnail / banner

  • Safe margins for platform UI crop; readable focal point left/center
  • State: aspect ratio 16:9, no watermarks, no logos unless in materials

covers-portrait.md — 3 variants, 9:16 short-video cover

  • Vertical hero, face/product large in upper two-thirds; room for caption overlay
  • State: aspect ratio 9:16, no watermarks, no logos unless in materials

Each file format:

markdown
# Covers — landscape (16:9)

## Variant 1 — [short label]

```
[full prompt — paste-ready]
```

## Variant 2 — [short label]

```
[full prompt — paste-ready]
```

## Variant 3 — [short label]

```
[full prompt — paste-ready]
```

(Same structure for portrait with 9:16.)

Three variants should differ in composition/hook (e.g. curiosity gap / bold claim visual / emotional close-up) — not three near-duplicates.

Show full SKILL.md (428 more words)Show less
Video platforms (platforms.md)

Generate all eight. Each section: Title, Description, Tags — each in its own fence.

PlatformLanguageStyle notes
BilibiliChineseSearchable title; description with highlights / chapters if known
DouyinChineseUltra-short hook title; first desc line = scroll-stopper
XiaohongshuChineseTitle + emoji OK; lifestyle/note tone
WeiboChineseShort punchy; @/topic friendly; desc can double as post body
YouTubeEnglishSEO title (~≤100 chars ideal); description with hook + value + CTA
XEnglishPunchy post-length energy; desc ≈ post text if needed
TikTokEnglishCaption-first hook; keep title/caption tight
InstagramEnglishReels/caption tone; line breaks in description
Tags — follow each platform’s rules (required)

Do not use one universal tag format. The Tags fence must match how that platform expects paste-in.

PlatformFormat inside Tags fenceCount / notes
BilibiliPlain keywords, comma-separated, no # (upload tags field)~8–12; mostly Chinese; mix category terms + content-specific terms; avoid unrelated hot keywords
Douyin#topic space-separated, leading # only, no trailing #~5–8; mix 1–2 trending topics + precise terms; avoid spammy # walls
Xiaohongshu#topic space-separated, leading # only, no trailing #~8–15; common in note discovery; lifestyle/tutorial terms first
Weibo#topic# space-separated (opening and closing #)~3–6; keep short; trending-friendly; do not use long sentences as topics
YouTubeComma-separated SEO phrases, no # (YouTube Studio tags field)~8–15; may include 2–4 word phrases; keep English/proper nouns as-is
X#Hashtag space-separated, with #2–4 only; stay restrained; CamelCase or short words; no hashtag walls
TikTok#hashtag space-separated, with #~4–8; 1–2 broad + rest niche; avoid empty #fyp spam (max 1, optional)
Instagram#hashtag space-separated, with #~8–15; paste into Tags or first comment; mix broad + specific

Shared tag quality:

  • Relevant to the video; mix discoverable + specific
  • No irrelevant viral spam, no competitor-brand stuffing unless in materials
  • Language matches the platform column above

platforms.md structure:

markdown
# Platform publish copy

## Bilibili

### Title

```
[title]
```

### Description

```
[description]
```

### Tags

```
Godot, GDScript, game development, …
```

## Douyin

### Tags

```
#Godot #GameDev #IndieGame …
```

## Xiaohongshu

### Tags

```
#Godot #GameDev #IndieGame
```

## Weibo

### Tags

```
#Godot# #IndieGame#
```

## YouTube

### Tags

```
Godot, GDScript, game development, …
```

## X

### Tags

```
#Godot #IndieDev
```

## TikTok

### Tags

```
#Godot #gamedev #indiedev …
```

## Instagram

### Tags

```
#Godot #gamedev #indiedev …
```

(Each platform still has Title / Description / Tags; examples above only show Tags shape per platform.)

Use exact section headings ## Bilibili … ## Instagram (stable for copy-paste / tooling).

Quality bar

  • Hook in the first line/title every time
  • Articles are rich and material-grounded; include the user’s own code when available
  • Same factual core across files; wording adapted per platform
  • Tags: per-platform format (see table); relevant + discoverable; no irrelevant viral spam
  • Covers: no unreadable tiny text; if on-image text is needed, keep to ≤5 words and say so in the prompt
  • If materials are thin, still ship all files; mark uncertain lines with (assumption: …) once in chat, not inside every file

Examples

Input: res://… storyboard + “publish this video”
Output dir: storyboard file’s folder → write the 5 files there.

Input: paste brief only, no path
Output dir: project root → write the 5 files there.

CLI

Copy-paste commands: cli/video-publish.md

© godot-fun, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/video-publish of godot-fun/gai.

Open the folder on GitHubat commit 6394686

Compare with similar skills

Video Publish next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Video Publish compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Video Publish this skillgodot-fun/gai183—~2.6kAutomated safety check: PassMIT
Social Cover DirectorJamailar/Beav1.8k—~1.7kAutomated safety check: WarnCustom licence
TikHub API Helperliangdabiao/tikhub_api_skill129—~1.5kAutomated safety check: PassNone
Last30days CnJesseovo/last30days-skill-cn1.9k—~2.4kAutomated safety check: NotesMIT
Sandbasesandbaseai/cli188—~3.1kAutomated safety check: PassApache-2.0
Video Podcast MakerAgents365-ai/video-podcast-maker1.7k—~4.9kAutomated safety check: PassMIT

Similar skills

  • A skill your agent uses when the user wants to plan or generate a social media cover image for a Xiaohongshu note, Douyin/TikTok photo post, Reels/Shorts cover, WeChat/Video Account post…

    1.8k GitHub stars~1.7k tokensUpdated 2 days ago
    Media & CreativeAuto-check: warnings
  • TikHub API Helper

    liangdabiao/tikhub_api_skill

    Searches TikHub's social media API endpoints and calls them from the command line for TikTok, Douyin, Xiaohongshu, Instagram, YouTube, Reddit and more.

    129 GitHub stars~1.5k tokensUpdated 3 mo ago
    Backend & APIsAuto-check passed
  • Last30days Cn

    Jesseovo/last30days-skill-cn

    Research what Chinese internet users actually said in the last 30 days across Weibo, Xiaohongshu (RED), Bilibili, Zhihu, Douyin, WeChat public accounts, Baidu and Toutiao: engagement-weighted…

    1.9k GitHub stars~2.4k tokensUpdated 4 days ago
    Productivity & AutomationAuto-check: notes
  • Sandbase

    sandbaseai/cli

    Discover better ways to complete tasks. An agent skill from sandbaseai/cli.

    188 GitHub stars~3.1k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Video Podcast Maker

    Agents365-ai/video-podcast-maker

    A skill your agent uses when the user gives a topic and wants an automated topic-driven narrated explainer, podcast, or knowledge-summary video (Bilibili / YouTube / Xiaohongshu / Douyin / WeChat…

    1.7k GitHub stars~4.9k tokensUpdated 9 days ago
    Media & CreativeAuto-check passed
  • Hotclip

    xixihhhh/hotclip

    Turn long videos & livestream VODs into viral vertical shorts, 100% locally — on-device transcription, LLM highlight detection, 9:16 reframe with karaoke captions, and a per-clip render-QA report.

    310 GitHub stars~1.1k tokensUpdated 3 days ago
    Media & CreativeAuto-check passed

More from godot-fun/gai

All 36 skills in this repo
  • AI Text To Speech

    godot-fun/gai

    Zero-shot text-to-speech with voice cloning via IndexTTS2 (index-tts).

    184 GitHub stars~2k tokensUpdated today
    Auto-check passed
  • Audio Denoise

    godot-fun/gai

    Reduces background noise in a single audio file using FFmpeg afftdn.

    184 GitHub stars~465 tokensUpdated today
    Auto-check passed
  • Audio Fade

    godot-fun/gai

    Applies fade-in and fade-out at the start and end of a single audio file using FFmpeg.

    184 GitHub stars~652 tokensUpdated today
    Auto-check passed
  • Normalizes a single audio file to consistent LUFS loudness with true-peak limiting using FFmpeg.

    184 GitHub stars~684 tokensUpdated today
    Auto-check passed
  • Standardizes a single audio file to 44100 or 48000 Hz and exports 16-bit PCM WAV using FFmpeg.

    184 GitHub stars~638 tokensUpdated today
    Auto-check passed
  • Audio Split

    godot-fun/gai

    Splits a single audio file into two segments (part 1 before the split point, part 2 after) using FFmpeg.

    184 GitHub stars~554 tokensUpdated today
    Auto-check passed

Questions about Video Publish

What does Video Publish do?

From user materials, generates multi-platform video publish pack: Zhihu Chinese article, Reddit English post, 3 landscape + 3 portrait Google image-gen cover prompts, and title/description/tags for…. Video Publish is an agent skill from godot-fun/gai. From user materials, generates multi-platform video publish pack: Zhihu Chinese article, Reddit English post, 3 landscape + 3 portrait Google image-gen cover prompts, and title/description/tags for Bilibili, Douyin, Xiaohongshu, Weibo, YouTube, X, TikTok, Instagram — each in separate files, platform-native and click-worthy.

When should I use Video Publish?

Video Publish fits situations like: the user wants video-publish; video publishing; title/description/tags; zhihu/Reddit posts.

How do I install Video Publish in Claude Code?

Run `npx skills add godot-fun/gai --skill video-publish -a claude-code`. Or copy the skill folder (.agents/skills/video-publish in godot-fun/gai) into .claude/skills/video-publish in your project. Claude Code loads it when a task matches its description.

How do I install Video Publish in Codex?

Run `npx skills add godot-fun/gai --skill video-publish -a codex`. Or copy the skill folder (.agents/skills/video-publish in godot-fun/gai) into .agents/skills/video-publish in your project. Codex loads it when a task matches its description.

Can I use Video Publish in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add godot-fun/gai --skill video-publish -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/video-publish, .gemini/skills/video-publish, .github/skills/video-publish and .opencode/skills/video-publish in your project.

What does Video Publish need to run?

SKILL.md names no scripts, command-line tools or credentials: Video Publish is instructions for the agent only.

Does Video Publish access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Video Publish safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Video Publish use?

Video Publish is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Video Publish use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Video Publish?

Skills that share tags, products or a category with Video Publish: Social Cover Director (Jamailar/Beav, 1.8k stars), TikHub API Helper (liangdabiao/tikhub_api_skill, 129 stars), Last30days Cn (Jesseovo/last30days-skill-cn, 1.9k stars) and Sandbase (sandbaseai/cli, 188 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Video Publish?

godot-fun (a GitHub organization) maintains it in godot-fun/gai, which has 183 GitHub stars. The repository holds 36 skills in this directory. The repository was last updated on October 10, 2026.

Source: godot-fun/gai on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.