Communitygithub.com

Conz-Wilts/ai-editor

Pour les mainteneurs de l'éditeur. Transforme les corrections des utilisateurs en correctifs durables dans ce dépôt, pour chaque utilisateur, imposés par le code et les tests plutôt que par des notes. Lit les suggestions que les utilisateurs ont marquées comme 'aiderait tout le monde' (~/.ai-video-editor/suggestions.jsonl), les règles de goût signalées deux fois (rapport taste.py), les corrections d'aperçu (edits/*/corrections.jsonl), les notes de page de révision (*/review.json) et les tickets GitHub ouverts étiquetés feedback ; regroupe les répétitions ; pour chaque élément que le mainteneur accepte, écrit la règle générale dans PRINCIPLES.md et la compétence propriétaire, ajoute ou renforce la vérification qui l'applique, ajoute un test qui échoue avant et réussit après, et exécute la suite de tests complète. À utiliser lorsque le mainteneur dit 'améliorer l'éditeur', 'transformer les retours en correctifs', 'traiter les suggestions', 'de quoi les utilisateurs se plaignent-ils', 'parcourir les tickets de feedback'. Pas pour les préférences personnelles d'un seul utilisateur (c'est le goût), et pas pour monter une vidéo.

Qu'est-ce que ai-editor ?

Cette compétence est conçue exclusivement pour le mainteneur de l'éditeur AI Video Editor. Elle automatise le cycle de feedback en transformant les suggestions des utilisateurs en améliorations permanentes et vérifiées. Elle collecte les retours depuis plusieurs sources (suggestions marquées 'pour tout le monde', règles de goût récurrentes, corrections d'aperçu, notes de révision et tickets GitHub), les regroupe par fréquence, puis guide le mainteneur à travers un processus en quatre étapes : collecte, sélection, correction (règle, application, test, enregistrement) et exécution complète des tests. L'objectif est d'éviter les correctifs ponctuels : chaque règle acceptée doit être codifiée dans PRINCIPLES.md et la compétence concernée, renforcée par une vérification automatique et un test associé. La compétence s'appuie sur des scripts Python dans le dépôt et fonctionne avec l'API Claude Code ou des agents similaires. Elle distingue strictement le mode mainteneur (modifications du dépôt partagé) du mode utilisateur (sauvegarde dans son propre répertoire personnalisé, non affecté par les mises à jour).

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Conz-Wilts/ai-editor/tree/HEAD/.claude/skills/improve

Demander à votre IA préférée

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

Documentation

Améliorer

Chemins : ${CLAUDE_SKILL_DIR} désigne le dossier contenant ce SKILL.md, et ${CLAUDE_SKILL_DIR}/../.. le dossier .claude/ de l'éditeur deux niveaux au-dessus.

Chaque question à l'utilisateur est posée dans la zone de questions : appelez l'outil AskUserQuestion (2 à 4 options, la recommandée en premier). Uniquement dans un agent dépourvu de cet outil, posez les questions numérotées dans le texte.

Ceci s'exécute dans un checkout du dépôt, pour la personne qui le maintient. Un correctif ici atteint chaque utilisateur lors de sa prochaine mise à jour. S="${CLAUDE_SKILL_DIR}/scripts". Exécutez les scripts avec python3 sur Mac et Linux, py sur Windows.

0. Qui exécute ceci

python3 "$S/improve.py" mode

maintainer uniquement dans un checkout git du dépôt avec AI_EDITOR_MAINTAINER=1 : passez à l'étape 1.

user : les fichiers propres de l'éditeur sont remplacés à chaque mise à jour, ne les modifiez donc jamais (pas de SKILL.md, référence, script ou PRINCIPLES.md). Collectez et sélectionnez comme ci-dessous, puis enregistrez chaque élément accepté dans la couche personnelle de l'utilisateur, que les mises à jour ne touchent jamais (docs/customise.md dans le dépôt) : un réglage avec taste.py add ... --set ; une règle de mot avec python3 "${CLAUDE_SKILL_DIR}/../../lib/ai_editor/custom.py" rule "<règle>" ; un aspect de légende comme custom/captions/<nom>.json plus taste.py set captions.preset <nom> ; des valeurs par défaut de modèle comme custom/templates/<type>.json. Proposez ensuite taste.py suggest pour que les mainteneurs puissent le corriger pour tout le monde. Arrêtez-vous là.

1. Collecter

python3 "$S/improve.py" collect [--edits D] [--no-gh]

Une ligne par règle, la plus fréquente en premier : nombre de fois qu'elle est apparue, d'où (suggestion, régression de goût, correction d'aperçu, note de révision, ticket GitHub), le propriétaire nommé et jusqu'à trois exemples. Une règle mentionnée par plusieurs utilisateurs, ou redite après avoir été appliquée, vient en premier.

2. Choisir

Affichez le haut de la file d'attente et demandez dans la zone de questions laquelle corriger maintenant (sélection multiple, la plus fréquente en premier, recommandée). Pour chacune, demandez aussi lorsque ce n'est pas clair : Chaque utilisateur (Recommandé) / Uniquement certains styles de créateurs (cela appartient à un champ style.json, pas à une règle) / Pas un correctif (fermez-la).

3. Corriger chacune, dans cet ordre

  1. La règle. Une ligne dans ${CLAUDE_SKILL_DIR}/../../PRINCIPLES.md sous la bonne rubrique, nommant où elle est appliquée, et la même règle dans le SKILL.md ou la référence propriétaire. Générale, jamais à propos d'une seule vidéo : « Les zooms s'adoucissent sur au moins 0,5 s », pas « le zoom à 0:12 a saccadé ».
  2. L'application. Le code le plus petit qui fait respecter la règle sans que personne ait à s'en souvenir : un ÉCHEC dans une vérification (check.py, quality.py, product.py check, ai_tells.py), un refus dans le script qui la briserait (gates.py), une valeur par défaut qui ne peut pas la produire, ou une ligne dans tests/check_plugins.py pour une règle du dépôt. Préférez renforcer une vérification existante plutôt que d'en ajouter une.
  3. Le test. Une assertion dans le demo() de ce script (ou tests/), construite à partir d'un petit exemple synthétique de l'échec. Exécutez-le avant le correctif et voyez-le échouer, puis après et voyez-le réussir. Une règle que seul un agent peut suivre (demander, expliquer) reçoit à la place un cas d'évaluation dans evals/ : prompt.md plus un correcteur tool_used ou llm.
  4. L'enregistrement. docs/feedback-matrix.md : la règle, où elle est écrite, ce qui l'applique, ce qui la teste.

4. Tout exécuter

python3 tests/check_plugins.py
python3 .claude/lib/ai_editor/okf.py check

Ensuite tests/demos.sh (demo de chaque script), node tests/test_record.mjs, et lorsque le moteur de rendu est configuré tests/smoke.py et tests/golden.py. Tout vert avant de remettre. Ne committez pas ; le mainteneur examine la différence et commit.

Sur un ticket GitHub désormais corrigé, proposez de commenter un résumé d'une ligne du correctif et de le fermer (gh issue close <n> --comment "..."), uniquement après avoir demandé.

Jamais

  • Ne modifiez jamais le taste.md, taste.json, rules.json ou suggestions.jsonl d'un utilisateur : ils lui appartiennent.
  • Ne mettez jamais de données personnelles dans le dépôt : pas de noms, identifiants, adresses email, noms de fichiers ou séquences provenant des retours. Écrivez la règle générale et un exemple synthétique. tests/check_plugins.py échoue sur les noms privés connus ; lisez chaque exemple avant de l'intégrer.
  • Ne bouclez jamais avec une seule note. Une règle sans application et sans test n'est pas terminée.

Fichiers

  • scripts/improve.py : mode, collect, demo. Lecture seule.
  • ${CLAUDE_SKILL_DIR}/../../lib/ai_editor/custom.py : le dossier <library>/custom/ de l'utilisateur (le mode utilisateur y écrit).
  • ${CLAUDE_SKILL_DIR}/../../skills/taste/scripts/taste.py : là où suggest et issue écrivent le côté utilisateur.

Individual skills in this repo

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

Conz-Wilts/ai-editor

Turns one long video or podcast (a local file or a YouTube link) into the best 3-5 short vertical clips, each cut and styled in the user's profile style. Transcribes once, splits the talk into candidate clips at sentence boundaries inside the chosen length, scores every candidate in code (speech rate, loudness, laughter, numbers and names said), shows the shortlist on one page with a preview of each, then trims, cuts and style-edits each pick as its own edit. Use when the user says "clip this video", "make shorts from my podcast", "find the best clips", "cut this into TikToks", "turn this YouTube video into reels", "repurpose this long video", or drops a long video (over about 3 minutes) or a YouTube link and wants short clips. Not for editing one short take (that is start or cut), and not for measuring someone else's style (that is creator-teardown).

Conz-Wilts/ai-editor

Reverse-engineers a short-form creator's video format from their real numbers. Pulls a TikTok or YouTube Shorts profile (or pasted links, Instagram reels too) with view, like and save counts, transcribes the top videos word for word, measures pace, pauses and fillers, maps each video into timed beats, and writes a teardown.md someone can film from, a teardown.html page of their graphics, motion and sound, and the style.json the style-edit skill edits from (on its own it can write an edit plan as a table and .srt). Use when the user wants to analyse, break down or study a creator ("analyse @handle", "tear down @handle", "teardown of @handle", "break down this creator", "what makes this creator's videos work"), pastes TikTok, YouTube or Instagram links and asks what the pattern is, or asks to set up creator-teardown. Not for editing the user's own video like a creator (that is start), not for researching a topic, and not for cutting raw footage.

Conz-Wilts/ai-editor

Cuts raw talking-head footage into a clean jump cut. Takes one take or several joined (mp4 or mov, any aspect, 4K phone footage is fine), transcribes it word by word, removes retakes, false starts, fillers and dead pauses, and renders cut.mp4 at the source resolution plus words.json timed to the cut. The user approves the cut on a page with the whole transcript and every removed word struck through. Use when the user says "cut my video", "just cut it", "remove my mistakes", "cut out the retakes", "remove the pauses", "clean up this take", "jump cut this", "tighten this clip", or asks only for the cut of a raw take; start calls it for a full edit. Runs before style-edit. Not for a general request to edit a video or to make it look like a creator (that is start), not for adding captions, zooms or cards (style-edit), and not for analysing someone else's videos (creator-teardown).

Conz-Wilts/ai-editor

Generates new footage with Higgsfield and puts it on the edit's timeline. Prices every generation first, asks the user with the dollar amount (and, for their own footage, whether it may be uploaded to Higgsfield), then submits, waits, downloads into the edit's generated/ folder and adds the result to the timeline's Generated track. Covers motion transfer on a clip of the user's video (their moves onto a character or styled look), b-roll from a sentence (text to video), a still brought to life (image to video) and stills for cards (text to image). Use when the user says "generate b-roll", "make a shot of", "AI b-roll", "generate a clip", "use Higgsfield", "motion transfer", "put my moves on", "restyle this part with AI", or asks for footage they did not film. Not for animated diagrams or motion graphics (motion), not for real screenshots and logos (overlays, logo-pack), and not for the cut (cut).

Skills associés