Communitygithub.com

Média OS

Résout tout besoin média (BGM, SFX, image, icône) en un fichier local gelé + enregistrement dans un registre. Une seule commande (`resolve`) déclenche la cascade complète — cache projet, cache global, recherche catalogue HeyGen, gel, enregistrement.

Qu'est-ce que Média OS ?

Média OS est une compétence d'agent qui permet de résoudre tout besoin média (musique de fond, effets sonores, images ou icônes) en un fichier local figé, accompagné d'un enregistrement dans un registre. Elle s'utilise via une seule commande `resolve` qui déclenche une cascade de recherche : d'abord dans le cache du projet, puis dans le cache global, ensuite via le catalogue HeyGen (audio ou assets), avant de geler le meilleur résultat dans le dossier `.media/` et de l'enregistrer dans le manifeste. L'agent ne reçoit qu'une ligne de résultat ; tout le bruit de recherche reste sur le disque. La compétence prend en charge quatre types de médias : `bgm` (musique de fond), `sfx` (effets sonores), `image` (photos, fonds) et `icon` (icônes, logos). Elle est compatible avec des projets HyperFrames existants via la commande `--adopt` qui importe les assets déjà présents dans le dossier `assets/` en les analysant avec `ffprobe`. Le cache global (`~/.media/`) permet la réutilisation entre projets sans re-téléchargement. L'outil CLI `heygen` (version >= 0.1.6) est requis pour les recherches dans le catalogue HeyGen.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Jo5i4swastaken/Skills-Locker/tree/HEAD/skills/media-use

Demander à votre IA préférée

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

Documentation

media-use

Résout les besoins média en fichiers locaux gelés. Un seul verbe, quatre types, zéro bruit contextuel.

Quand l'utiliser

Appelez resolve dès qu'une composition a besoin de média — musique de fond, effets sonores, images ou icônes. media-use parcourt le catalogue HeyGen, télécharge la meilleure correspondance, la gèle localement et l'enregistre dans un manifeste. L'agent reçoit une seule ligne ; tout le bruit de recherche reste sur le disque.

Resolve

node <SKILL_DIR>/scripts/resolve.mjs --type <type> --intent "<description>" --project <dir>

Renvoie une ligne : resolved <id> → <path> (<type>, <metadata>)

Types

TypeCe qu'il trouveFournisseur
bgmMusique de fondCatalogue audio HeyGen (10k+ pistes)
sfxEffets sonoresBibliothèque intégrée 19 fichiers + catalogue HeyGen
imagePhotos, fondsRecherche d'assets HeyGen (75k+ vecteurs)
iconIcônes, logosRecherche d'assets HeyGen (type=icon)

Exemples

# Musique de fond
node <SKILL_DIR>/scripts/resolve.mjs --type bgm --intent "lancement tech dynamique" --project .
# → resolved bgm_001 → .media/audio/bgm/bgm_001.mp3 (bgm, 25s)

# Effet sonore
node <SKILL_DIR>/scripts/resolve.mjs --type sfx --intent "souffle" --project .
# → resolved sfx_001 → .media/audio/sfx/sfx_001.mp3 (sfx, 0.57s)

# Image
node <SKILL_DIR>/scripts/resolve.mjs --type image --intent "fond tech dégradé" --project .
# → resolved image_001 → .media/images/image_001.jpg (image)

# Icône
node <SKILL_DIR>/scripts/resolve.mjs --type icon --intent "fusée" --project .
# → resolved icon_001 → .media/images/icon_001.png (icon, transparent)

Flags

FlagDescription
--type, -tType de média : bgm, sfx, image, icon
--intent, -iCe dont vous avez besoin (langage naturel)
--entity, -eNom d'entité pour correspondance cache (optionnel)
--project, -pRépertoire du projet (défaut : .)
--adoptImport en masse des assets existants dans le manifeste
--jsonSortie JSON au lieu d'une ligne de résultat

Fonctionnement

  1. Vérifie .media/manifest.jsonl du projet pour une correspondance exacte de prompt
  2. Analyse le dossier assets/ existant pour des fichiers non enregistrés correspondant au besoin
  3. Vérifie le cache global ~/.media/ pour un asset réutilisable
  4. Recherche via le fournisseur (catalogue audio HeyGen, recherche d'assets HeyGen)
  5. Gèle le fichier dans .media/<type>/, l'enregistre dans le manifeste, regénère index.md

L'agent reçoit une seule ligne. Les candidats, scores, provenance restent sur le disque.

Adopter des projets existants

La plupart des projets HyperFrames ont déjà des assets dans assets/. media-use les adopte :

node <SKILL_DIR>/scripts/resolve.mjs --adopt --project .
# → adopted 9 assets from assets/
#   bgm_001 → assets/bgm/mango-fizz.mp3 (bgm, 146.6s)
#   image_001 → assets/images/avatar.jpg (image, 400×400)

ffprobe extrait la durée et les dimensions réelles. Pendant la résolution, les fichiers non enregistrés dans assets/ correspondant à l'intention sont adoptés à la volée.

Lecture de l'inventaire

Après resolve ou adopt, lisez .media/index.md pour l'inventaire complet :

# .media · 4 assets

id         type   dur   dims       path                          description
bgm_001    bgm    25s   —          .media/audio/bgm/bgm_001.mp3  lancement tech dynamique
sfx_001    sfx    0.6s  —          .media/audio/sfx/sfx_001.mp3  souffle
image_001  image  —     1920×1080  .media/images/image_001.jpg   fond tech dégradé
icon_001   icon   —     200×200    .media/images/icon_001.png    fusée

Réutilisation entre projets

Les assets sont automatiquement mis en cache lors de la résolution. Les résolutions ultérieures pour le même prompt utilisent le cache global dans ~/.media/ — pas de re-téléchargement, pas d'appel au fournisseur. Promouvez explicitement un asset avec organize --promote <id> pour le rendre réutilisable dans tous les projets.

Fichiers

  • .media/manifest.jsonl — SSOT machine, un enregistrement JSON par ligne
  • .media/index.md — tableau lisible par l'agent (id, type, dur, dims, path, description)
  • ~/.media/ — cache global de réutilisation entre projets (adressé par contenu, SHA-256)

Outils CLI utilisés

OutilObjectifRequis ?
ffprobeMesurer durée, dimensions, codec lors de l'adoptionOui
heygenCatalogue audio, recherche d'assetsPour les fournisseurs

Installez le CLI heygen (binaire statique unique, sans runtime) et authentifiez-vous :

curl -fsSL https://static.heygen.ai/cli/install.sh | bash   # installe la dernière version dans ~/.local/bin
heygen update                                               # si déjà installé : nécessite >= v0.1.6
export HEYGEN_API_KEY=<votre-clé>                           # ou : heygen auth login --key <clé>

Nécessite heygen >= v0.1.6 — les fournisseurs taguent les requêtes avec le drapeau autorisé --headers 'X-HeyGen-Client-Source: media-use', ajouté dans v0.1.6. asset search est une commande pré-lancement cachée de heygen --help, mais elle fonctionne. Sans heygen dans le PATH (ou une clé valide), les fournisseurs affichent un diagnostic d'une ligne sur stderr et la résolution échoue avec « aucun fournisseur n'a pu résoudre ».

Individual skills in this repo

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

Jo5i4swastaken/Skills-Locker

Implements the "100% Retrieval Strategy" by Vercel. Injects a compressed docs index into AGENTS.md/CLAUDE.md to guarantee the agent always uses your global skills and best practices.

Jo5i4swastaken/Skills-Locker

Premium brand-kit image generation skill for creating high-end brand-guidelines boards, logo systems, identity decks, and visual-world presentations. Trained for minimalist, cinematic, editorial, dark-tech, luxury, cultural, security, gaming, developer-tool, and consumer-app brand systems. Optimized for intentional logo concepting, refined composition, sparse typography, strong symbolic meaning, premium mockups, art-directed imagery, and flexible grid layouts.

Jo5i4swastaken/Skills-Locker

Rewrite text to make ideas and sentences clearer and easier to understand. Use when the user wants to simplify prose, untangle a tangled sentence, reduce jargon, sharpen vague claims, or make writing accessible to a wider audience. Works on any text: docs, emails, blog posts, reports, marketing copy, slide bullets, academic prose. TRIGGER on phrases like: "make this clearer", "clarify this", "simplify this", "rewrite for clarity", "plain language", "reduce jargon", "make it easier to understand", "untangle this", "explain this simply", "tighten this up", "make this readable". Returns the rewritten text only — no diff, no commentary.

Jo5i4swastaken/Skills-Locker

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

Jo5i4swastaken/Skills-Locker

Elite UX/UI & Advanced GSAP Motion Engineer. Enforces Python-driven true randomization for layout variance, strict AIDA page structure, wide editorial typography (bans 6-line wraps), gapless bento grids, strict GSAP ScrollTriggers (pinning, stacking, scrubbing), inline micro-images, and massive section spacing.

Jo5i4swastaken/Skills-Locker

Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.

Jo5i4swastaken/Skills-Locker

Use when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a frontend interface. Covers websites, landing pages, dashboards, product UI, app shells, components, forms, settings, onboarding, and empty states. Handles UX review, visual hierarchy, information architecture, cognitive load, accessibility, performance, responsive behavior, theming, anti-patterns, typography, fonts, spacing, layout, alignment, color, motion, micro-interactions, UX copy, error states, edge cases, i18n, and reusable design systems or tokens. Also use for bland designs that need to become bolder or more delightful, loud designs that should become quieter, live browser iteration on UI elements, or ambitious visual effects that should feel technically extraordinary. Not for backend-only or non-UI tasks.

Jo5i4swastaken/Skills-Locker

Author a HyperFrames slideshow composition — a presentation, pitch deck, or interactive deck with discrete slides, fragment reveals, branching sequences, and hotspot navigation. Use as an intent check when the user asks for a presentation, pitch deck, slide deck, interactive deck, or page-to-deck conversion that might be a slideshow; if the user did not explicitly ask for a slideshow / slide show, confirm before authoring.

Jo5i4swastaken/Skills-Locker

When the user wants help creating, scheduling, or optimizing social media content for LinkedIn, Twitter/X, Instagram, TikTok, Facebook, or other platforms, or wants to do social listening and engagement triage. Also use when the user mentions 'LinkedIn post,' 'Twitter thread,' 'social media,' 'content calendar,' 'social scheduling,' 'engagement,' 'viral content,' 'what should I post,' 'repurpose this content,' 'tweet ideas,' 'LinkedIn carousel,' 'social media strategy,' 'grow my following,' 'TikTok video,' 'Reels,' 'Shorts,' 'video script,' 'video hook,' 'short-form video,' 'create a reel,' 'social listening,' 'brand mentions,' 'competitor monitoring,' 'top posts to comment on,' 'find people asking for,' 'carousel,' 'slide-by-slide,' or 'document post.' Use this for social media content creation, repurposing, scheduling, short-form video scripting, and social listening. For broader content strategy, see content-strategy. For paid ads, see ad-creative. For earned media, see public-relations.

Jo5i4swastaken/Skills-Locker

Use when doing ANY task involving Supabase. Triggers: Supabase products (Database, Auth, Edge Functions, Realtime, Storage, Vectors, Cron, Queues); client libraries and SSR integrations (supabase-js, @supabase/ssr) in Next.js, React, SvelteKit, Astro, Remix; auth issues (login, logout, sessions, JWT, cookies, getSession, getUser, getClaims, RLS); Supabase CLI or MCP server; schema changes, migrations, security audits, Postgres extensions (pg_graphql, pg_cron, pg_vector).

Jo5i4swastaken/Skills-Locker

Watch a video (URL or local path). Downloads with yt-dlp, extracts auto-scaled frames with ffmpeg, pulls the transcript from captions (or Whisper API fallback), and hands the result to Claude so it can answer questions about what's in the video.

Skills associés