Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add lovstudio/skills --skill media-publishergit clone --depth 1 https://github.com/lovstudio/skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/lovstudio/skills/media-publisher)<a href="https://agentmods.dev/skills/lovstudio/skills/media-publisher"><img src="https://agentmods.dev/badge/skills/lovstudio/skills/media-publisher/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/lovstudio/skills/media-publisher"><img src="https://agentmods.dev/badge/skills/lovstudio/skills/media-publisher.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00088 | $0.09403 |
| Opus 5 | $0.00044 | $0.04702 |
| Sonnet 5 | $0.00018 | $0.01881 |
| Haiku 4.5 | $0.00009 | $0.00940 |
Grade A, and why
lov-media-publisher scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 447 lines — stays where its author put it; the contents beside it link to each section on GitHub.
视频分发助手 · Video Publisher
只操作平台自己的创作者后台可见网页。把页面当作动态界面:每一步重新读取当前页面, 按语义定位控件,不依赖历史 CSS 选择器、旧句柄或坐标。
平台路由
默认依次发布到微信视频号,再发布到 B 站,平台队列为
[wechat-channels, bilibili]。用户只说「发布」「发出去」且没有指定平台时,直接采用这份
默认队列,不再泛问发布目的地。
- 当前请求明确指定平台时,仅处理指定的平台;明确指定顺序时按该顺序执行。条目链接或
BV 号已能确定平台的
status请求,只查询该条目,不扩展到默认双平台队列。 - 选择两平台但未另指定顺序时,先完成视频号本次动作并回读列表状态,再进入 B 站流程。 视频号出现阻塞时先处理并报告具体阻塞,不自行跳过它、提前改发 B 站。
- 素材、账号或必要字段缺失时,先按本 Skill 的输入和预检流程自行查明;只有确实无法解决 的具体缺项才询问,不把缺项重新解释成平台选择问题。平台限制、DOM 写法和状态分别核验。
| 平台 | --platform |
入口 | 结构 | 页面细节 | 平台约束 |
|---|---|---|---|---|---|
| 微信视频号 | wechat-channels |
https://channels.weixin.qq.com/platform/post/create |
wujie 微前端 + shadow DOM | 创建页结构 | 视频号约束 |
| Bilibili | bilibili |
https://member.bilibili.com/platform/upload/video/frame |
普通 Vue 应用 | 投稿页结构 | B 站约束 |
四条会反复咬人的平台差异,先记住再动手:
- 可逆性不同:视频号发布后不可撤改;B 站稿件投出后可
?type=edit&bvid=改标题、 简介、标签、封面、合集,但改完必须重新点「立即投稿」。终稿确认门禁两边都走, 只是报告口径要跟着变,不要把 B 站的错发渲染成灾难。 - 硬限制差一个数量级:视频号 4 GiB / 2 小时,B 站 16 GB / 10 小时。拿一边的默认值
去卡另一边就会得到假结论,所以脚本一律显式传
--platform。 - 写值方式完全不同:视频号的描述是 contenteditable、话题必须由平台按钮生成; B 站的输入框要用原生 setter,简介是 Quill 实例。不要互相套用。
- 控件类名一律从 page-anatomy 抄,不许猜:两边都是自研组件库(视频号 wujie +
shadow DOM,B 站
data-v-*scoped CSS)。套 antd 或通用猜测(.ant-select-*、[role="combobox"]、.choose-btn、.category-item)一个都命中不了,而且查不到 不报错,表现为「点了没反应」,极易被误读成时机未到而空等几轮。填任何字段前 先打开该平台的 page-anatomy 对一遍选择器表——2026-08-18 EP.03 就是跳过这一步, B 站的分区、合集、封面三项全填不进去,最后由用户手填。
平台成片映射门禁
平台允许某种画幅,不代表本期就该选那一版。打开发布页前,先从 Creator 交付报告、平台文件名、
Composition 或本期清单确定本期目标平台对应的已批准成片:例如本期明确有
Episode-Horizontal 与 Episode-Vertical,且竖版文件名为 wechat-channels 时,B 站应先导出
横版平台 MP4,不能拿竖版“先发了再说”。Studio 里的 Composition 和 review-ready 预览都不是
可上传文件;缺少目标平台 MP4 时,状态记为 blocked-on-platform-variant 并交回
lov-media-creator 渲染、解码和质检。
What ships with it
18 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- CHANGELOG.md 9.2 KB
- LICENSE 1.0 KB
- README.md 5.8 KB
- references/bilibili/page-anatomy.md 16 KB
- references/bilibili/platform-constraints.md 3.8 KB
- references/browser-workflow.md 12 KB
- references/description-template.md 7.7 KB
- references/encoding-recipes.md 5.2 KB
- references/publish-gates.md 18 KB
- references/skill-composition.md 3.2 KB
- references/wechat-channels/page-anatomy.md 11 KB
- references/wechat-channels/platform-constraints.md 3.0 KB
- scripts/check_copy.py 18 KB runs code
- scripts/check_video.py 20 KB runs code
- scripts/notify_user.py 7.9 KB runs code
- skill.yaml 1.2 KB
- tests/test_check_video.py 5.9 KB runs code
- tests/test_notify_user.py 2.2 KB runs code
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago Changed 4f9ae47b3a3b
- 3d ago Changed · +82 lines 86641f1a2f36
- 6d ago First seen · 365 lines · 88 tokens per session scan A 9f23e274e68f
lov-media-publisher is a skill published in the GitHub repository lovstudio/skills (64 stars, last pushed yesterday), licensed MIT. It adds 88 tokens to every session and 9,403 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
slides
Create and edit presentation slide decks (.pptx) with PptxGenJS, bundled layout helpers, and render/validation utilities. Use when tasks involve building a new PowerPoint deck, recreating slides from screenshots/PDFs/reference decks, modifying slide content while preserving editable output, adding…
poster-style-transfer
Analyze an uploaded or local reference poster, extract its reusable design system, and transpose that system to an original poster with a new theme, title, subtitle, or campaign copy.
ambitious-implementation
Write large, thorough implementations instead of minimal ones. Use for UI, animation, art/graphics, sound design, theming, and any craft-driven work where richness and detail are the point — and whenever output quality has been called cheap, flat, simple, or generic.
build-and-look
Prefer building and looking at variations over prolonged reasoning. Use when work is visual, aesthetic, or hard to predict from first principles — UI, art, animation, sound, layout, colour — and whenever you notice yourself planning at length without producing anything to look at.
comfyui-assets
Generate game/app art assets locally with ComfyUI and SDXL — seamless tileable textures, transparent-background cutouts, ornament stamps, wallpaper patterns. Use when producing material textures or sprite elements for a rendering pipeline, or when asked to create art assets with a local image model.
visualcave
Use when the user asks to create a diagram, chart, infographic, flowchart, architecture illustration, or any technical visualization. Covers flowchart, sequence, ER, class, state machine, timeline, mind map, git graph, pie, quadrant, gantt, XY bar/line chart, sankey, kanban, C4 context, and cloud architecture diagrams.