Social Cover Director
Jamailar/Beav
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…
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…
$ npx skills add godot-fun/gai --skill video-publish -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install godot-fun/gai video-publish --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "video-publish" agent skill from https://github.com/godot-fun/gai/tree/main/.agents/skills/video-publish into .claude/skills/video-publish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-publish", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/godot-fun/gai/tree/main/.agents/skills/video-publishType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add godot-fun/gai --skill video-publish -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install godot-fun/gai video-publish --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/godot-fun/gai.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/video-publish .agents/skills/video-publish && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "video-publish" agent skill from https://github.com/godot-fun/gai/tree/main/.agents/skills/video-publish into .agents/skills/video-publish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-publish", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add godot-fun/gai --skill video-publish -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install godot-fun/gai video-publish --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/godot-fun/gai.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/video-publish .cursor/skills/video-publish && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "video-publish" agent skill from https://github.com/godot-fun/gai/tree/main/.agents/skills/video-publish into .cursor/skills/video-publish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-publish", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/godot-fun/gai.git --path .agents/skills/video-publish--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add godot-fun/gai --skill video-publish -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install godot-fun/gai video-publish --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/godot-fun/gai.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/video-publish .gemini/skills/video-publish && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "video-publish" agent skill from https://github.com/godot-fun/gai/tree/main/.agents/skills/video-publish into .gemini/skills/video-publish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-publish", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install godot-fun/gai video-publishInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add godot-fun/gai --skill video-publish -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/godot-fun/gai.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/video-publish .github/skills/video-publish && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "video-publish" agent skill from https://github.com/godot-fun/gai/tree/main/.agents/skills/video-publish into .github/skills/video-publish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-publish", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add godot-fun/gai --skill video-publish -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install godot-fun/gai video-publish --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/godot-fun/gai.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/video-publish .opencode/skills/video-publish && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "video-publish" agent skill from https://github.com/godot-fun/gai/tree/main/.agents/skills/video-publish into .opencode/skills/video-publish/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-publish", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
video-publishFrom 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. 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.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 6394686. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from godot-fun/gai at commit 6394686, republished under its MIT licence (© godot-fun). 1,158 words, ~2,574 tokens.
.claude/skills/video-publish/SKILL.md (or your agent's skills folder).From user materials only, produce a full publish pack and write files (do not only print in chat).
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.
| Mode | Write files to |
|---|---|
| User provides an input file | That file’s parent directory |
| No input file | Project root |
Always overwrite these filenames in the output directory (create if missing).
| File | Content |
|---|---|
zhihu.md | 1 Chinese Zhihu article |
reddit.md | 1 English Reddit post |
covers-landscape.md | 3 landscape Google image-gen prompts |
covers-portrait.md | 3 portrait Google image-gen prompts |
platforms.md | Title / 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.
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):
``` with no languageEye-catching first; still native to each platform — not the same paragraph pasted everywhere.
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)
## sectionsCode from the user (required when present)
gdscript, python, cpp, …)Zhihu (zhihu.md) — Chinese, normal Markdown article
# title as H1; body with ## / ### subheads, lists, and code fences as neededReddit (reddit.md) — English, normal Markdown post
# title as H1; body as readable prose (not one giant fence)## Suggested subreddits (2–5 as a normal list)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
aspect ratio 16:9, no watermarks, no logos unless in materialscovers-portrait.md — 3 variants, 9:16 short-video cover
aspect ratio 9:16, no watermarks, no logos unless in materialsEach file format:
# 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.
platforms.md)Generate all eight. Each section: Title, Description, Tags — each in its own fence.
| Platform | Language | Style notes |
|---|---|---|
| Bilibili | Chinese | Searchable title; description with highlights / chapters if known |
| Douyin | Chinese | Ultra-short hook title; first desc line = scroll-stopper |
| Xiaohongshu | Chinese | Title + emoji OK; lifestyle/note tone |
| Chinese | Short punchy; @/topic friendly; desc can double as post body | |
| YouTube | English | SEO title (~≤100 chars ideal); description with hook + value + CTA |
| X | English | Punchy post-length energy; desc ≈ post text if needed |
| TikTok | English | Caption-first hook; keep title/caption tight |
| English | Reels/caption tone; line breaks in description |
Do not use one universal tag format. The Tags fence must match how that platform expects paste-in.
| Platform | Format inside Tags fence | Count / notes |
|---|---|---|
| Bilibili | Plain 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 |
#topic# space-separated (opening and closing #) | ~3–6; keep short; trending-friendly; do not use long sentences as topics | |
| YouTube | Comma-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) |
#hashtag space-separated, with # | ~8–15; paste into Tags or first comment; mix broad + specific |
Shared tag quality:
platforms.md structure:
# 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).
(assumption: …) once in chat, not inside every fileInput: 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.
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
Just SKILL.md in .agents/skills/video-publish of godot-fun/gai.
Open the folder on GitHubat commit 6394686
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Video Publish this skillgodot-fun/gai | 183 | — | ~2.6k | Automated safety check: Pass | MIT | |
| Social Cover DirectorJamailar/Beav | 1.8k | — | ~1.7k | Automated safety check: Warn | Custom licence | |
| TikHub API Helperliangdabiao/tikhub_api_skill | 129 | — | ~1.5k | Automated safety check: Pass | None | |
| Last30days CnJesseovo/last30days-skill-cn | 1.9k | — | ~2.4k | Automated safety check: Notes | MIT | |
| Sandbasesandbaseai/cli | 188 | — | ~3.1k | Automated safety check: Pass | Apache-2.0 | |
| Video Podcast MakerAgents365-ai/video-podcast-maker | 1.7k | — | ~4.9k | Automated safety check: Pass | MIT |
Jamailar/Beav
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…
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.
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…
sandbaseai/cli
Discover better ways to complete tasks. An agent skill from sandbaseai/cli.
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…
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.
godot-fun/gai
Zero-shot text-to-speech with voice cloning via IndexTTS2 (index-tts).
godot-fun/gai
Reduces background noise in a single audio file using FFmpeg afftdn.
godot-fun/gai
Applies fade-in and fade-out at the start and end of a single audio file using FFmpeg.
godot-fun/gai
Normalizes a single audio file to consistent LUFS loudness with true-peak limiting using FFmpeg.
godot-fun/gai
Standardizes a single audio file to 44100 or 48000 Hz and exports 16-bit PCM WAV using FFmpeg.
godot-fun/gai
Splits a single audio file into two segments (part 1 before the split point, part 2 after) using FFmpeg.
Categories
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.
Video Publish fits situations like: the user wants video-publish; video publishing; title/description/tags; zhihu/Reddit posts.
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.
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.
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.
SKILL.md names no scripts, command-line tools or credentials: Video Publish is instructions for the agent only.
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.
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.
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.
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.
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.
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.