Agent skill

Libtv Video

by nexu-io in nexu-io/nexu

Seedance 2.0 video & image generation via LibTV Gateway - AI text-to-video, image-to-video, video continuation, style transfer, and text-to-image using Seedance 2.0 model.

MITAuto-check passedMedia & Creative

Install Libtv Video

skills CLI
$ npx skills add nexu-io/nexu --skill libtv-video -a claude-code

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

GitHub CLI
$ gh skill install nexu-io/nexu libtv-video --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/nexu-io/nexu.git skills-src && mkdir -p .claude/skills && cp -r skills-src/apps/desktop/static/bundled-skills/libtv-video .claude/skills/libtv-video && 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
libtv-video
GitHub stars
3.3k
Token cost
~3.5k tokens
SKILL.md length
1,646 words
Files
3 (incl. scripts)
Skills in repo
10
Repo updated
First seen
Licence
MIT

At a glance

Seedance 2.0 video & image generation via LibTV Gateway - AI text-to-video, image-to-video, video continuation, style transfer, and text-to-image using Seedance 2.0 model.

  • Works in 4 steps: Track Every Session Separately → Never Mix Sessions → Label Results Clearly → …
  • Phrases: seedance
  • SKILL.md covers Requirements, First-Time Setup, Pre-Generation Check (must run… and Core Principle: Relay, Don't…, plus 8 more sections
  • Runs Python scripts from its folder; calls python3; reaches seedance.nexu.io and im.liblib.tv

What it does

Libtv Video is an agent skill from nexu-io/nexu. Seedance 2.0 video & image generation via LibTV Gateway - AI text-to-video, image-to-video, video continuation, style transfer, and text-to-image using Seedance 2.0 model. Also supports Kling 3.0, Wan 2.6, Midjourney, Seedream 5.0. Trigger phrases: seedance, generate video, make a video, generate image, make an image, draw, libtv, liblib.

Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including scripts (for example `scripts/feishu_send_video.py` and `scripts/libtv_video.py`).

It sits in Media & Creative, covering AI video generation and Image generation. It works with Seedance, Midjourney, Feishu (Lark) and WeChat. The repository describes itself as: The simplest desktop client for OpenClaw 🦞 — bridge your Agent to WeChat, Feishu, Slack & Discord in one click. Works with Claude Code, Codex & any LLM. BYOK, Oauth… The licence is MIT.

When your agent uses it

  • Phrases: seedance
  • Tasks that involve AI video generation
  • Tasks that involve Image generation

Example prompts

  • “/libtv-video”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Track Every Session Separately
  2. Never Mix Sessions
  3. Label Results Clearly
  4. Handle Partial Completion

What it can do on your machine

Read from SKILL.md and the folder at commit dadfb1c. 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

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • seedance.nexu.io
    • im.liblib.tv
    • libtv-res.liblib.art

    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

Libtv Video loads about 3.5k tokens when it runs. Until then it costs about 88 tokens; SKILL.md has 1,646 words of instructions outside code blocks.

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

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); the scripts in this folder are not scanned.

SKILL.md

The full file from nexu-io/nexu at commit dadfb1c, republished under its MIT licence (© nexu-io). 1,646 words, ~3,499 tokens.

Download SKILL.mdSave it as .claude/skills/libtv-video/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
libtv-video
description
Seedance 2.0 video & image generation via LibTV Gateway - AI text-to-video, image-to-video, video continuation, style transfer, and text-to-image using Seedance 2.0 model. Also supports Kling 3.0, Wan 2.6, Midjourney, Seedream 5.0. Trigger phrases: seedance, generate video, make a video, generate image, make an image, draw, libtv, liblib.
catalog-name
LibTV - Image&Video(Seedance 2.0)
homepage
https://www.liblib.tv/

LibTV - Image & Video Generation (Seedance 2.0)

Generate AI images and videos through one bundled LibTV skill, powered by Seedance 2.0. Supports text-to-image, image-to-image, text-to-video, and image-to-video workflows, via both Nexu-managed Seedance execution and direct LibTV execution with a user-owned sk-libtv-... key.

Key routing:

  • mgk_... keys use Nexu-managed Seedance through https://seedance.nexu.io/
  • sk-libtv-... keys use direct LibTV OpenAPI through https://im.liblib.tv

Delivery architecture (currently Feishu only):

  • create-session captures OPENCLAW_CHANNEL_TYPE + OPENCLAW_CHAT_ID, persists them as the session's delivery block, forks a detached wait-and-deliver background process via subprocess.Popen(..., start_new_session=True), and returns immediately with a single-line JSON submit confirmation on stdout.
  • The forked waiter polls the upstream LibTV API (Seedance gateway or direct LibTV) and, on terminal success, shells out to feishu_send_video.py — the same proven helper used by medeo-video — which downloads each result URL, uploads it to Feishu's file API, and posts a native media message to the originating chat.
  • The waiter's output is captured in $NEXU_HOME/libtv-waiter-<id>.log for post-hoc debugging. A delivered_at timestamp is persisted when the Feishu helper reports success, so re-invoking wait-and-deliver on a delivered session is a safe no-op.

No sessions_spawn, no subagent model-speech contract, no HTTP notification callback, no stale routing fields. Delivery is a direct HTTP call using stable per-user identifiers (open_id / chat_id) that never go stale the way the old account_id did.

Multi-channel support is a follow-up: adding Discord / Slack / WeChat means dropping a new <channel>_send_video.py helper next to feishu_send_video.py and adding one branch in _deliver_results.

Requirements

  • Python 3.8+
  • apiKey configured in ~/.nexu/libtv.json
  • default videoRatio configured in ~/.nexu/libtv.json or implicit default 16:9
  • mgk_... keys target https://seedance.nexu.io/
  • sk-libtv-... keys target https://im.liblib.tv

First-Time Setup

If the user has not configured an API Key, guide them to:

  1. Choose the correct key type:
    • Nexu-managed key: mgk_...
    • personal LibTV key: sk-libtv-...
  2. Run: python3 scripts/libtv_video.py setup --api-key <your_key> --video-ratio 16:9
  3. Run: python3 scripts/libtv_video.py check to confirm the configuration is correct

To change only the default ratio later:

bash
python3 scripts/libtv_video.py update-ratio --video-ratio 9:16

Pre-Generation Check (must run before each generation)

  1. Run python3 scripts/libtv_video.py check
  2. Interpret the output:
    • "API Key not configured" → guide the user to contact the admin for a key, then run setup
    • Nexu-managed key valid with remaining uses → proceed with generation
    • direct LibTV key configured → proceed with generation
    • "Key expired / exhausted" → guide the user to contact the admin, run update-key
    • "Cannot connect to gateway" or "Cannot connect to direct LibTV API" → suggest checking network connectivity
  3. Only proceed with generation after check passes

Core Principle: Relay, Don't Create

You are a messenger, not a creator. The backend agent handles model selection, prompt engineering, and workflow orchestration. Your job is three things only:

  1. Upload: User provides a local file → upload to get OSS URL
  2. Relay: Pass the user's original description + OSS URL verbatim to create-session
  3. Collect: Poll for results → download → present to user

Never do these:

  • Don't rewrite, expand, translate, or embellish the user's prompt
  • Don't break tasks into multiple sessions (e.g. don't split "generate 9 storyboards" into 9 calls)
  • Don't add your own prompt engineering (e.g. "ultra-realistic, cinematic lighting, 8K")
  • Don't arrange shots, plan storylines, or analyze styles yourself

Video / Image Generation (async, non-blocking)

CRITICAL: always pass --channel and --chat-id

Before running create-session you must extract the originating channel and the user's stable identifier from the inbound message metadata block and pass them as CLI args. Without these the background waiter cannot deliver the finished video back to the user automatically; the user will have to ask for the result manually.

  • For Feishu: the inbound user message has an untrusted metadata JSON block containing sender_id. That value is the stable open_id (always starts with ou_). Pass it as --chat-id and pass --channel feishu.

Example extraction and invocation:

text
Conversation info (untrusted metadata):
{
  "message_id": "om_x100...",
  "sender_id": "ou_33314772052f837a3cb2f919aa4605de",
  ...
}

becomes:

bash
python3 scripts/libtv_video.py create-session "user's video description" \
  --channel feishu \
  --chat-id ou_33314772052f837a3cb2f919aa4605de

The stdout JSON returned by create-session includes a deliverable flag. If it is false, your --channel / --chat-id were missing and the user will have to ask you for the result later.

Text-Only Generation
bash
python3 scripts/libtv_video.py create-session "user's video description" \
  --channel feishu --chat-id <ou_xxx from inbound metadata>

Message rules:

  • Nexu-managed mgk_... mode appends the Seedance 2.0 hint unless the user already chose a model
  • direct sk-libtv-... mode follows the upstream relay discipline and does not add the Seedance model hint
  • both modes relay the configured video ratio, defaulting to 16:9
Image+Text Generation (image-to-video)
bash
# 1. Upload the image first
python3 scripts/libtv_video.py upload --file /path/to/image.png
# Output: url=https://libtv-res.liblib.art/...

# 2. Create session with the image URL in the message
python3 scripts/libtv_video.py create-session "user's description reference: {oss_url}"
Continue in Existing Session
bash
python3 scripts/libtv_video.py create-session "new description" \
  --session-id SESSION_ID \
  --channel feishu --chat-id <ou_xxx from inbound metadata>
After Submission
  1. create-session returns immediately without blocking and prints a single-line JSON {"status":"submitted", "sessionId", "projectUuid", "projectUrl", "channel", "deliverable", "note"} to stdout.
  2. Reply to the user immediately using the note field as a hint: "Your video task has been submitted and is now generating. I'll notify you when it finishes."
  3. Do not wait — resume normal conversation.
  4. Under the hood, create-session has forked a detached wait-and-deliver background process that polls the upstream API for you.
  5. When the job finishes, the background waiter delivers each result URL as a native video message directly to the originating Feishu chat via feishu_send_video.py. You do not need to speak the result yourself.
  6. If deliverable is false (no channel context captured), the user will need to ask for the result explicitly via query-session or recover.

When the User Asks "Is my video ready?"

  1. Run python3 scripts/libtv_video.py query-session SESSION_ID
    • If you don't remember the session_id, run python3 scripts/libtv_video.py recover to see all sessions
  2. Reply based on the output:
    • Result URLs found → send the video/image links directly to the user
    • No results yet → "Your video is still being generated, please wait a moment"
    • Error or timeout → relay the error message and suggest retrying

Session Recovery (after memory loss / agent restart)

If you don't remember whether a video was previously generated:

  1. Run python3 scripts/libtv_video.py recover
  2. It reads historical sessions from the local persistence file and queries the correct backend for latest status
  3. Completed sessions → send the result URLs to the user directly
  4. Still in progress → inform the user it's still generating and keep the periodic heartbeat schedule

Presenting Results

When generation completes, show both:

  • Result links (video/image URLs)
  • Project canvas link (projectUrl)

Do NOT show the project canvas link while generation is in progress.

Show full SKILL.md (662 more words)Show less
URL Rules

The valid result URL prefixes are:

  • https://libtv-res.liblib.art/sd-gen-save-img/
  • https://libtv-res.liblib.art/claw/

Any other domain (for example medeo-res.liblib.art) is not a final result URL and must be ignored.

Always present the URL exactly as extracted by the script. Do not:

  • Rewrite or transform URLs
  • Use proxy/cache domain URLs as results
  • Fabricate URLs by guessing paths

The extract_result_urls() function in the script extracts only valid libtv-res.liblib.art result URLs. Trust its output.

Multi-Session Discipline (CRITICAL)

When running multiple video generations concurrently, you MUST follow these rules strictly:

1. Track Every Session Separately

Maintain a clear mapping for each generation request:

  • User request (what the user asked for, e.g. "scene 1: palace", "scene 2: garden")
  • Session ID (returned by create-session)
  • Project UUID (returned by create-session)
2. Never Mix Sessions

Before presenting results, always verify:

  • The result URLs came from the correct session ID for that specific request
  • Do NOT copy-paste URLs from one session's output into another session's reply
3. Label Results Clearly

When presenting results from multiple concurrent sessions, always label which result belongs to which request:

Scene 1 (palace): [video URL from session A]
Scene 2 (garden): [video URL from session B]
4. Handle Partial Completion

If some sessions complete before others:

  • Present completed results immediately, clearly labeled
  • Note which sessions are still in progress
  • Do NOT hold all results until every session finishes

Error Handling

When any command returns an error:

  1. Read the message after "❌" in the output and relay it to the user as-is
  2. Do not fabricate or translate error messages
  3. Provide action suggestions based on the error type:
Error keyword seenSuggested action
"Invalid API Key"Run check, contact admin to confirm key
"Free trial uses exhausted"Contact admin for a new key
"Key expired"Contact admin for a new key, run update-key
"Service temporarily unavailable"Wait a few minutes and retry
"File too large"Suggest the user send a smaller file (max 200MB)
"Unsupported file type"Only image and video files are supported
"Cannot connect to gateway"Check network connectivity

Mandatory Guard Checklist

This skill has a hard anti-hallucination rule. The model must verify each step before it can describe that step as successful.

Submit step checks:

  • confirm ~/.nexu/libtv.json exists and contains a non-empty apiKey
  • confirm the key starts with either mgk_ or sk-libtv-
  • confirm mgk_... keys target https://seedance.nexu.io/ unless a deliberate local test override is set
  • confirm sk-libtv-... keys target https://im.liblib.tv unless a deliberate local test override is set
  • never route a personal sk-libtv-... key through the Nexu Seedance gateway
  • confirm the effective video ratio is set, defaulting to 16:9
  • confirm create-session returns a real sessionId
  • confirm create-session returns a real projectUuid
  • confirm the accepted session was persisted locally with matching session_id, project_uuid, status=submitted
  • after submit, use the note field from create-session stdout to acknowledge the submission to the user

Background delivery checks (handled by the detached waiter, not by the model):

  • confirm success only when at least one result URL is extracted from the valid LibTV result domain
  • the waiter persists delivered_at after feishu_send_video.py returns success; re-running wait-and-deliver on a delivered session is a safe no-op
  • if feishu_send_video.py fails, the error is logged to $NEXU_HOME/libtv-waiter-<session-id>.log; the result URLs remain persisted locally so the user can ask query-session to retrieve them
  • if terminal polling times out, the session's status is set to timeout; the user will have to ask later via query-session or recover

Output rule:

  • If any guard check fails, stop and return the explicit guard-check error
  • Never claim a video is ready until the terminal success checks have passed
  • Never invent session ids, project ids, URLs, or completion state

Command Reference

ScenarioCommandBlocking?
First-time setup`setup --api-key <mgk_xxxsk-libtv_xxx>`
Check statuscheckNo
Update key`update-key --api-key <mgk_xxxsk-libtv_xxx>`
Update ratioupdate-ratio --video-ratio 9:16No
Remove keyremove-keyNo
Upload fileupload --file /path/to/fileNo
Create session / send messagecreate-session "description"No
Query sessionquery-session SESSION_IDNo
Download resultsdownload-results SESSION_IDNo
Wait and deliverwait-and-deliver --session-id ID --project-id UUIDYes
List all taskstasksNo
Recover sessionsrecoverNo
Change projectchange-projectNo

Script path for all commands: scripts/libtv_video.py

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

Files

SKILL.md and 2 other files (scripts) in apps/desktop/static/bundled-skills/libtv-video of nexu-io/nexu.

  • SKILL.md
  • scripts/feishu_send_video.py
  • scripts/libtv_video.py

Open the folder on GitHubat commit dadfb1c

Compare with similar skills

Libtv Video 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.

Libtv Video compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Libtv Video this skillnexu-io/nexu3.3k—~3.5kAutomated safety check: PassMIT
Seedance Storyboard in Shanghai Animation Styleliangdabiao/smy-seedance-storyboard138—~3kAutomated safety check: PassNone
Use Avibeavibe-bot/avibe622—~2.5kAutomated safety check: PassMIT
Seedance Storyboard Generatorliangdabiao/Seedance2-Storyboard-Generator2.6k—~2.2kAutomated safety check: PassNone
Imagesmixs/visual-skills494—~2.1kAutomated safety check: PassCC-BY-4.0
HiggsfieldOSideMedia/higgsfield-ai-prompt-skill713—~9.1kAutomated safety check: PassMIT

Similar skills

  • Seedance Storyboard in Shanghai Animation Style

    liangdabiao/smy-seedance-storyboard

    Turns a story, novel or myth into a retro hand-drawn animation style short-drama script, episode breakdown, asset prompts and Seedance 2.0 storyboard prompts.

    138 GitHub stars~3k tokensUpdated 2 days ago
    Media & CreativeAuto-check passed
  • Use Avibe

    avibe-bot/avibe

    Safely inspect and modify local Avibe configuration, routing, runtime settings, watches, scheduled tasks, Avibe Cloud remote access, and operational state.

    622 GitHub stars~2.5k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Seedance Storyboard Generator

    liangdabiao/Seedance2-Storyboard-Generator

    专业的Seedance 2.0平台AI视频脚本和分镜生成器。当用户要求:(1) 将文章/故事转换为视频脚本,(2) 生成Seedance 2.0分镜提示词,(3) 规划多集AI视频系列,(4) 为GPT-Image-2、Seedream、Nano Banana…

    2.6k GitHub stars~2.2k tokensUpdated 19 days ago
    Media & CreativeAuto-check passed
  • Image

    smixs/visual-skills

    Image prompting skill for Nano Banana (NBP/NB2) and GPT Image 2.5 (Flare/Sunburst).

    494 GitHub stars~2.1k tokensUpdated 24 days ago
    Media & CreativeAuto-check passed
  • Higgsfield

    OSideMedia/higgsfield-ai-prompt-skill

    A skill your agent uses whenever the user asks anything about Higgsfield AI — writing or refining video/image prompts, choosing a model (Kling, Veo, Wan, Seedance, Minimax Hailuo, DoP, Soul, Nano…

    713 GitHub stars~9.1k tokensUpdated 13 days ago
    Media & CreativeAuto-check passed
  • Nbcraft

    jieyefriic/nbcraft

    Multi-backend Image + Video Generation CLI (nb command). An agent skill from jieyefriic/nbcraft.

    155 GitHub stars~2.8k tokensUpdated 5 mo ago
    Media & CreativeAuto-check passed

More from nexu-io/nexu

All 10 skills in this repo
  • Nano Banana

    nexu-io/nexu

    Generate or edit images via Nano Banana image models. An agent skill from nexu-io/nexu.

    3.3k GitHub stars~757 tokensUpdated 5 mo ago
    Auto-check passed
  • All-in-one image generation with Gemini models. An agent skill from nexu-io/nexu.

    3.3k GitHub stars~870 tokensUpdated 5 mo ago
    Auto-check passed
  • 一句话生成大师级海报、书籍封面、专辑封面和各类设计作品。无需懂PS、配色或艺术史,AI自动选择最佳风格(基于33+位传奇设计师)。支持多平台多比例:公众号封面(21:9)、小红书配图(3:4)、文章配图(16:9)、书籍封面(9:16)、专辑封面(1:1)、电影海报(9:16)。包含AI提示词优化、风格对比、图生图转换功能。触发词:"Mondo风格"、"书籍封面设计"、"专辑封面"、"海报设计"…

    3.3k GitHub starsUsed in 1 repo~4.1k tokens
    Auto-check passed
  • Static Deploy

    nexu-io/nexu

    Deploy static pages to nexu.space. An agent skill from nexu-io/nexu.

    3.3k GitHub stars~989 tokensUpdated 5 mo ago
    Auto-check passed
  • Nexu E2E Test

    nexu-io/nexu

    A skill your agent uses when verifying OpenClaw gateway fixes end-to-end, testing skill loading after restart, or running integration tests against the local Nexu+OpenClaw stack.

    3.3k GitHub stars~1.7k tokensUpdated 5 mo ago
    Auto-check passed
  • Process PR Reviews

    nexu-io/nexu

    A skill your agent uses when the user asks to process, triage, fetch, view, count, list, or resolve review feedback in a GitHub PR.

    3.3k GitHub stars~2.5k tokensUpdated 5 mo ago
    Auto-check passed

Questions about Libtv Video

What does Libtv Video do?

Seedance 2.0 video & image generation via LibTV Gateway - AI text-to-video, image-to-video, video continuation, style transfer, and text-to-image using Seedance 2.0 model. Libtv Video is an agent skill from nexu-io/nexu.0 model.

When should I use Libtv Video?

Libtv Video fits situations like: phrases: seedance; tasks that involve AI video generation; tasks that involve Image generation.

How do I install Libtv Video in Claude Code?

Run `npx skills add nexu-io/nexu --skill libtv-video -a claude-code`. Or copy the skill folder (apps/desktop/static/bundled-skills/libtv-video in nexu-io/nexu) into .claude/skills/libtv-video in your project. Claude Code loads it when a task matches its description.

How do I install Libtv Video in Codex?

Run `npx skills add nexu-io/nexu --skill libtv-video -a codex`. Or copy the skill folder (apps/desktop/static/bundled-skills/libtv-video in nexu-io/nexu) into .agents/skills/libtv-video in your project. Codex loads it when a task matches its description.

Can I use Libtv Video 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 nexu-io/nexu --skill libtv-video -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/libtv-video, .gemini/skills/libtv-video, .github/skills/libtv-video and .opencode/skills/libtv-video in your project.

What does Libtv Video need to run?

Going by SKILL.md and its folder, Libtv Video needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Libtv Video access the network?

SKILL.md names 3 domains. In commands or code: seedance.nexu.io, im.liblib.tv and libtv-res.liblib.art; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Libtv Video 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Libtv Video use?

Libtv Video 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 Libtv Video use?

About 3.5k tokens (SKILL.md is roughly 14k 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 Libtv Video?

Skills that share tags, products or a category with Libtv Video: Seedance Storyboard in Shanghai Animation Style (liangdabiao/smy-seedance-storyboard, 138 stars), Use Avibe (avibe-bot/avibe, 622 stars), Seedance Storyboard Generator (liangdabiao/Seedance2-Storyboard-Generator, 2.6k stars) and Image (smixs/visual-skills, 494 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Libtv Video?

nexu-io (a GitHub organization) maintains it in nexu-io/nexu, which has 3,284 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on April 26, 2026.

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