Communitygithub.com

メディア解決スキル

BGM、効果音、画像、アイコンなどのメディア需要を、凍結したローカルファイル+台帳レコードに解決します。

メディア解決スキル とは?

このスキルは、AIエージェントがメディアファイル(BGM、SFX、画像、アイコン)を迅速かつ確実に解決し、ローカルに保存するための単一の動詞 `resolve` を提供します。プロジェクト内キャッシュ、グローバルキャッシュ、HeyGenカタログ検索、ダウンロード(凍結)、台帳登録の一連の処理を自動化します。エージェントは解決結果の一行を受け取るだけで、検索ノイズや候補情報はすべてディスク上に残ります。主にHyperFramesやメディア生成を伴うAIエージェントワークフロー(Claude Code、Cursor、Codex)で使用され、ffprobeによるメタデータ抽出やHeyGen CLIによるカタログ検索に対応しています。既存の`assets/`ディレクトリを一括インポートする`--adopt`フラグも備え、プロジェクト間でのアセット再利用も自動キャッシュで実現します。

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

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

media-use

メディア需要を凍結したローカルファイルに解決します。一つの動詞、四つのタイプ、コンテキストノイズゼロ。

使用タイミング

コンポジションがBGM、効果音、画像、アイコンなどのメディアを必要とするときはいつでも resolve を呼び出します。media-use は HeyGen カタログを検索し、最適な結果をダウンロード、ローカルに凍結し、マニフェストに登録します。エージェントは一行の結果を受け取るだけです。すべての検索ノイズはディスク上に残ります。

Resolve

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

一行を返します: resolved <id> → <path> (<type>, <metadata>)

タイプ

タイプ見つけるものプロバイダー
bgm背景音楽HeyGen オーディオカタログ (1万以上)
sfx効果音バンドルされた19ファイルライブラリ + HeyGen カタログ
image写真、背景HeyGen アセット検索 (7万5千以上のベクター)
iconアイコン、ロゴHeyGen アセット検索 (type=icon)

使用例

# 背景音楽
node <SKILL_DIR>/scripts/resolve.mjs --type bgm --intent "明るいテック系ローンチ" --project .
# → resolved bgm_001 → .media/audio/bgm/bgm_001.mp3 (bgm, 25s)

# 効果音
node <SKILL_DIR>/scripts/resolve.mjs --type sfx --intent "ひゅーっ" --project .
# → resolved sfx_001 → .media/audio/sfx/sfx_001.mp3 (sfx, 0.57s)

# 画像
node <SKILL_DIR>/scripts/resolve.mjs --type image --intent "グラデーションのテック背景" --project .
# → resolved image_001 → .media/images/image_001.jpg (image)

# アイコン
node <SKILL_DIR>/scripts/resolve.mjs --type icon --intent "ロケット" --project .
# → resolved icon_001 → .media/images/icon_001.png (icon, transparent)

フラグ

フラグ説明
--type, -tメディアタイプ: bgm, sfx, image, icon
--intent, -i必要なもの(自然言語)
--entity, -eキャッシュマッチング用のエンティティ名(オプション)
--project, -pプロジェクトディレクトリ(デフォルト: .)
--adopt既存の assets/ を一括マニフェストに取り込む
--json一行結果の代わりにJSONを出力

仕組み

  1. プロジェクト .media/manifest.jsonl を確認し、プロンプトが完全一致するかをチェック
  2. 既存の assets/ ディレクトリをスキャンし、ニーズに合致する未登録ファイルを探す
  3. グローバルキャッシュ ~/.media/ で再利用可能なアセットを確認
  4. プロバイダー経由で検索(HeyGen オーディオカタログ、HeyGen アセット検索)
  5. ファイルを .media/<type>/ に凍結、マニフェストに登録し、index.md を再生成

エージェントは 一行 を受け取ります。候補、スコア、出典情報はディスク上に残ります。

既存プロジェクトの取り込み

ほとんどの HyperFrames プロジェクトにはすでに assets/ にアセットがあります。media-use はこれらを取り込みます:

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 が実際の長さと寸法を抽出します。resolve 実行時に、intent に一致する assets/ 内の未登録ファイルはその場で取り込まれます。

在庫の読み取り

resolve または adopt の後、.media/index.md を読むと全在庫が確認できます:

# .media · 4 assets

id         type   dur   dims       path                          description
bgm_001    bgm    25s   —          .media/audio/bgm/bgm_001.mp3  明るいテック系ローンチ
sfx_001    sfx    0.6s  —          .media/audio/sfx/sfx_001.mp3  ひゅーっ
image_001  image  —     1920×1080  .media/images/image_001.jpg   グラデーションのテック背景
icon_001   icon   —     200×200    .media/images/icon_001.png    ロケット

プロジェクト間再利用

アセットは resolve 時に自動的にキャッシュされます。同じプロンプトに対する後続の resolve は ~/.media/ のグローバルキャッシュにヒットします — 再ダウンロードもプロバイダー呼び出しもありません。アセットを明示的に organize --promote <id> で昇格させると、全プロジェクトで再利用可能になります。

ファイル

  • .media/manifest.jsonl — 機械用の唯一の真実源、1行に1JSONレコード
  • .media/index.md — エージェントが読めるテーブル (id, type, dur, dims, path, description)
  • ~/.media/ — グローバルなプロジェクト間再利用キャッシュ (コンテンツアドレス方式、SHA-256)

使用するCLIツール

ツール目的必須?
ffprobe取り込み時に長さ、寸法、コーデックを調べるはい
heygenオーディオカタログ、アセット検索プロバイダー用

heygen CLI(単一静的バイナリ、ランタイム不要)をインストールし、認証します:

curl -fsSL https://static.heygen.ai/cli/install.sh | bash   # 最新版を ~/.local/bin にインストール
heygen update                                               # すでにインストール済みの場合: v0.1.6以上が必要
export HEYGEN_API_KEY=<your-key>                            # または: heygen auth login --key <key>

heygen >= v0.1.6 が必要です — プロバイダーは、v0.1.6で追加された許可リスト --headers 'X-HeyGen-Client-Source: media-use' フラグを付けてリクエストします。asset search は heygen --help からは隠されているプレリリースコマンドですが、実行は可能です。PATHに heygen がない(または有効なキーがない)場合、プロバイダーはstderrに1行の診断メッセージを出力し、resolveは「プロバイダーが解決できませんでした」となります。

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.

関連スキル