Communitygithub.com

Media OS — Resolución de medios para agentes

Resuelve cualquier necesidad de medios (BGM, SFX, imagen, icono) en un archivo local congelado más un registro en el manifiesto. Un solo verbo (`resolve`) maneja toda la cascada: caché del proyecto, caché global, búsqueda en el catálogo de HeyGen, congelación y registro. Mantiene el ruido de búsqueda en disco y le devuelve al agente una ruta. Úsalo cuando una composición necesite música de fondo, efectos de sonido, imágenes o iconos.

¿Qué es Media OS — Resolución de medios para agentes?

Media OS es una habilidad para agentes de IA diseñada para eliminar el ruido de las búsquedas de medios y proporcionar al agente una ruta local congelada. El verbo principal, `resolve`, acepta cuatro tipos de medios (música de fondo, efectos de sonido, imágenes e iconos) y ejecuta un proceso en cascada: primero verifica el manifiesto local del proyecto, luego la carpeta `assets/` existente, luego la caché global (`~/.media/`), y finalmente realiza una búsqueda en el catálogo de HeyGen. Cuando encuentra una coincidencia, descarga y congela el archivo en `.media/<tipo>/`, lo registra en `.media/manifest.jsonl` y actualiza `index.md` para que el agente pueda leerlo. La habilidad admite la adopción de proyectos existentes (importación masiva de activos de `assets/`), reutilización entre proyectos mediante caché global, y generación de inventarios legibles. Está pensada para cualquier composición que necesite medios — desde pistas de audio y efectos de sonido hasta fondos de imagen e iconos transparentes — y es compatible con proyectos HyperFrames y el ecosistema de herramientas CLI de HeyGen.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

media-use

Resuelve necesidades de medios en archivos locales congelados. Un verbo, cuatro tipos, cero ruido de contexto.

Cuándo usarlo

Usa resolve siempre que una composición necesite medios — música de fondo, efectos de sonido, imágenes o iconos. media-use busca en el catálogo de HeyGen, descarga la mejor coincidencia, la congela localmente y la registra en un manifiesto. El agente recibe una sola línea; todo el ruido de búsqueda se queda en disco.

Resolve

node <SKILL_DIR>/scripts/resolve.mjs --type <tipo> --intent "<descripción>" --project <directorio>

Devuelve una línea: resolved <id> → <ruta> (<tipo>, <metadatos>)

Tipos

TipoQué encuentraProveedor
bgmMúsica de fondoCatálogo de audio de HeyGen (10k+ pistas)
sfxEfectos de sonidoBiblioteca empaquetada de 19 archivos + catálogo de HeyGen
imageFotos, fondosBúsqueda de activos de HeyGen (75k+ vectores)
iconIconos, logotiposBúsqueda de activos de HeyGen (tipo=icono)

Ejemplos

# Música de fondo
node <SKILL_DIR>/scripts/resolve.mjs --type bgm --intent "lanzamiento tecnológico alegre" --project .
# → resolved bgm_001 → .media/audio/bgm/bgm_001.mp3 (bgm, 25s)

# Efecto de sonido
node <SKILL_DIR>/scripts/resolve.mjs --type sfx --intent "whoosh" --project .
# → resolved sfx_001 → .media/audio/sfx/sfx_001.mp3 (sfx, 0.57s)

# Imagen
node <SKILL_DIR>/scripts/resolve.mjs --type image --intent "fondo tecnológico degradado" --project .
# → resolved image_001 → .media/images/image_001.jpg (image)

# Icono
node <SKILL_DIR>/scripts/resolve.mjs --type icon --intent "cohete" --project .
# → resolved icon_001 → .media/images/icon_001.png (icon, transparente)

Banderas

BandaDescripción
--type, -tTipo de medio: bgm, sfx, image, icon
--intent, -iLo que necesitas (lenguaje natural)
--entity, -eNombre de la entidad para coincidencia en caché (opcional)
--project, -pDirectorio del proyecto (predeterminado: .)
--adoptImportación masiva de activos existentes de assets/ al manifiesto
--jsonSalida en JSON en lugar de resultado en una línea

Cómo funciona

  1. Verifica .media/manifest.jsonl del proyecto para una coincidencia exacta con la solicitud
  2. Escanea el directorio assets/ existente en busca de archivos no registrados que coincidan con la necesidad
  3. Verifica la caché global ~/.media/ para un activo reutilizable
  4. Busca a través del proveedor (catálogo de audio de HeyGen, búsqueda de activos de HeyGen)
  5. Congela el archivo en .media/<tipo>/, lo registra en el manifiesto, regenera index.md

El agente recibe una línea. Los candidatos, puntuaciones y procedencia se quedan en disco.

Adoptar proyectos existentes

La mayoría de los proyectos HyperFrames ya tienen activos en assets/. media-use los adopta:

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 extrae la duración y dimensiones reales. Durante resolve, los archivos no registrados en assets/ que coincidan con la solicitud se adoptan sobre la marcha.

Leer el inventario

Después de resolve o adopt, lee .media/index.md para ver el inventario completo:

# .media · 4 activos

id         type   dur   dims       path                          description
bgm_001    bgm    25s   —          .media/audio/bgm/bgm_001.mp3  lanzamiento tecnológico alegre
sfx_001    sfx    0.6s  —          .media/audio/sfx/sfx_001.mp3  whoosh
image_001  image  —     1920×1080  .media/images/image_001.jpg   fondo tecnológico degradado
icon_001   icon   —     200×200    .media/images/icon_001.png    cohete

Reutilización entre proyectos

Los activos se almacenan en caché automáticamente al resolver. Las resoluciones posteriores para la misma solicitud usan la caché global en ~/.media/ — sin redescarga, sin llamada al proveedor. Promociona un activo explícitamente con organize --promote <id> para hacerlo reutilizable en todos los proyectos.

Archivos

  • .media/manifest.jsonl — SSOT de máquina, un registro JSON por línea
  • .media/index.md — tabla legible por el agente (id, type, dur, dims, path, description)
  • ~/.media/ — caché global de reutilización entre proyectos (direccionada por contenido, SHA-256)

Herramientas CLI utilizadas

HerramientaPropósito¿Requerida?
ffprobeSondear duración, dimensiones, códec al adoptarSí
heygenCatálogo de audio, búsqueda de activosPara los proveedores

Instala la CLI heygen (binario estático único, sin tiempo de ejecución) y autentícate:

curl -fsSL https://static.heygen.ai/cli/install.sh | bash   # instala la última versión en ~/.local/bin
heygen update                                               # si ya está instalado: necesita >= v0.1.6
export HEYGEN_API_KEY=<tu-clave>                            # o: heygen auth login --key <clave>

Requiere heygen >= v0.1.6 — los proveedores etiquetan las solicitudes con la bandera permitida --headers 'X-HeyGen-Client-Source: media-use', añadida en v0.1.6. asset search es un comando previo al lanzamiento oculto de heygen --help, pero funciona. Sin heygen en PATH (o una clave válida) los proveedores imprimen un diagnóstico de una línea a stderr y la resolución falla con "ningún proveedor pudo resolver".

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 relacionados