#760 by GitHub stars
libtv-labs/libtv-skills
agent-im 会话技能 - 通过 liblib.tv 的 AI 能力生成和编辑图片/视频。覆盖场景包括:生成(文生图、文生视频、图生视频、做动画、画一个xxx、来段xxx)、编辑修改(把xxx换成yyy、去掉xxx、加上xxx、改成xxx、调整xxx、局部修改、改镜头)、风格转换(风格迁移、转绘、换风格)、视频续写延长、复刻视频/TVC/宣传片、短剧/短漫剧生成、音乐MV生成、产品广告/展示片制作、分镜/故事板设计、教育视频/短视频制作。当用户提到 liblib、libtv、上传参考图/视频、查看生成进度时也应触发。关键判断:只要用户的请求涉及 AI 图片或视频的创作、生成、编辑、修改,无
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
skills/libtv-skill/SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
c609246c1eca → c609246c1eca
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → c609246c1eca
No earlier version was observed for comparison.
Heat
5.6- Star growth, last 7 daysAhead of 86% of tracked repositories
- Star growth, last 24 hoursAhead of 94% of tracked repositories
- Rank movement, last 7 daysAhead of 33% of tracked repositories
- Commits, last 30 daysAhead of 0% of tracked repositories
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekAhead of 0% of tracked repositories
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
Individual skills in this repository
- libtv-skill
skills/libtv-skill
How it works
libtv-skill
When your agent uses it
agent-im 会话技能 - 通过 liblib.tv 的 AI 能力生成和编辑图片/视频。覆盖场景包括:生成(文生图、文生视频、图生视频、做动画、画一个xxx、来段xxx)、编辑修改(把xxx换成yyy、去掉xxx、加上xxx、改成xxx、调整xxx、局部修改、改镜头)、风格转换(风格迁移、转绘、换风格)、视频续写延长、复刻视频/TVC/宣传片、短剧/短漫剧生成、音乐MV生成、产品广告/展示片制作、分镜/故事板设计、教育视频/短视频制作。当用户提到 liblib、libtv、上传参考图/视频、查看生成进度时也应触发。关键判断:只要用户的请求涉及 AI 图片或视频的创作、生成、编辑、修改,无论措辞如何(如"画只猫"、"做个海报"、"把纸船换成爱心"、"这个视频帮我改一下"、"帮我复刻这段视频"、"用这首歌做个MV"、"一句话生成短剧"),都必须触发此技能。
What it loads into context
Frontmatter
346 tokensAlways available to the agent
SKILL.md
3,232 tokensWhen the skill is activated
Reference documents
0 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- 功能
- 前置要求
- 使用方法
- 典型工作流
- 输出格式
- 最终向用户展示时(OpenClaw)
- 核心原则:用户侧不做创作,只做传话
- 注意事项
Scripts executed separately
scripts/_common.pyscripts/change_project.pyscripts/create_session.pyscripts/download_results.pyscripts/query_session.pyscripts/upload_file.py
Files
SKILL.mdcore11,469 bytesSKILL.mdcore11,469 bytesSKILL.mdcore11,469 bytesSKILL.mdcore11,469 bytesSKILL.mdcore11,469 bytesSKILL.mdcore11,469 bytesSKILL.mdcore11,469 bytesSKILL.mdcore11,469 bytesSKILL.mdcore11,469 bytesSKILL.mdcore11,469 bytesSKILL.mdcore11,469 bytesSKILL.mdcore11,469 bytesSKILL.mdcore11,469 bytesSKILL.mdcore11,469 bytesSKILL.mdcore11,469 bytesSKILL.mdcore11,469 bytesSKILL.mdcore11,469 bytesSKILL.mdcore11,469 bytesSKILL.mdcore11,469 bytesSKILL.mdcore11,469 bytesscripts/_common.pyruns3,294 bytesscripts/change_project.pyruns680 bytesscripts/create_session.pyruns1,914 bytesscripts/download_results.pyruns5,215 bytesscripts/query_session.pyruns1,667 bytesscripts/upload_file.pyruns3,521 bytes
Read SKILL.md
# agent-im 会话(生图 / 生视频)
通过 agent-im 的 OpenAPI 创建会话、发送消息(生图、生视频、编辑视频等)、上传图片/视频文件,并查询会话消息进展。
LibTV 是 LiblibAI 推出的 AI 视频创作平台,同时为人类创作者和 Agent 设计。Agent 通过 Skill 入口理解任务、调用模型并自动编排工作流。
**平台核心能力:**
- **生成**:文生图、文生视频、图生视频、视频续写
- **编辑**:局部修改、元素替换、镜头调整、风格迁移
- **复杂创作**:一句话生成完整短剧(剧本→分镜→成片)、复刻已有视频风格做 TVC/宣传片、用音乐生成 MV、产品展示片制作
- **模型**:Seedance 2.0、Kling 3.0/O3、Wan 2.6、NanoBanana、Midjourney、Seedream 5.0 等顶级模型
用户的所有创作和编辑需求都通过发送自然语言消息来完成,Agent 会自主编排工作流。复杂任务(短剧、MV)耗时较长,需耐心轮询。
View the complete source on GitHubSkills included
- libtv-skill
Repository facts
- License
- MIT
- Created
- Mar 16, 2026
- Last pushed
- Mar 18, 2026
- Forks
- 122
- Open issues
- 9
- Project activity
- Slowing
Rank over the last 12 weeks
Now #760 · best #572 · down 83 in 30 days
- #747 on Nov 1
- #750 on Nov 2
- #758 on Nov 3
- #757 from Nov 4 to Nov 5
- #755 on Nov 6
- #760 since Nov 7
73 earlier periods
- #558 on Aug 2
- #547 on Aug 8
- #553 on Aug 9
- #578 on Aug 10
- #579 on Aug 11
- #573 on Aug 12
- #577 on Aug 13
- #575 on Aug 14
- #559 on Aug 15
- #574 on Aug 16
- #577 on Aug 17
- #590 on Aug 18
- #581 from Aug 19 to Aug 20
- #588 on Aug 21
- #597 on Aug 23
- #596 on Aug 24
- #609 on Aug 25
- #594 on Aug 26
- #602 on Aug 27
- #613 on Aug 28
- #572 from Aug 29 to Aug 30
- #594 on Aug 31
- #608 on Sep 1
- #596 on Sep 2
- #599 on Sep 3
- #582 on Sep 4
- #592 on Sep 6
- #598 on Sep 7
- #615 on Sep 8
- #604 on Sep 9
- #607 on Sep 10
- #597 on Sep 11
- #599 on Sep 12
- #594 on Sep 13
- #615 on Sep 14
- #610 on Sep 15
- #623 on Sep 16
- #621 on Sep 17
- #623 on Sep 18
- #599 on Sep 19
- #611 on Sep 20
- #621 on Sep 21
- #637 on Sep 22
- #634 on Sep 23
- #605 from Sep 25 to Sep 26
- #627 on Sep 27
- #631 on Sep 28
- #662 on Sep 29
- #642 on Sep 30
- #620 on Oct 1
- #609 on Oct 3
- #629 on Oct 4
- #640 on Oct 6
- #646 on Oct 7
- #677 on Oct 8
- #658 on Oct 9
- #645 on Oct 10
- #643 on Oct 11
- #664 on Oct 12
- #658 on Oct 13
- #671 on Oct 14
- #659 on Oct 15
- #640 on Oct 18
- #673 on Oct 19
- #682 on Oct 20
- #685 on Oct 21
- #665 from Oct 22 to Oct 23
- #646 on Oct 24
- #732 on Oct 25
- #741 on Oct 28
- #742 on Oct 29
- #744 on Oct 30
- #748 on Oct 31
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 3, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 19 notes
skills/libtv-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/libtv-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/libtv-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/libtv-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/libtv-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/libtv-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/libtv-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/libtv-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/libtv-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/libtv-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/libtv-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/libtv-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/libtv-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/libtv-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/libtv-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/libtv-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/libtv-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/libtv-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedskills/libtv-skill/SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- 1 broad permissionin 1 file: libtv-skill/SKILL.md:1
- No dangerous shell commands
- 48 network referencesin 6 files: libtv-skill/SKILL.md:48 libtv-skill/scripts/_common.py:10 libtv-skill/scripts/upload_file.py:62 and 3 more
- No hidden or obfuscated text
- No instruction overrides
- 6 executable scriptsin 6 files: libtv-skill/scripts/_common.py:1 libtv-skill/scripts/change_project.py:1 libtv-skill/scripts/create_session.py:1 and 3 more
- 4 references to secretsin 2 files: libtv-skill/SKILL.md:13 libtv-skill/scripts/_common.py:10
- No requests to vote in Hot
Show all 59 signals by file
skills/libtv-skill/SKILL.md
- Broad permissionsline 1
Unsupported or unresolved allowed-tools declaration - Access to secretsline 13
[Credential-related source omitted] - Access to secretsline 45
[Credential-related source omitted] - Network accessline 48
可选:`OPENAPI_IM_BASE` 或 `IM_BASE_URL`,默认 `https://im.liblib.tv`。 - Network accessline 171
"projectUuid": "aa3ba04c5044477cb7a00a9e5bf3b4d0", "sessionId": "90f05e0c-...", "projectUrl": "https://www.liblib.tv/canvas?projectId=aa3ba04c5044477cb7a00a9e5bf3b4d0" - Network accessline 172
"sessionId": "90f05e0c-...", "projectUrl": "https://www.liblib.tv/canvas?projectId=aa3ba04c5044477cb7a00a9e5bf3b4d0" } - Network accessline 173
"projectUrl": "https://www.liblib.tv/canvas?projectId=aa3ba04c5044477cb7a00a9e5bf3b4d0" - Network accessline 182
{"id": "msg-yyy", "role": "assistant", "content": "..."} ], "projectUrl": "https://www.liblib.tv/canvas?projectId=..." - Network accessline 183
], "projectUrl": "https://www.liblib.tv/canvas?projectId=..." } - Network accessline 184
"projectUrl": "https://www.liblib.tv/canvas?projectId=..." - Network accessline 191
{ "projectUuid": "新项目UUID", "projectUrl": "https://www.liblib.tv/canvas?projectId=新项目UUID" - Network accessline 192
"projectUuid": "新项目UUID", "projectUrl": "https://www.liblib.tv/canvas?projectId=新项目UUID" } - Network accessline 193
"projectUrl": "https://www.liblib.tv/canvas?projectId=新项目UUID" - Network accessline 199
{ "url": "https://libtv-res.liblib.art/claw/{projectUuid}/{uuid}.png" - Network accessline 200
"url": "https://libtv-res.liblib.art/claw/{projectUuid}/{uuid}.png" - Network accessline 215
- **视频地址**:来自 `query_session` 返回的 `messages` 中 assistant 消息的 content 或结果里的视频/图片 URL,即「返回的结果」。 - **项目地址**:使用 `create_session` 返回的 `projectUrl`,或自行拼接 `https://www.liblib.tv/canvas?projectId=` + `projectUuid`。查询进展时若传入 `--project-id PROJECT_UUI - Network accessline 216
- **项目地址**:使用 `create_session` 返回的 `projectUrl`,或自行拼接 `https://www.liblib.tv/canvas?projectId=` + `projectUuid`。查询进展时若传入 `--project-id PROJECT_UUID`,`query_session` 会直接返回 `projectUrl`,便于一并展示。 - Network accessline 257
- 创建会话时若不传 `message`,仅创建/绑定会话,不会调用 SendMessage - 查询会话时可用 `--after-seq` 做增量拉取,便于轮询新消息(含 assistant 回复与生图/生视频结果) - 项目画布地址固定为:`https://www.liblib.tv/canvas?projectId=` + projectUuid - Network accessline 258
- 查询会话时可用 `--after-seq` 做增量拉取,便于轮询新消息(含 assistant 回复与生图/生视频结果) - 项目画布地址固定为:`https://www.liblib.tv/canvas?projectId=` + projectUuid - 切换项目后,Redis 缓存会更新,下次 create_session 将使用新的 projectUuid - Network accessline 259
- 项目画布地址固定为:`https://www.liblib.tv/canvas?projectId=` + projectUuid - Network accessline 260
- 切换项目后,Redis 缓存会更新,下次 create_session 将使用新的 projectUuid - 上传文件仅支持图片(image/*)和视频(video/*)类型,其他类型会被拒绝,文件大小须在 200MB 以下 - 上传返回的 OSS 地址格式为 `https://libtv-res.liblib.art/claw/{projectUuid}/{uuid}{ext}` - Network accessline 261
- 上传文件仅支持图片(image/*)和视频(video/*)类型,其他类型会被拒绝,文件大小须在 200MB 以下 - 上传返回的 OSS 地址格式为 `https://libtv-res.liblib.art/claw/{projectUuid}/{uuid}{ext}` - 生成过程中只告知用户"正在生成中",不要提前给出 projectUrl;任务完成后再同时给出:**结果链接(图片/视频 URL)** + **项目画布链接(projectUrl)** - Network accessline 262
- 上传返回的 OSS 地址格式为 `https://libtv-res.liblib.art/claw/{projectUuid}/{uuid}{ext}`
skills/libtv-skill/scripts/_common.py
- Executable scriptline 1
[Credential-related source omitted] - Network accessline 10
[Credential-related source omitted] - Access to secretsline 10
[Credential-related source omitted] - Access to secretsline 11
[Credential-related source omitted] - Network accessline 14
PROJECT_CANVAS_BASE = "https://www.liblib.tv/canvas?projectId=" - Network accessline 37
url = f"{IM_BASE.rstrip('/')}{path}" data = json.dumps(body).encode("utf-8") req = urllib.request.Request( - Network accessline 38
data = json.dumps(body).encode("utf-8") req = urllib.request.Request( url, - Network accessline 39
req = urllib.request.Request( - Network accessline 44
) try: with urllib.request.urlopen(req, timeout=30) as resp: - Network accessline 45
try: with urllib.request.urlopen(req, timeout=30) as resp: return json.loads(resp.read().decode("utf-8")) - Network accessline 46
with urllib.request.urlopen(req, timeout=30) as resp: - Network accessline 59
url = f"{IM_BASE.rstrip('/')}{path}" req = urllib.request.Request(url, method="GET", headers=_headers()) - Network accessline 60
req = urllib.request.Request(url, method="GET", headers=_headers()) - Network accessline 61
try: with urllib.request.urlopen(req, timeout=30) as resp: return json.loads(resp.read().decode("utf-8")) - Network accessline 62
with urllib.request.urlopen(req, timeout=30) as resp:
skills/libtv-skill/scripts/change_project.py
- Executable scriptline 1
#!/usr/bin/env python3
skills/libtv-skill/scripts/create_session.py
skills/libtv-skill/scripts/download_results.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 19
urls = [] url_pattern = re.compile(r'https://libtv-res\.liblib\.art/[^\s"\'<>]+\.(?:png|jpg|jpeg|webp|mp4|mov|webm)') - Network accessline 20
url_pattern = re.compile(r'https://libtv-res\.liblib\.art/[^\s"\'<>]+\.(?:png|jpg|jpeg|webp|mp4|mov|webm)') - Network accessline 60
req = urllib.request.Request(url, headers={"User-Agent": "LibTV-Skill/1.0"}) - Network accessline 61
try: with urllib.request.urlopen(req, timeout=60) as resp: with open(filepath, "wb") as f: - Network accessline 62
with urllib.request.urlopen(req, timeout=60) as resp:
skills/libtv-skill/scripts/query_session.py
skills/libtv-skill/scripts/upload_file.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 62
url = f"{IM_BASE.rstrip('/')}/openapi/upload" req = urllib.request.Request( - Network accessline 63
req = urllib.request.Request( - Network accessline 71
) try: with urllib.request.urlopen(req, timeout=120) as resp: - Network accessline 72
try: with urllib.request.urlopen(req, timeout=120) as resp: result = json.loads(resp.read().decode("utf-8")) - Network accessline 73
with urllib.request.urlopen(req, timeout=120) as resp: - Network accessline 89
环境变量: LIBTV_ACCESS_KEY 必填,Bearer 鉴权 OPENAPI_IM_BASE 或 IM_BASE_URL 可选,默认 https://im.liblib.tv - Network accessline 91
OPENAPI_IM_BASE 或 IM_BASE_URL 可选,默认 https://im.liblib.tv
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Signal confidence: 1 fact
- Access to secrets in code of the SKILL.mdlibtv-skill/SKILL.md:45High confidence
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Frontmatter field user-invocable in skills/libtv-skill/SKILL.md | .claude/skills/<skill-name>/ |
| Codex | Compatible | Standard SKILL.md skills/libtv-skill/SKILL.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md skills/libtv-skill/SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Compatible | Standard SKILL.md skills/libtv-skill/SKILL.md | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md skills/libtv-skill/SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md skills/libtv-skill/SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.
Explore alternatives and comparisons
Add this badge to your README
It updates every night and links to this page.
[](https://hotskills.dev/skill/libtv-labs-libtv-skills/)