Communitygithub.com

bg-szy/TOP-SKILLS

Utilisez cette compétence dès qu'un fichier .pptx ou .potx est impliqué, que ce soit pour créer, modifier, lire ou analyser des présentations PowerPoint.

Qu'est-ce que TOP-SKILLS ?

Cette compétence permet aux agents IA de manipuler des fichiers PowerPoint (.pptx) et leurs modèles (.potx) de manière fiable et contrôlée. Elle couvre la création de nouvelles présentations via la bibliothèque pptxgenjs, l'édition de decks existants par manipulation directe des fichiers XML (décompression → modification → recompression), et l'extraction de contenu textuel avec l'outil markitdown ou visuel avec un script de vignettes. La compétence inclut des scripts auxiliaires pour valider la conformité du fichier, dupliquer des diapositives, nettoyer les orphelins, et convertir en PDF via LibreOffice. Un ensemble détaillé de notes d'utilisation prévient les pièges courants (couleurs hex, ombres, listes, graphiques combinés). Elle fournit également des conseils de design (palettes, typographie, disposition des diapositives) pour éviter des présentations ennuyeuses. Compatible avec tout environnement exécutant Python, Node.js et les dépendances préinstallées (pptxgenjs, react-icons, sharp).

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/bg-szy/TOP-SKILLS/tree/HEAD/skills/skills/pptx

Demander à votre IA préférée

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

Documentation

Création, édition et analyse de présentations PPTX

Un fichier .pptx est une archive ZIP de fichiers XML. Choisissez votre approche selon la tâche :

TâcheApproche
Créer un nouveau deckÉcrire un script pptxgenjs — voir les pièges ci-dessous
Modifier un deck existant, ou construire à partir d'un modèledécompresser → éditer ppt/slides/slideN.xml → recompresser
Lire du contenumarkitdown deck.pptx (un bloc par diapositive sous les marqueurs <!-- Slide number: N -->) ; grille visuelle : python scripts/thumbnail.py deck.pptx

Scripts

Les chemins sont relatifs au répertoire de cette compétence. Le reste est en Python, node ou shell.

ScriptCe qu'il fait
scripts/thumbnail.py deck.pptx [prefix]Grille étiquetée de chaque diapositive, pour choisir les dispositions du modèle. .pptx uniquement. Passez prefix — par défaut thumbnails, ce qui écrase les grilles de tout autre deck fait dans le même répertoire
scripts/add_slide.py unpacked/ slide2.xml [--after slideN.xml]Duplique une diapositive (ou un slideLayoutN.xml) avec toute la comptabilité du package. Accepte aussi un .pptx directement avec -o out.pptx
scripts/clean.py unpacked/Supprime les diapositives, médias et rels qui ne sont plus référencés. Exécutez après avoir finalisé <p:sldIdLst>
scripts/office/validate.py deck.pptx [--original src.pptx]Vérifications de schéma, de relations, de types de contenu, de graphiques et de diapositives ; chaque échec nomme sa correction. Passez --original pour tout deck dérivé d'un modèle — il normalise les vérifications de schéma par rapport au modèle, de sorte que les propres erreurs XSD du modèle ne soient pas considérées comme les vôtres
scripts/office/soffice.py --headless --convert-to pdf deck.pptxWrapper LibreOffice — le soffice nu bloque dans ce sandbox

Création avec pptxgenjs — pièges

pptxgenjs est préinstallé — n'exécutez pas npm install d'abord ; écrivez le script et utilisez require('pptxgenjs') directement. Si ce require échoue seulement : npm install pptxgenjs. Le modèle connaît l'API ; voici les pièges :

  • Définissez pres.layout avant d'ajouter des diapositives. Le canevas par défaut est LAYOUT_16x9 = 10" × 5,625", pas 13,3" de large. Les coordonnées au-delà du bord sont écrites, pas limitées — la forme n'est tout simplement pas sur la diapositive. (LAYOUT_WIDE fait 13,3" × 7,5".)
  • Couleurs hex : jamais #, jamais 8 chiffres. color: "FF0000". "#FF0000" et l'alpha intégré dans l'hex ("00000020") corrompent le fichier. Pour la translucidité : transparency: 0-100 sur les remplissages et images, opacity: 0.0-1.0 sur les ombres — chacun est ignoré silencieusement sur l'autre.
  • pptxgenjs mute les objets d'options en place (convertit les valeurs en EMU lors de la première utilisation). Ne partagez jamais un objet shadow/options entre deux appels add* — construisez un nouvel objet à chaque fois.
  • Le offset d'une ombre doit être ≥ 0 — un offset négatif corrompt le fichier. Pour projeter une ombre vers le haut, utilisez angle: 270 avec un offset positif.
  • letterSpacing est ignoré silencieusement — la vraie option est charSpacing.
  • Listes : bullet: true sur chaque élément, jamais un • littéral (affiche des doubles puces). Définissez breakLine: true sur chaque élément du tableau sauf le dernier. Espacez les paragraphes à puces avec paraSpaceAfter, pas lineSpacing (gros écarts).
  • Un new pptxgen() par fichier de sortie — ne réutilisez jamais une instance.
  • rectRadius fonctionne uniquement sur ROUNDED_RECTANGLE, pas sur RECTANGLE.
  • Les remplissages dégradés ne sont pas pris en charge — utilisez une image dégradée comme arrière-plan à la place.
  • Les zones de texte ont un padding interne intégré — définissez margin: 0 chaque fois que le texte doit s'aligner avec une forme, une ligne ou une icône au même x.
  • Les notes de l'orateur vont dans slide.addNotes("...") (texte brut, une fois par diapositive), jamais dans une zone de texte sur la diapositive.
  • Gardez les graphiques natifs. Utilisez addChart() pour tout ce que PowerPoint peut mettre en graphique (passez un tableau de {type, data, options} pour les combinaisons). Pour les fonctionnalités natives de PowerPoint que la bibliothèque n'expose pas (lignes de tendance, barres d'erreur), calculez vous-même les séries supplémentaires ou post-traitez l'OOXML généré — ne retombez pas sur une image rendue. Seuls les types de graphiques dont PowerPoint n'a pas de forme native (Sankey, réseau, corde) sont placés en tant qu'images.
  • Les graphiques par défaut s'affichent nus — pas de titre, pas d'étiquettes de données, palette datée. Définissez showTitle + title, showValue: true + dataLabelPosition, chartColors: [...] à partir de votre palette, et calmez le cadre (catAxisLabelColor/valAxisLabelColor, valGridLine: { color, size }, catGridLine: { style: "none" }, showLegend: false pour une seule série).
  • Sur un graphique à barres ou colonnes empilées, dataLabelPosition doit être ctr, inEnd ou inBase. outEnd corrompt le fichier.
  • Une série combinée utilisant secondaryValAxis/secondaryCatAxis nécessite à la fois valAxes et catAxes dans les options du graphique, deux entrées chacun. Sans cela, pptxgenjs écrit des ids d'axe qu'il ne déclare jamais, et PowerPoint rejette ce graphique et signale le fichier comme corrompu. Fournir seulement valAxes ne suffit pas.
  • Après writeFile(), exécutez python scripts/office/validate.py deck.pptx. Il signale les deux défauts de graphique ci-dessus et les défauts de diapositive-XML que PowerPoint refuse, et nomme la correction pour chacun. Corrigez-les dans votre générateur, pas en éditant à la main le XML compressé.
  • Ne réordonnez jamais les enfants de <p:presentation>. pptxgenjs écrit <p:notesMasterIdLst> juste après <p:sldIdLst> et pointe les deux maîtres sur une seule partie de thème. PowerPoint lit cela joyeusement — déplacez l'élément et le même deck devient impossible à ouvrir.
  • Icônes : rendez react-icons en SVG (ReactDOMServer.renderToStaticMarkup), rasterisez avec sharp à ≥256px, et insérez via addImage({ data: "image/png;base64," + buf.toString("base64") }) — le préfixe image/png;base64, est requis (react-icons, react, react-dom et sharp sont préinstallés — npm install react-icons react react-dom sharp seulement si un require échoue).

Modification de decks et de modèles existants

Choisissez d'abord les dispositions : python scripts/thumbnail.py template.pptx template-thumbs écrit une grille étiquetée de chaque diapositive et imprime le(s) fichier(s) créé(s) — template-thumbs.jpg, divisé en template-thumbs-N.jpg au-delà de 12 diapositives. Passez toujours ce deuxième argument, nommé d'après le deck. Par défaut, il s'agit de thumbnails, donc deux decks dont les miniatures sont générées dans un même répertoire écrasent silencieusement les grilles de l'autre — les grilles du premier deck sont simplement supprimées (analyse du modèle uniquement — le contrôle qualité visuel nécessite les rendus en pleine résolution de Conversion en images ; il n'accepte que .pptx, donc copiez d'abord un .potx en un nom .pptx). Utilisez-le avec markitdown pour mapper chaque section de contenu sur une diapositive de modèle, et variez les dispositions — ne mettez pas chaque section sur la même diapositive titre-et-puces.

python3 -c "import sys,zipfile; zipfile.ZipFile(sys.argv[1]).extractall('unpacked')" deck.pptx
python scripts/add_slide.py unpacked/ slide2.xml --after slide2.xml   # duplique une diapositive (ou slideLayoutN.xml) ; imprime le chemin de la nouvelle diapositive
# réorganiser / supprimer des diapositives = modifier <p:sldIdLst> dans ppt/presentation.xml
python scripts/clean.py unpacked/                                     # après les suppressions : supprime les diapositives, médias et rels orphelins
# modifier le contenu des diapositives dans ppt/slides/slideN.xml
(cd unpacked && rm -f ../out.pptx && zip -Xr ../out.pptx .)           # compresser DEPUIS l'intérieur du répertoire ; rm d'abord ou les parties supprimées survivent
python scripts/office/validate.py out.pptx --original deck.pptx
  • Faites tout le travail structurel — ajout, suppression, réorganisation — avant de modifier le contenu d'une diapositive. add_slide.py copie un fichier de diapositive textuellement, donc dupliquer après une modification clone le contenu édité ; et clean.py supprime toute diapositive manquante dans <p:sldIdLst>, y compris celle que vous venez d'écrire.
  • Ne copiez jamais un fichier de diapositive à la main — add_slide.py effectue tous les enregistrements nécessaires pour une nouvelle diapositive et indique ce qu'il a créé (Created ppt/slides/slide17.xml from slide2.xml). Il fonctionne aussi directement sur un fichier : add_slide.py deck.pptx slide2.xml -o out.pptx — passez -o, ou il réécrit le deck d'entrée en place. Une diapositive dupliquée référence toujours les parties de graphique/SmartArt/objet incorporé de sa source plutôt que de les cloner, donc modifier le graphique d'une diapositive modifie celui de l'autre.
  • Si vous utilisez python-pptx, trois choses qu'il ne fera pas : dupliquer une diapositive (son seul point d'entrée est add_slide(layout)), préserver la mise en forme via text_frame.text = "..." (cela réduit le paragraphe à un seul run non stylisé — utilisez plutôt run.text), ou lire le SVG/EMF que la plupart des modèles utilisent (add_picture lève UnidentifiedImageError).
  • Le .ppt hérité doit d'abord être converti : python scripts/office/soffice.py --headless --convert-to pptx file.ppt. Les modèles .potx se décompressent et se compressent à l'identique — conservez l'extension .potx sur la sortie.
  • Pour réutiliser une icône ou une image de modèle, dupliquez une diapositive ou une disposition qui la contient déjà.

Lors du remplissage d'un modèle :

  • Si vous scriptez une transformation XML, analysez avec defusedxml.minidom — le passage aller-retour d'OOXML via xml.etree.ElementTree réécrit les préfixes d'espace de noms et corrompt le deck.
  • Les emplacements du modèle ≠ les éléments source. Si le modèle affiche 4 membres d'équipe et que vous en avez 3, supprimez le groupe entier du 4e membre (image + zones de texte), pas seulement son texte — puis vérifiez les visuels orphelins lors du contrôle qualité.
  • Un <a:p> par élément de liste — ne concaténez jamais des éléments en un seul paragraphe. Copiez le <a:pPr> frère pour préserver l'espacement, et mettez b="1" sur le <a:rPr> des titres, en-têtes de section et étiquettes en ligne (Status :, Owner :).
  • Laissez les puces hériter de la disposition ; ajoutez <a:buChar>, <a:buAutoNum> (numéroté) ou <a:buNone> uniquement pour remplacer — jamais un • littéral dans le texte.
  • Le texte avec des espaces de début ou de fin nécessite xml:space="preserve" sur son <a:t>.

Idées de design

Ne créez pas de diapositives ennuyeuses. Des puces simples sur fond blanc n'impressionneront personne. Considérez les idées de cette liste pour chaque diapositive.

Avant de commencer

  • Choisissez une palette de couleurs audacieuse et adaptée au contenu : La palette doit sembler conçue pour CE sujet. Si échanger vos couleurs dans une présentation complètement différente "fonctionne" toujours, vous n'avez pas fait de choix assez spécifiques.
  • Dominance plutôt qu'égalité : Une couleur doit dominer (60-70% de poids visuel), avec 1-2 tons de soutien et un accent vif. Ne donnez jamais un poids égal à toutes les couleurs.
  • Contraste sombre/clair : Arrière-plans sombres pour les diapositives de titre et de conclusion, clairs pour le contenu (structure "sandwich"). Ou optez pour le sombre partout pour un aspect premium.
  • Adoptez un motif visuel : Choisissez UN élément distinctif et répétez-le — cadres d'image arrondis, icônes dans des cercles colorés. Portez-le sur chaque diapositive. N'utilisez pas de barre de couleur ou de bande d'accent comme motif (voir la liste À éviter).

Palettes de couleurs

Choisissez des couleurs qui correspondent à votre sujet — ne vous rabattez pas sur le bleu générique. Utilisez ces palettes comme inspiration :

ThèmePrimaireSecondaireAccent
Midnight Executive1E2761 (bleu marine)CADCFC (bleu glacé)FFFFFF (blanc)
Forest & Moss2C5F2D (forêt)97BC62 (mousse)F5F5F5 (crème)
Coral EnergyF96167 (corail)F9E795 (or)2F3C7E (bleu marine)
Warm TerracottaB85042 (terre cuite)E7E8D1 (sable)A7BEAE (sauge)
Ocean Gradient065A82 (bleu profond)1C7293 (sarcelle)21295C (minuit)
Charcoal Minimal36454F (charbon)F2F2F2 (blanc cassé)212121 (noir)
Teal Trust028090 (sarcelle)00A896 (écume de mer)02C39A (menthe)
Berry & Cream6D2E46 (baie)A26769 (rose poussiéreux)ECE2D0 (crème)
Sage Calm84B59F (sauge)69A297 (eucalyptus)50808E (ardoise)
Cherry Bold990011 (cerise)FCF6F5 (blanc cassé)2F3C7E (bleu marine)

Pour chaque diapositive

Chaque diapositive a besoin d'un élément visuel — image, graphique, icône ou forme. Les diapositives uniquement textuelles sont oubliables.

Options de disposition :

  • Deux colonnes (texte à gauche, illustration à droite)
  • Icône + lignes de texte (icône dans un cercle coloré, titre en gras, description en dessous)
  • Grille 2x2 ou 2x3 (image d'un côté, grille de blocs de contenu de l'autre)
  • Image demi-à-fond (côté gauche ou droit complet) avec superposition de contenu

Affichage des données :

  • Grands chiffres d'appel (grands nombres 60-72pt avec petites étiquettes en dessous)
  • Colonnes de comparaison (avant/après, pour/contre, options côte à côte)
  • Chronologie ou flux de processus (étapes numérotées, flèches)

Finition visuelle :

  • Icônes dans de petits cercles colorés à côté des en-têtes de section
  • Texte en italique pour les statistiques clés ou les slogans

Typographie

Les noms de polices que vous écrivez dans le .pptx sont rendus par le PowerPoint de l'utilisateur, pas par cet environnement. Votre contrôle qualité visuel est rendu via LibreOffice, qui substitue les polices qu'il ne possède pas — et pour certaines polices, la substitution a des largeurs différentes, donc votre aperçu de contrôle qualité peut montrer un débordement de texte (ou un ajustement) que le véritable deck n'aura pas. Pour garder votre contrôle qualité fiable :

  • Polices sûres (rendu fidèle à la largeur dans le contrôle qualité et livrées avec Office) : Arial, Calibri, Cambria, Times New Roman, Courier New, Bookman Old Style, Century Schoolbook. Utilisez-les pour le corps du texte et tout ce qui concerne l'ajustement.
  • En-têtes avec personnalité à risque de contrôle qualité zéro : associez une police avec empattements de la liste sûre (Cambria, Bookman Old Style, Century Schoolbook) avec une police sans empattements de la liste sûre (Calibri ou Arial). Vous obtenez un contraste visuel sans renoncer à des vérifications fiables de débordement.
  • Si l'utilisateur demande une police en dehors de la liste sûre (par exemple Georgia ou Trebuchet MS) : utilisez-la là où l'utilisateur l'a demandée, mais dimensionnez ces conteneurs avec une marge supplémentaire (~10%) et ne faites pas confiance au contrôle qualité de l'ajustement du texte sur ces éléments — l'aperçu de cette police est approximatif. Si l'utilisateur n'a pas spécifié, préférez les polices de la liste sûre pour le corps du texte.
  • Polices non fiables pour le contrôle qualité (la substitution a des largeurs différentes — les vérifications de débordement peuvent être erronées) : Georgia, Trebuchet MS, Impact, Arial Black, Garamond, Consolas, Palatino Linotype. La substitution de Calibri Light varie selon l'environnement ; traitez-la comme non fiable pour le contrôle qualité. Bon pour les titres/acce

… (la suite du texte est tronquée)

Individual skills in this repo

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

bg-szy/TOP-SKILLS

Brand-first landing page designer — runs a brand-identity interview (colors, typography, shape language), then generates and iterates on a polished landing page via Stitch with deployment-ready HTML. Use when the user asks to create, design, or build a landing page, homepage, or marketing page and has no established visual direction. Skip when they have a design mockup, need a dashboard or app UI, are working at component level, building a multi-page app, or restyling with known design tokens — use frontend-design instead.

bg-szy/TOP-SKILLS

Fill out Microsoft Azure Landing Zone (ALZ) Accelerator checklists by interviewing the user, mapping their Azure subscriptions, integrating IP addressing documentation, and applying Microsoft Cloud Adoption Framework best practices. Produces a completed Excel checklist (.xlsx) ready for ALZ deployment. Use this skill whenever the user mentions Azure Landing Zone, ALZ checklist, landing zone accelerator, platform landing zone configuration, ALZ bootstrap, hub-and-spoke setup, Azure network topology planning, or wants to fill out any ALZ-related checklist or configuration file. Also trigger when the user uploads an Excel file that contains tabs like "Accelerator - Bootstrap", "Accelerator - Bicep", or "Accelerator - Terraform".

bg-szy/TOP-SKILLS

Compose a premium, animated landing page section by section in Next.js + Tailwind + Motion (Framer Motion) — built on a real design system, with editorial copy and motion that feels human-crafted, not template-generated. Use when building or rebuilding a landing page, marketing site, or hero/feature/pricing/CTA sections that need to look production-ready and bespoke from day one.

bg-szy/TOP-SKILLS

Write high-converting landing page copy using proven frameworks like PAS (Problem-Agitate-Solution), AIDA, and StoryBrand. Creates headlines, value propositions, CTAs, and full page sections optimized for conversion. Use when users need landing page copy, sales page content, or marketing website text.

bg-szy/TOP-SKILLS

Optimize landing pages for conversions, performance, and SEO. Use when improving landing pages, increasing conversions, or optimizing page performance.

bg-szy/TOP-SKILLS

Review investment portfolios for risk, diversification, fees. Asset allocation recommendations, tax-loss harvesting, rebalancing.

bg-szy/TOP-SKILLS

Beads Viewer - Graph-aware triage engine for Beads projects. Computes PageRank, betweenness, critical path, and cycles. Use --robot-* flags for AI agents.

bg-szy/TOP-SKILLS

CI red? Call us. Pipeline fire brigade deploys. Use when user mentions CI failures, build errors, test failures, or pipeline issues. Do NOT load for: local builds, standard implementation work, reviews, or setup.

bg-szy/TOP-SKILLS

CASS Memory System - procedural memory for AI coding agents. Three-layer cognitive architecture with confidence decay, anti-pattern learning, cross-agent knowledge transfer, trauma guard safety system. Bun/TypeScript CLI.

bg-szy/TOP-SKILLS

Mandatory entry point: read this first for any request to make, create, edit, animate, or render a video, animation, or motion graphic, including a promo, explainer, captioned clip, title card, overlay, slideshow or interactive deck, Remotion port, or any HyperFrames HTML composition. Also use it to inspect, diagnose, validate, preview, publish, or batch-render an existing HyperFrames project. Inputs may be a website URL, GitHub PR, Figma design or URL, text or brief, existing footage, or music. It resumes project state, captures intent when applicable, selects and installs the owning workflow, and routes domain capabilities. HyperFrames is the default output framework unless the user explicitly chooses another framework for the deliverable or asks only to record a browser session.

bg-szy/TOP-SKILLS

Expert in building portfolios that actually land jobs and clients - not just showing work, but creating memorable experiences. Covers developer portfolios, designer portfolios, creative portfolios, and portfolios that convert visitors into opportunities.

bg-szy/TOP-SKILLS

Use when the user asks to "pre-launch check the landing page", "run a Quality-Score preflight", or "verify ad-to-page message match before launch"; produces an ad↔page continuity report — message-match gaps, above-the-fold check, page-speed read, form-friction count, mobile-render flags — as a pass/fix punch list. Not for redesigning or rewriting the page — use landing-optimizer; not for scoring the account or the RQS — use ad-account-auditor. 落地页体验预检/广告落地页一致性检查

bg-szy/TOP-SKILLS

Use when the user asks to "optimize our landing page for influencer traffic", "fix our promo-code landing page", or "improve conversion from a creator campaign"; produces a message-match audit, page-structure and social-proof recommendations, a promo-code/CTA conversion plan, and an A/B test roadmap. Not for measuring campaign results after launch — use performance-analyzer.

bg-szy/TOP-SKILLS

Audit a landing page, sales page or checkout page for conversion leaks and return a fix list ordered by expected revenue impact. Use when asked to review, critique or improve a landing page, sales page, opt-in page, product page or checkout flow, when conversion rate is low, when paid traffic is not converting, or when someone asks "why isn't this page converting" or wants a CRO / landing page review.

bg-szy/TOP-SKILLS

Landing page conversion optimization with layout rules, hero section design, and CTA psychology. Covers above-the-fold formula, social proof placement, mobile design, and F-pattern reading. Use for: startup landing pages, product pages, SaaS marketing, conversion optimization. Triggers: landing page, hero section, above the fold, conversion optimization, landing page design, cta button, hero image, landing page layout, saas landing page, product page design, conversion rate, landing page best practices

bg-szy/TOP-SKILLS

Create high-converting, visually distinctive landing pages. Use when building marketing pages, product launches, SaaS homepages, or any single-page conversion-focused website. Guides section-by-section composition with anti-AI-slop principles.

bg-szy/TOP-SKILLS

Landing page conversion optimization with layout rules, hero section design, and CTA psychology. Covers above-the-fold formula, social proof placement, mobile design, and F-pattern reading. Use for: startup landing pages, product pages, SaaS marketing, conversion optimization. Triggers: landing page, hero section, above the fold, conversion optimization, landing page design, cta button, hero image, landing page layout, saas landing page, product page design, conversion rate, landing page best practices

bg-szy/TOP-SKILLS

Account assets, equity and fund positions, P&L, cash flow records, account statements, margin ratios, buy-power estimates, order management, and DCA recurring investments via Longbridge (most require Trade permission). Frameworks: portfolio diagnosis, rebalancing, asset allocation, risk analysis (VaR/CVaR), performance attribution, and tax-loss harvesting. Triggers: "持仓", "账户", "盈亏", "资产", "对账单", "下单", "买入", "卖出", "撤单", "定投", "组合诊断", "再平衡", "资产配置", "风险分析", "绩效归因", "税损收割", "持倉", "賬戶", "盈虧", "對賬單", "下單", "買入", "賣出", "組合診斷", "再平衡", "稅損收割", "positions", "portfolio", "P&L", "order", "buy", "sell", "DCA", "statement", "risk analysis", "rebalancing", "tax harvesting", "我的风险", "持仓风险", "风险敞口", "資產", "資產配置", "風險分析", "績效歸因", "撤單

bg-szy/TOP-SKILLS

Auto-loaded context for Portfolio Buddy 2 development. Use for ANY task involving: React 19 development, TypeScript, portfolio analysis features, metrics calculations, trading strategy comparison, or working with the Portfolio Buddy 2 codebase. Contains tech stack, known issues, and architectural constraints.

bg-szy/TOP-SKILLS

Process video files with audio extraction, format conversion (mp4, webm), and Whisper transcription. Use when user mentions video conversion, audio extraction, transcription, mp4, webm, ffmpeg, or whisper transcription.

Skills associés