Communitygithub.com

Agentchengfeng/chengfeng-videocut-skills

Édition de rushes de doublage en chinois : transcription mot à mot, correction via dictionnaire, cinq passes de détection des erreurs orales et répétitions, tableaux récapitulatifs, ouverture de Studio pour validation utilisateur, puis capitalisation des préférences et du dictionnaire. Produit uniquement un registre de coupes validé, sans toucher aux médias, ni sous-titres, ni animations de montage.

Qu'est-ce que chengfeng-videocut-skills ?

Cette compétence est conçue pour les agents IA spécialisés dans l'édition de rushes de doublage (vlogging, présentations en chinois oral). Elle transforme une vidéo brute en un registre de coupes (Cuts + EDL) déjà validé par un humain, sans jamais modifier les fichiers média. Le workflow se déroule en sept étapes : vérification préparatoire, création de projet avec transcription mot à mot, correction des caractères via dictionnaire (générique + utilisateur), détection des erreurs orales en cinq passes (répétitions, phrases interrompues, faux départs, bégaiements, tics de langage), génération de deux tableaux récapitulatifs (coupes et répétitions), ouverture de Studio pour validation manuelle, puis bilan et capitalisation. La compétence s'intègre avec le Runtime de produit (ports 5190) et les CLI associés, et respecte un contrat métier strict : elle ne touche pas aux médias, ne produit pas de vidéo, et ne demande à l'utilisateur que pour continuer un projet existant, valider en Studio ou confirmer la fin. Elle est idéale pour préparer un montage propre avant l'export final.

Compatible avec✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/Agentchengfeng/chengfeng-videocut-skills/tree/HEAD/plugins/chengfeng-videocut/skills/chengfeng-cut

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Doublage – Édition de rushes

D'une vidéo brute à un registre de coupes (Cuts + EDL) vérifié manuellement, sans toucher aux fichiers média. Sept étapes en ligne :

0  Préparation    Vérification "Mise à jour" (cette compétence n'a pas sa propre logique d'environnement)
1  Création       Vidéo réelle → transcription cloud mot à mot → création de projet → démarrage du service → lecture de l'état
2  Correction     Dictionnaire corrige les caractères (générique + utilisateur) → tableau de corrections
3  Détection      Lecture des préférences et règles → cinq passes, chaque passe ne cherche qu'une catégorie
4  Synthèse       Tableau récapitulatif des coupes + tableau des phrases répétées → vérification par relecture
5  Révision       Soumission complète → présentation des deux tableaux à l'utilisateur → ouverture de Studio pour vérification manuelle
6  Bilan & Passation  Comparaison proposition vs version finale → archivage trois tiroirs → rapport quatre points

Ne pas couper les médias : modifier un registre prend quelques dizaines de millisecondes, couper un fichier est irréversible. Jusqu'à la fin de cette compétence, aucun nouveau fichier vidéo n'est écrit sur le disque. La compétence effectue des jugements sémantiques et de l'organisation ; le Runtime du produit est le seul autorisé à écrire les projets, les Cuts et l'état de Studio.

L'utilisateur ne parle qu'à trois endroits : choisir de continuer ou de recommencer un projet déjà coupé (même source), vérification dans Studio, confirmation de fin. Tout le reste est un rapport unidirectionnel, sans attendre de réponse. Le critère d'achèvement de chaque étape est son artefact de sortie : pas de tableau, pas d'achèvement.

Lire et exécuter d'abord le contrat de phase du Skill métier. Correspondance des étapes ici avec les phases du contrat : 1=preflight+Product state readback, 5=proposal+Product CAS, révision=project-level review binding. Les trois dernières phases (validation, exécution, réception) appartiennent au Skill d'export.

L'historique des incidents de chaque règle se trouve dans le registre des leçons — les règles sont ici, les histoires là-bas.

0. Préparation

Exécutez d'abord la « vérification préparatoire » de Vérification des mises à jour — skills à jour, Runtime compatible ; la racine du plugin y est également localisée (les <racine-du-plugin> dans les commandes de ce document sont remplacées par ce chemin littéral). Ne continuez que si le résultat est « prêt » ; pour « nouvelle session requise » ou « arrêt », suivez ses instructions (y compris l'interdiction de créer une interface de substitution personnalisée).

Si le résultat de la vérification est runtime.kind=desktop-managed, il partage la même entrée stable et le service launchd/windows-task que l'installation CLI. Continuez directement ; ne cherchez pas de répertoire d'installation Electron, n'installez pas Bun/FFmpeg, et ne démarrez pas un second Runtime.

1. Création : entrée réelle → transcription → création de projet

Que faire : transmettre la vidéo réelle locale et la transcription cloud mot à mot au produit, créer le projet de manière atomique, démarrer le service, lire l'état.

# Après la transcription cloud mot à mot (génération d'un candidat de transcription dans le répertoire de tâche) :
node "<racine-du-plugin>/scripts/videocut-cli.cjs" project create "<répertoire-projet>" --video "<fichier-vidéo-dans-répertoire-tâche>" --transcript "<fichier-transcription-dans-répertoire-tâche>" --json

node "<racine-du-plugin>/scripts/ensure-running.cjs" --json          # Service garanti déclaratif du produit (5190)

node "<racine-du-plugin>/scripts/videocut-cli.cjs" workflow get "<répertoire-projet>" --json    # Product state readback
node "<racine-du-plugin>/scripts/videocut-cli.cjs" cuts get "<répertoire-projet>" --json

Règles :

  • N'acceptez que les vidéos de doublage réelles données par l'utilisateur ou un projet réel existant ; en l'absence de média réel, arrêtez-vous, interdisez d'utiliser des exemples ou des vidéos factices.
  • La transcription utilise uniquement le cloud ASR autorisé par l'environnement courant ; interdiction de revenir à un ASR local ; si aucun cloud ASR n'est disponible, signalez missing_cloud_transcription_adapter, n'ouvrez pas Studio, ne fabriquez pas de transcription.
  • --video / --transcript doivent être de vrais fichiers dans le répertoire de tâche ; ne transmettez pas le ratio d'aspect — le produit le déduira automatiquement des dimensions réelles de la vidéo (Runtime 0.4.4+). N'ajoutez --aspect-ratio W:H que si l'utilisateur demande explicitement un ratio spécial.
  • Si un projet standard existe déjà, inspectez-le d'abord et réutilisez-le, ne créez pas un nouveau projectId ; si la même vidéo a déjà été coupée, demandez à l'utilisateur : continuer ou recommencer (c'est l'un des trois points de parole). project prepare est un compilateur idempotent, à utiliser uniquement pour reprendre une interruption ou un rafraîchissement explicite ; en cas d'interruption, relancez directement.
  • project create est la seule entrée : pas de passage par la bibliothèque de médias, de session de téléchargement ou d'autre Skill ; le Skill ne doit pas écrire project.json en premier.
  • Le service doit être confirmé par le script : healthy=true, runtimeMode=launchd (macOS) ou runtimeMode=windows-task (Windows), version compatible, URL en 5190 canonique avant de continuer ; en cas d'échec, transmettez l'erreur structurée et arrêtez-vous, interdiction de revenir en foreground, de changer de port ou de tuer un processus inconnu.
  • Les deux readbacks doivent pointer vers le même projectId, sauvegarder le workflow stage et les trois révisions (Project / Cuts / EditList) ; en cas d'absence ou d'incohérence, arrêtez-vous.

2. Correction : corriger les caractères, produire le tableau de corrections

Que faire : avant tout jugement de coupe, utilisez le dictionnaire pour corriger les caractères mal transcrits — si les caractères sont faux, les jugements suivants seront erronés ; un caractère mal entendu n'est pas un mot superflu, la coupe ne le corrigera pas.

node "<racine-du-plugin>/scripts/videocut-cli.cjs" transcript dictionary "<répertoire-projet>" --dictionary "<racine-du-plugin>/references/ai-term-dictionary.md" --json

Avec votre outil de fichiers, vérifiez si $HOME/.chengfeng-videocut/dictionary.md existe ; si oui, exécutez à nouveau (solution transitoire : le CLI n'accepte qu'un seul fichier à la fois, exécutez en deux passes ; elle peut compléter mais pas annuler la passe précédente — fusion complète priorité utilisateur attend un CLI multilingue) :

node "<racine-du-plugin>/scripts/videocut-cli.cjs" transcript dictionary "<répertoire-projet>" --dictionary "$HOME/.chengfeng-videocut/dictionary.md" --json

Artefact : tableau de corrections — fusionnez les listes applied des deux appels en un petit tableau (mot original → correction → contexte), rapportez-le à l'utilisateur. Après correction, lisez impérativement ce tableau — le dictionnaire peut aussi faire des erreurs sans contexte ; si une erreur est constatée, corrigez le dictionnaire, ne faites pas de rustine ailleurs.

Uniquement lorsque le dictionnaire ne peut pas résoudre le problème et que l'auteur dispose d'un script manuscrit, ajoutez une passe d'alignement contextuel :

node "<racine-du-plugin>/scripts/videocut-cli.cjs" transcript align "<répertoire-projet>" --script "<fichier-script-doublage>" --json   # rapport uniquement, pas de modification
node "<racine-du-plugin>/scripts/videocut-cli.cjs" transcript correct "<répertoire-projet>" --file "<fichier-correction>" --json

Règles :

  • Ne modifiez que le texte, pas le temps, le nombre de mots, ni le wordId — le produit compare mot à mot les horodatages, une modification est refusée directement.
  • Changez uniquement la graphie, pas le sens — les vrais lapsus suivis d'une reformulation sont des phrases interrompues, gérés par la coupe.
  • Si le dictionnaire n'a pas le mot et que le script ne le confirme pas, ne devinez pas : signalez-le pour que quelqu'un complète le dictionnaire. Inventer un nom est pire que laisser un nom mal entendu.
  • Conservez l'oral chinois tel quel : « chā », « dà mó xíng » est ce qu'il a dit.
  • Le dictionnaire est une barrière à franchir à chaque transcription (la même piste audio transcrite deux fois donne des résultats différents, voir le registre des leçons).

Segmentation du script par ponctuation : chaque mot dans la transcription porte sa ponctuation, un segment par virgule dans le script, une ligne par phrase ; les sous-titres utilisent la même ponctuation, les coupures sont cohérentes. Les projets antérieurs au 28 juillet 2026 n'ont pas de ponctuation ; exécutez node "<racine-du-plugin>/scripts/videocut-cli.cjs" transcript regroup "<répertoire-projet>" --json pour recouper les segments (vérification mot à mot de l'identifiant/temps/texte, sûr pour un projet déjà coupé) ; pour avoir la ponctuation, il faut retranscrire — la ponctuation n'existe tout simplement pas dans l'ancienne transcription.

3. Détection : cinq passes, chaque passe ne cherche qu'une catégorie

Que faire : lisez les matériaux, puis relisez intégralement l'ordre de lecture cinq fois, chaque passe avec un seul critère. Avec un seul critère à la fois, la qualité du jugement est bien supérieure à six critères à la fois ; chaque passe produit peu de données et est vérifiable.

Commencez par lire les matériaux :

node "<racine-du-plugin>/scripts/videocut-cli.cjs" transcript playback "<répertoire-projet>" --json

Puis, avec votre outil de lecture de fichiers, lisez $HOME/.chengfeng-videocut/cut-preferences.md (préférences utilisateur ; ce qu'il a dit compte ; si le fichier n'existe pas, c'est un nouvel utilisateur, passez).

Critères dans Règles de suppression sémantique (principes + cas). Hiérarchie du matériel pédagogique : préférences utilisateur > cas utilisateur > cas génériques.

Passe 1  Répétitions         Répétitions entre phrases, à l'intérieur d'une phrase (le plus objectif : deux fois identiques)
Passe 2  Phrases interrompues et reformulations   S'arrêter à moitié, reformuler différemment
Passe 3  Lapsus suivis d'une correction  Nombres, noms propres, mots dits de travers, suivis d'une correction correcte
Passe 4  Bégaiements en anglais  Répétition de début de mot / lettre / syllabe
Passe 5  Tics de langage et interjections  Le plus subjectif, selon la densité et la tolérance des préférences utilisateur

Action fixe par passe : consulter les cas par type → trouver une occurrence → noter une ligne (wordIds + type + risque) → ne pas juger d'autres types. Lors des passes suivantes, si un mot déjà marqué est rencontré, passez ; les conflits sont résolus lors de la synthèse.

Règles :

  • Utilisez uniquement l'ordre de lecture transcript playback pour le jugement, ne recréez pas depuis transcript.json — « dit deux fois » se vérifie par contiguïté à l'écoute ; recréer soi-même peut interpréter des numéros sautés comme un contenu manquant et les rejeter à tort (voir registre des leçons).
  • La suppression n'a que deux états : « supprimé / non supprimé » ; la cause IA ne forme pas un troisième état « suggestion de suppression ».
  • Les lapsus, répétitions, phrases interrompues suppriment par défaut la première occurrence, gardent la seconde ; les phrases longues, complètes, les bifurcations entières doivent être vérifiées avec un risque élevé.
  • Les pauses normales ne sont pas calculées par le Skill : la fusion des silences adjacents et natural-pause-v2 sont exécutés de manière déterministe par le produit.

4. Synthèse : deux tableaux, n'agissez qu'après leur création

Que faire : fusionnez les lignes des cinq passes en deux tableaux — c'est l'artefact de cette étape, et ce que l'utilisateur verra.

Tableau récapitulatif des coupes (décision de coupe par ligne) :

| # | Temps  | Type   | Suppression          | Ce qui est lu             | Risque | Référence |
|---|--------|--------|----------------------|---------------------------|--------|-----------|
| 1 | 00:12  | Répét. | cette fonction donc  | cette fonction, en fait   | Faible | Cas R2    |
| 2 | 02:31  | Reform. | par exemple je lui ai fait suivre | Par exemple j'ai fait suivre à grok | Élevé | Cas R5    |

Tableau des phrases répétées (phrases dites plusieurs fois ; le tableau mot à mot ne montre pas "combien de fois a été dit, quelle version gardée", c'est pourtant ce que l'utilisateur veut le plus vérifier) :

| Début de phrase       | Combien de fois | Quelle version gardée | Quelles versions supprimées | Risque                 |
|-----------------------|-----------------|----------------------|-----------------------------|------------------------|
| Parce qu'aujourd'hui… | 3               | 3ème 00:08           | 1ère & 2ème                 | Faible — trois quasi identiques |
| La plupart des agents… | 2               | 2ème 04:40           | 1ère                        | Élevé — formulations divergentes, à écouter |

Puis relecture : lisez à voix haute le texte complet après suppression, dans l'ordre de lecture du tableau ; toute ligne qui ne se lit pas correctement est annulée. C'est la définition de la vérification : l'IA se relit elle-même, ne demande pas à l'utilisateur ; en cas d'incertitude = ne pas lister (deux états).

5. Révision : n'ouvrir Studio qu'à la révision manuelle

Que faire : soumettez l'intégralité des candidats, présentez les deux tableaux à l'utilisateur, puis ouvrez la page de révision du produit pour que l'utilisateur vérifie personnellement.

node "<racine-du-plugin>/scripts/videocut-cli.cjs" cuts get "<répertoire-projet>" --json              # Récupérer la révision actuelle des Cuts
node "<racine-du-plugin>/scripts/videocut-cli.cjs" cuts set "<répertoire-projet>" --file "<fichier-proposition>" --expected-revision "<révision actuelle des Cuts>" --json

Le candidat ne référence que des wordIds stables :

{
  "schemaVersion": 1,
  "cutWordIds": ["word-12", "word-13"],
  "reasons": [
    { "wordIds": ["word-12", "word-13"], "kind": "repeat", "risk": "low" }
  ]
}

Règles de soumission :

  • Le candidat est la conclusion complète de ce cycle de jugement, pas un incrémental — cuts set sémantique de remplacement ; soumettre un incrémental entraînerait la perte silencieuse des coupes sémantiques du cycle précédent (voir registre des leçons) ; lors de la soumission du candidat, interdisez de lire ou de fusionner manuellement initialization.baselineCutWordIds (le produit intègre automatiquement la ligne de base des pauses).
  • reasons est persisté, écrivez fidèlement ; le produit supprimera les parties mentionnant des mots non supprimés.
  • N'écrivez pas directement cut-selection.json, project.json ou les logs d'événements.
  • cuts get.data.revision est la révision des Cuts, workflow get.data.revision est celle du projet, interdiction de les mélanger.
  • Après une soumission réussie, consultez impérativement noLongerCut (nombre de mots cette fois non supprimés) : si non nul et pas un retrait intentionnel = soumission incrémentale, retournez soumettre l'ensemble complet ; lisez-le même si la valeur est "unknown".
  • Immédiatement après, relancez workflow get + cuts get pour confirmer cut_review_ready et les trois révisions ; en cas d'incohérence, arrêtez-vous, n'écrivez jamais directement du JSON et ne faites pas de remplacement automatique.
  • Conservez le <fichier-proposition> dans le répertoire de tâche — l'étape 6 de bilan en aura besoin (les reasons seront tronquées par le produit après édition utilisateur, une reconstitution depuis le registre n'est pas fiable).

Ensuite, présentez d'abord les tableaux, puis ouvrez la page : envoyez les deux tableaux à l'utilisateur, puis dites-lui d'aller vérifier avec les tableaux dans Studio.

node "<racine-du-plugin>/scripts/ensure-running.cjs" --json                    # Assurer idempotence avant d'ouvrir
node "<racine-du-plugin>/scripts/videocut-cli.cjs" open "<répertoire-projet>" --json          # Récupérer l'URL du projet retournée par le produit

node "<racine-du-plugin>/scripts/ensure-studio.cjs" --url "<URL-du-projet-produit>" --view koubo --json                                  # Contrôle d'accès : vérifier que 5190 a enregistré la vue koubo

Règles :

  • Ouvrez l'URL studio.url dans le navigateur intégré de Codex uniquement si le contrôle d'accès retourne ok=true, puis arrêtez la progression automatique et attendez que l'utilisateur sélectionne, restaure, enregistre.
  • Avant d'ouvrir, comparez strictement le #project/<projectId> du productUrl avec le projectId du readback, et liez stage=cut_review_ready avec les trois révisions — ok=true du contrôle d'accès prouve la capacité du produit, ne remplace pas la liaison au niveau projet ; en cas d'incohérence, relisez l'état.
  • studio_capability_missing : arrêtez-vous et expliquez l'incompatibilité de version, vous pouvez suggérer $chengfeng-report-bug ; interdiction d'utiliser la présence de ?view=koubo dans l'URL pour considérer la nouvelle interface comme existante, interdiction de revenir à l'ancien panneau de tâche.
  • Ne faites pas de « ouvrir le poste de travail » une première étape de la tâche ; n'accédez pas à l'ancien review.html, 8898/8899 ; ne contrôlez pas le DOM de Studio, ne modifiez pas directement les éléments média ; ne créez pas de piste audio indépendante ni de piste de sous-titres factices.

6. Bilan et passation : ne jetez pas les devoirs corrigés par l'utilisateur

Après la fin de la vérification par l'utilisateur, relisez d'abord :

node "<racine-du-plugin>/scripts/videocut-cli.cjs" workflow get "<répertoire-projet>" --json
node "<racine-du-plugin>/scripts/videocut-cli.cjs" cuts get "<répertoire-projet>" --json

Bilan (solution transitoire, remplacée quand la commande cuts diff du produit sera disponible) : comparez le <fichier-proposition> conservé à l'étape 5 avec les cutWordIds de la version finale relue :

  • Ce que l'utilisateur a restauré (présent dans la proposition, absent de la version finale) = l'IA a mal supprimé. Comparez avec le reason que vous avez écrit dans la proposition : quel type d'erreur ?
  • Ce que l'utilisateur a ajouté en suppression (présent dans la version finale, absent de la proposition, et pas dans initialization.baselineCutWordIds de la ligne de base des pauses) = l'IA a oublié. Demandez : quel type, pourquoi n'a-t-il pas été identifié ? (La ligne de base n'est utilisée ici que pour exclure les mots de pause, il reste interdit de la fusionner dans la soumission.)

Archivage dans trois tiroirs :

  • Différence de goût → ajoutez à ~/.chengfeng-videocut/cut-preferences.md (markdown maintenu par l'Agent, n'ajoutez et ne réécrivez que vos propres sections ; créez le fichier s'il n'existe pas).
  • Erreur de nom propre → ajoutez à ~/.chengfeng-videocut/dictionary.md (tableau à deux colonnes, dédoublonnez avant d'ajouter).
  • Lacune dans les règles → notez dans la section « cas à mettre à jour » du fichier de préférences ; à la troisième occurrence du même type, signalez à l'utilisateur et suggérez de promouvoir en cas générique (ne modifiez le dépôt skills qu'après validation humaine).
  • Même sans différence : notez dans le fichier de préférences, ligne de projet « adopté intégralement ».

Rapport des quatre points : nombre de mots supprimés, temps gagné en secondes ; stage actuel (devrait être cut_review_ready) ; trois révisions (projet / Cuts / EDL) ; résumé du bilan (N propositions, X adoptées, Y restaurées, Z ajoutées, une phrase sur le principal désaccord). Ensuite, dites à l'utilisateur de lancer l'export.

Ne pas afficher de carte de confirmation, ne pas exécuter de coupe — la carte de confirmation de la coupe physique appartient au Skill d'export ; cette carte doit figer la révision au moment où l'utilisateur appuie sur confirmer.

return_cut_review : réexécutez d'abord node "<racine-du-plugin>/scripts/ensure-running.cjs" --json, puis retournez dans le même Studio pour continuer la vérification ; ne déclenchez pas de bilan, le bilan n'est fait qu'une seule fois à la passation finale.

Niveaux de rapport : la révision structurée Product est API/readback PASS ; la véritable vérification d'image du navigateur est visual frame PASS ; si personne n'a réellement écouté l'audio, mentionnez systématiquement human listening UNVERIFIED, n'utilisez pas la lecture, le DOM, une capture d'écran ou une détection de média pour la remplacer.

Reprise et échec

  • revision_conflict : relisez l'état, expliquez la modification récente de l'utilisateur, ne remplacez pas automatiquement.
  • runtime_unhealthy : ne réinstallez pas en boucle.
  • service_identity_mismatch / service_port_conflict : arrêtez-vous, ne revenez pas en foreground, ne changez pas de port, ne tuez pas de processus inconnu.
  • Si la page est fermée mais que le service est toujours en cours : relisez le workflow et poursuivez depuis l'état actuel, ne créez pas de nouveau projet.
  • En cas d'échec, ne dites jamais « le registre est écrit » comme « le montage est fini » — jusqu'à ce point, aucun fichier média n'a été produit.

Annexe : cette compétence accepte une vidéo réelle locale et une transcription cloud mot à mot directement dans le produit, c'est l'exigence du contrat preflight ; leur existence réelle est la condition préalable à tout jugement.

Individual skills in this repo

This repo contains 7 individual skills — each has its own dedicated page.

Agentchengfeng/chengfeng-videocut-skills

剪辑环境的唯一管理者:就绪检查(skills 是否最新 → Runtime 是否配套)、Skills 更新激活、Runtime 安装与体检。用户说检查更新、安装剪辑环境、装播放器、检查剪辑环境、剪辑环境就绪了吗、配置转录凭证时使用;业务 Skill(剪口播/字幕/画面/导出)第 0 步也引用本 Skill 的就绪检查。不用于剪辑、字幕、画面、导出本身或项目数据迁移。

Agentchengfeng/chengfeng-videocut-skills

把剪好的口播烧成一个成片文件:账本切片段、推近、字幕、HTML 画面层,一次全部烧进 mp4。用户说导出、出成片、烧字幕、渲染、导出视频、生成最终文件时使用。不要用于生成删词候选、写字幕、做画面动画。

Agentchengfeng/chengfeng-videocut-skills

整理、脱敏并上报 chengfeng-videocut 的 GitHub Bug。用户说上报 Bug、反馈剪口播问题、提交 GitHub Issue、这个问题告诉开发者,或要求继续提交已预览的 Bug 草稿时使用。不要用于功能建议、普通排错、代码提交或未获用户确认的自动上报。

Agentchengfeng/chengfeng-videocut-skills

给剪好的口播做字幕:直接用已有的逐词稿加账本算出剪后时间(不必导出、不必重新转录)、用词典和作者文稿改写听错的专名、按句子分屏、在 Studio 里逐屏复核。用户说做字幕、加字幕、改字幕、重新分屏、字幕不对时使用。不要用于删词剪辑、物理剪切、分镜动画或成片渲染。

Agentchengfeng/chengfeng-videocut-skills

操作 chengfeng-videocut 剪辑工作台的已有工程,通过 Runtime CLI 查工程与词句位置、添加或替换画面覆盖层、移除画面、删除明确指定的词句或片段、拆分裁剪移动已有片段、调整画布比例并回读核验。用户说插入片段、删掉这句、移除动画、换个画面、调整顺序或管理时间线时使用;先区分画面覆盖与主轨顺延插入,不负责自动判断口误、创作动画、制作字幕、导出或排查安装故障。

Agentchengfeng/chengfeng-videocut-skills

Create Ian Xiaohei-style HTML/SVG motion illustrations for Chinese articles, scripts, storyboard scenes, workflow explanations, concept metaphors, and short video visual aids. Use when the user asks for 小黑 SVG、漫画感 HTML、分层 SVG 动效、把小黑生图做成 HTML/SVG、可编辑矢量动效、口播流程动画、手绘漫画动效、正文配图动画, or wants a Xiaohei illustration style adapted into controllable HTML/SVG/GSAP output instead of raster image generation.

Agentchengfeng/chengfeng-videocut-skills

给剪好的口播配画面:在录屏上盖 HTML 层(圈重点标注 / 小黑整屏动画 / 推近),层绑字幕屏、由播放器逐帧驱动、直接在预览里看。用户说做分镜、配画面、加动画、圈重点、B-roll、做 storyboard 时使用。不要用于删词剪辑、字幕、物理剪切或成片渲染。

Skills associés