Synthèse automatique
Cette skill analyse les sous-titres d'une vidéo d'interview, propose des effets visuels (bandeaux nominatifs, titres de chapitres, texte animé, cartes de définitions, citations, statistiques) soumis à validation, puis rend la vidéo finale avec MoviePy et Playwright.
Points forts
- Sépare explicitement l'analyse des sous-titres, la validation par l'utilisateur et le rendu, ce qui évite de produire des effets non désirés
- Offre huit types de composants configurables avec un format JSON documenté et des exemples
- Propose quatre thèmes visuels (notion, cyberpunk, apple, aurora) adaptés à différents registres
- Décrit des règles de bon usage, notamment la distinction entre texte d'accroche (phrase) et carte de terme (mot isolé)
Limites
- Nécessite une installation manuelle : environnement virtuel Python, requirements.txt et navigateur Chromium via Playwright
- Suppose que l'utilisateur fournit des sous-titres .srt alignés sur la vidéo, sans quoi les minutages des effets seront décalés
- Le rendu par capture d'écran HTML est plus lourd qu'un rendu natif, ce qui peut allonger nettement les temps de traitement
À utiliser lorsqu'on veut habiller rapidement une interview brute avec des habillages graphiques cohérents, sans monter les effets à la main dans un logiciel de montage.
À éviter pour des vidéos sans sous-titres exploitables ou pour un montage créatif sur mesure nécessitant un contrôle image par image.
Analyse de sécurité
PrudenceThe skill legitimately uses Bash, Python, MoviePy, Playwright, and package installation to render local video effects. No destructive commands, secret exfiltration, obfuscated payloads, or safety-disabling instructions are present, but dependency installation plus execution of local scripts warrants a caution rating pending review of the bundled code.
- •Uses Bash to run local Python scripts and install Python/Playwright dependencies, which requires network access and execution of third-party packages.
- •Processes user-supplied video/subtitle files and writes output files; file paths and output locations should be validated.
- •Relies on bundled scripts/templates not shown in SKILL.md; the actual src/ files and requirements.txt should be audited before listing.
Exemples
Ajoute des effets visuels à interview.mp4 en te basant sur interview.srt : analyse les sous-titres et propose-moi d'abord les composants avant de rendre quoi que ce soit.Rends interview.mp4 avec les sous-titres subs.srt et ma config config.json en thème cyberpunk, sortie en interview_final.mp4.Dans tes suggestions, supprime les cartes de termes et garde seulement le bandeau nominatif et deux textes d'accroche, puis génère le rendu.name: video-wrapper description: 为访谈视频添加综艺特效(花字、卡片、人物条、章节标题等)。支持 4 种视觉主题,先分析字幕内容生成建议供用户审批,再渲染视频。 argument-hint: <video-file> <subtitle-file> [config.json] [output.mp4] user-invocable: true allowed-tools: Bash, Read, Write context: fork agent: general-purpose
访谈视频处理器
基于 Python + Playwright + MoviePy 的视频特效处理工具,使用 HTML/CSS/Anime.js 渲染高质量视觉效果。
工作流程
第一步:分析字幕内容
当用户提供视频和字幕文件时,先分析字幕内容,生成特效建议:
- 读取字幕文件 (.srt)
- 分析内容,识别:
- 嘉宾信息(用于人物条)
- 话题切换点(用于章节标题)
- 关键词和术语(用于花字)
- 专业名词(用于名词卡片)
- 精彩观点(用于金句卡片)
- 数字数据(用于数据动画)
- 核心要点(用于要点列表)
- 生成建议列表,展示给用户审核
第二步:用户审核
将建议以 Markdown 格式展示给用户:
## 视觉特效建议
**主题**: notion
### 1. 人物条 (Lower Third)
- **姓名**: Dario Amodei
- **职位**: CEO
- **公司**: Anthropic
- **出现时间**: 1000ms
### 2. 花字高亮 (Fancy Text)
1. **通用人工智能** (emphasis)
时间: 2630ms - 5500ms
原因: 核心概念首次提及
...
用户可以:
- 确认全部建议
- 修改部分建议
- 删除不需要的组件
- 添加新的组件
第三步:生成配置并渲染
根据用户审批后的建议生成 config.json,然后渲染视频。
可用组件
| 组件 | 用途 | 配置字段 | |------|------|----------| | 人物条 (lower_third) | 显示嘉宾信息 | name, role, company, startMs, durationMs | | 章节标题 (chapter_title) | 话题切换标题 | number, title, subtitle, startMs, durationMs | | 花字 (fancy_text) | 概括当前观点 | text, style, startMs, endMs, position | | 名词卡片 (term_card) | 解释术语 | chinese, english, description, firstAppearanceMs | | 金句卡片 (quote_callout) | 突出精彩观点 | text, author, startMs, durationMs, position | | 数据动画 (animated_stats) | 展示数字 | prefix, number, unit, label, startMs | | 要点列表 (bullet_points) | 总结核心要点 | title, points[], startMs, durationMs | | 社交媒体条 (social_bar) | 关注引导 | platform, label, handle, startMs, durationMs |
花字使用规范
⚠️ 重要:花字必须遵循以下规范:
-
必须是短语:用简短的句子概括说话人当时的观点
- ✅ 正确:「AI发展是平滑曲线」「智能增长类似摩尔定律」
- ❌ 错误:「人工智能」「摩尔定律」(这些是单词,应该用名词卡片)
-
与名词卡片互补:
- 花字:概括观点(如「智能每年翻倍增长」)
- 名词卡片:解释术语(如「摩尔定律:集成电路晶体管数量每18-24个月翻一番」)
-
位置在上方:默认显示在屏幕上方区域(字幕上方),避免遮挡人脸
社交媒体条使用规范
- 默认显示时长:8 秒(比其他组件更长,给用户足够时间记住)
- 通常在视频结尾出现
- 支持平台:twitter, weibo, youtube
主题系统
支持 4 种视觉主题:
| 主题 | 风格 | 适用场景 |
|------|------|----------|
| notion | 温暖知识风 | 教育、知识分享 |
| cyberpunk | 霓虹未来感 | 科技、前沿话题 |
| apple | 极简优雅 | 商务、专业访谈 |
| aurora | 渐变流光 | 创意、艺术内容 |
配置文件格式
{
"theme": "notion",
"lowerThirds": [
{
"name": "Dario Amodei",
"role": "CEO",
"company": "Anthropic",
"startMs": 1000,
"durationMs": 5000
}
],
"chapterTitles": [
{
"number": "Part 1",
"title": "指数增长的本质",
"subtitle": "The Nature of Exponential Growth",
"startMs": 0,
"durationMs": 4000
}
],
"keyPhrases": [
{
"text": "通用人工智能",
"style": "emphasis",
"startMs": 2630,
"endMs": 5500
}
],
"termDefinitions": [
{
"chinese": "摩尔定律",
"english": "Moore's Law",
"description": "集成电路晶体管数量每18-24个月翻一番",
"firstAppearanceMs": 37550,
"displayDurationSeconds": 6
}
],
"quotes": [
{
"text": "AI 的发展是一个非常平滑的指数曲线",
"author": "— Dario Amodei",
"startMs": 30000,
"durationMs": 5000
}
],
"stats": [
{
"prefix": "增长率 ",
"number": 240,
"unit": "%",
"label": "计算能力年增长",
"startMs": 45000,
"durationMs": 4000
}
],
"bulletPoints": [
{
"title": "核心观点",
"points": [
"AI 发展是平滑的指数曲线",
"类似摩尔定律的智能增长",
"没有突然的奇点时刻"
],
"startMs": 50000,
"durationMs": 6000
}
]
}
依赖安装
# 进入虚拟环境
cd ~/.claude/skills/video-wrapper
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt
# 安装 Playwright 浏览器
playwright install chromium
命令行使用
# 使用浏览器渲染器(推荐)
python src/video_processor.py video.mp4 subs.srt config.json output.mp4
# 指定渲染器
python src/video_processor.py video.mp4 subs.srt config.json -r browser
python src/video_processor.py video.mp4 subs.srt config.json -r pil
技术实现
- 视觉渲染: HTML + CSS + Anime.js (通过 Playwright 截图)
- 视频合成: MoviePy
- 动画引擎: Anime.js (Spring 物理动画)
- 备用渲染: Python PIL
文件结构
~/.claude/skills/video-wrapper/
├── src/
│ ├── video_processor.py # 主处理脚本
│ ├── browser_renderer.py # Playwright 渲染器
│ ├── content_analyzer.py # 内容分析器
│ ├── fancy_text.py # PIL 花字(备用)
│ └── term_card.py # PIL 卡片(备用)
├── templates/
│ ├── fancy-text.html # 花字模板
│ ├── term-card.html # 名词卡片模板
│ ├── lower-third.html # 人物条模板
│ ├── chapter-title.html # 章节标题模板
│ ├── quote-callout.html # 金句卡片模板
│ ├── animated-stats.html # 数据动画模板
│ └── bullet-points.html # 要点列表模板
├── static/
│ ├── css/
│ │ ├── effects.css # 基础效果
│ │ ├── theme-notion.css # Notion 主题
│ │ ├── theme-cyberpunk.css
│ │ ├── theme-apple.css
│ │ └── theme-aurora.css
│ └── js/
│ └── anime.min.js # Anime.js
└── requirements.txt
注意事项
- 视频处理需要较长时间,请耐心等待
- 确保有足够的磁盘空间存储输出视频
- Playwright 渲染效果更好,但需要安装 Chromium
- 如果 Playwright 不可用,会自动回退到 PIL 渲染
Du fichier au premier essai
Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.
Consulter la source et ses fichiers annexesCe téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.
1. Télécharger le fichier
Télécharger SKILL.mdDepuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/interview-video-processor-ms47voe9/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.
Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.
mkdir -p '.skill-downloads/interview-video-processor-ms47voe9' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/interview-video-processor-ms47voe9/download' --output '.skill-downloads/interview-video-processor-ms47voe9/SKILL.md.part' && mv '.skill-downloads/interview-video-processor-ms47voe9/SKILL.md.part' '.skill-downloads/interview-video-processor-ms47voe9/SKILL.md'2. Vérifier les prérequis
Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.
Outils déclarés par l’auteur (à vérifier dans votre agent) : Bash, Read, Write
Aucune section de prérequis reconnue dans ce fichier. Cela ne signifie pas qu’il est autonome : les bibliothèques, outils et accès peuvent être cités ailleurs dans le contenu ou dans le dépôt source.
Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.
3. Charger la skill
Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.
Claude Code
test -f '.skill-downloads/interview-video-processor-ms47voe9/SKILL.md' && test -s '.skill-downloads/interview-video-processor-ms47voe9/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/video-wrapper' && cp -R '.skill-downloads/interview-video-processor-ms47voe9' '.claude/skills/video-wrapper'OpenSkills
OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.
Installation officielle d’OpenSkillsopenskills install './.skill-downloads/interview-video-processor-ms47voe9'openskills read 'interview-video-processor-ms47voe9'La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.
Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.
openskills syncMode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.
4. Faire un premier essai
Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :
Lis .skill-downloads/interview-video-processor-ms47voe9/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.
Fragments d'écriture
Contenu
Extrayez des fragments d'écriture bruts via un entretien intensif, sans imposer de structure. Capturez idées, citations et mots porteurs pour une utilisation ultérieure.
Rédaction UI et audit
Contenu
Rédigez ou auditez les textes d'interface (boutons, erreurs, états vides, infobulles) dans le monorepo, en suivant la source de vérité du design system.
Extraction MIDI/score
Contenu
Extrait le MIDI ou la partition d'une production musicale existante via l'outil MCP CogMusic et confirme la disponibilité du fichier.