본문으로 건너뛰기
cccskills
무료GitHub에 공개

kelly-mv

Music-video production skill for turning an existing MP3 into a pure-visual (no-voiceover) music video through a bundled Busabase App-in-Skill UI. Use when the user wants to build an MV from a song they upload: write a one-line concept, keep a cast of characters with reference cards, and break the song into storyboard shots where each shot has a scene description and an image + video that can be either AI-generated (image-to-image from the character cards, draft video via local LTX) or uploaded by the user. Same character/storyboard management model as kelly-drama. Song generation (creating the song itself, incl. voice-cloned singing) is a documented future capability.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

실행 점수 미검증

설치 방법 보기

포함된 파일(79)

  • SKILL.md11.2 KB
  • agents/openai.yaml489 B
  • assets/screenshots/cast-zh-CN.webp130 B
  • assets/screenshots/cast.webp130 B
  • assets/screenshots/overview-zh-CN.webp130 B
  • assets/screenshots/overview.webp130 B
  • assets/screenshots/song-zh-CN.webp130 B
  • assets/screenshots/song.webp130 B
  • assets/screenshots/storyboard-zh-CN.webp130 B
  • assets/screenshots/storyboard.webp130 B
  • assets/screenshots/thumbs/cast-zh-CN.webp130 B
  • assets/screenshots/thumbs/cast.webp130 B
  • assets/screenshots/thumbs/overview-zh-CN.webp130 B
  • assets/screenshots/thumbs/overview.webp130 B
  • assets/screenshots/thumbs/song-zh-CN.webp130 B
  • assets/screenshots/thumbs/song.webp130 B
  • assets/screenshots/thumbs/storyboard-zh-CN.webp130 B
  • assets/screenshots/thumbs/storyboard.webp130 B
  • assets/starter-project.json4.8 KB
  • busabase.json882 B
  • content/_folder.json126 B
  • content/cast/base.json3.0 KB
  • content/kelly-mv-app/_node.json146 B
  • content/kelly-mv-app/.busabaseignore194 B
  • content/kelly-mv-app/app/accent-theme.css8.0 KB
  • content/kelly-mv-app/app/accent-theme.js7.7 KB
  • content/kelly-mv-app/app/app.js14.5 KB
  • content/kelly-mv-app/app/demo-visuals.css1.5 KB
  • content/kelly-mv-app/app/demo-visuals.js3.5 KB
  • content/kelly-mv-app/app/i18n/messages.js14.9 KB
  • content/kelly-mv-app/app/index.html7.0 KB
  • content/kelly-mv-app/app/js/busabase-client.js226 B
  • content/kelly-mv-app/app/js/config.js7.7 KB
  • content/kelly-mv-app/app/js/connect-gate.js1.6 KB
  • content/kelly-mv-app/app/js/demo-visuals-data.js4.5 KB
  • content/kelly-mv-app/app/js/mv-client.js3.9 KB
  • content/kelly-mv-app/app/js/mv-model.js7.9 KB
  • content/kelly-mv-app/app/js/providers/busabase-provider.js27.3 KB
  • content/kelly-mv-app/app/js/providers/demo-provider.js17.8 KB
  • content/kelly-mv-app/app/js/providers/index.js270 B
  • content/kelly-mv-app/app/js/runtime.js3.4 KB
  • content/kelly-mv-app/app/js/workspace-views.js26.3 KB
  • content/kelly-mv-app/app/styles/base-ui.css21.7 KB
  • content/kelly-mv-app/app/styles/editorial.css30.7 KB
  • content/kelly-mv-app/app/styles/layers.css33 B
  • content/kelly-mv-app/app/styles/shell.css19.7 KB
  • content/kelly-mv-app/app/styles/workflow.css20.9 KB
  • content/kelly-mv-app/app/vendor/busabase-airapp-gate.css6.1 KB
  • content/kelly-mv-app/app/vendor/busabase-airapp-gate.js11.2 KB
  • content/kelly-mv-app/app/vendor/busabase-airapp.js556.0 KB
  • content/kelly-mv-app/app/vendor/busabase-sdk.js849.5 KB
  • content/kelly-mv-app/package.json1.0 KB
  • content/kelly-mv-app/pnpm-lock.yaml5.2 KB
  • content/kelly-mv-app/pnpm-workspace.yaml50 B
  • content/kelly-mv-app/scripts/check-editorial.mjs6.1 KB
  • content/kelly-mv-app/scripts/check.mjs4.2 KB
  • content/kelly-mv-app/server.js5.6 KB
  • content/kelly-mv-app/test/mv-model.test.mjs7.0 KB
  • content/project/base.json2.0 KB
  • content/project/records.ndjson1.9 KB
  • content/settings/base.json1.8 KB
  • content/shots/base.json3.4 KB
  • package.json733 B
  • pnpm-lock.yaml4.3 KB
  • pnpm-workspace.yaml50 B
  • README.md4.4 KB
  • references/mv-workflow.md2.1 KB
  • references/ui-schema.md9.4 KB
  • scripts/create_sample_project.mjs4.3 KB
  • scripts/execute_generation_requests.mjs17.0 KB
  • scripts/export_story_bible.mjs5.0 KB
  • scripts/gen_draft_video.mjs4.5 KB
  • scripts/gen_song.py2.5 KB
  • scripts/generate_song_draft.mjs4.9 KB
  • scripts/lib/mv-busabase.mjs6.3 KB
  • scripts/publish_airapp.mjs3.1 KB
  • scripts/setup.mjs6.4 KB
  • scripts/sync-content.mjs2.5 KB
  • scripts/validate_shot_readiness.mjs3.7 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Kelly MV

App UI Screenshots

<table> <tr> <td width="50%"><img src="assets/screenshots/overview.webp" alt="Kelly MV concept view"></td> <td width="50%"><img src="assets/screenshots/storyboard.webp" alt="Kelly MV storyboard"></td> </tr> <tr> <td><strong>Concept</strong><br>MV concept workbench with project checklist, next-step guidance, concept form, and how-to walkthrough.</td> <td><strong>Storyboard</strong><br>Shot list with duration, image status, and a detail pane for description, image generation, and video upload.</td> </tr> <tr> <td width="50%"><img src="assets/screenshots/cast.webp" alt="Kelly MV cast"></td> <td width="50%"><img src="assets/screenshots/song.webp" alt="Kelly MV song"></td> </tr> <tr> <td><strong>Cast</strong><br>Character list with reference card status and a detail form for visual description, wardrobe, and consistency anchors.</td> <td><strong>Song</strong><br>MP3 upload and song metadata form with auto-detected duration and song-gen backend status.</td> </tr> </table>

Core Idea

Use this skill as a music-video creative workspace. The app is the human editing surface; the skill is the creative producer: it reasons, drafts, validates, exports, and fulfills the AI-generation requests the app can only queue. The app reads and writes a Busabase workspace — one Folder, four Bases (project/settings/cast/shots) — plus Busabase Drive Assets for every uploaded or generated MP3/image/video.

An MV here is pure picture — no voiceover, no dialogue, no on-screen lyrics. The job is simple: take an existing MP3 and give it visuals. The final video is the storyboard shots played in order over the song. (For voiced/dialogue drama, use kelly-drama instead — that is its job.)

The app has exactly four areas: 概括 (Concept), Song, 角色 (Cast), 分镜 (Storyboard). Keep it that simple — don't reintroduce song sections, timeline tiling, or large per-shot production sheets.

Default to the AirApp for ongoing creative work — give the user the clickable AirApp URL, or run pnpm --dir content/kelly-mv-app dev for a local preview. Use chat-only mode only when the user explicitly asks for "chat only", "no UI", "纯聊天", or similar.

Default Flow

  1. Open the AirApp (or pnpm --dir content/kelly-mv-app dev for local preview, which asks you to connect Busabase and select a Space — never an API key).
  2. On first run the workspace is empty; provision it from the app's setup screen, then seed the bundled starter (a 静夜思 sample MV) with node scripts/create_sample_project.mjs --apply, or start from scratch.
  3. Use the app, following the sidebar 下一步 (next step):
    • 概括 (Concept): one-line summary of what the MV is and its tonality, a one-line visual look, and aspect ratio. That's it.
    • Song: upload an MP3. Duration is read automatically. Optional title/artist. Nothing else.
    • 角色 (Cast): the people on screen. Stable id, role, three-view visual notes, wardrobe, anchors, forbidden drift, and a character reference card image. Generate reference cards before storyboard work when consistency matters. No voice profiles (pure-visual MV). Same model as kelly-drama.
    • 分镜 (Storyboard): an ordered list of shots. Each shot has a 画面描述 (scene description), on-screen characters, a duration, and an image + a video. Image and video can each be AI-generated (image-to-image from the character cards; draft video via local LTX) or uploaded by the user.
  4. Clicking a "Generate" button in the app only writes a request onto the character/shot record (reference_card_status / image_status / video_status = requested) — the browser cannot hold the image-API key or spawn the local LTX process. After the user asks, fulfill pending requests with node scripts/execute_generation_requests.mjs --apply (dry run without --apply).
  5. After edits, run node scripts/validate_shot_readiness.mjs (each shot has a title, description, and sane duration; warns on cast missing reference cards) before generating.
  6. Export a readable concept + shotlist with node scripts/export_story_bible.mjs for handoff.

Creative Operating Rules

  • Pure visual. Never add dialogue audio, narration TTS, or burned-in subtitles/lyrics. The only audio is the song itself.
  • Keep it simple. The shot is just a scene description + characters + duration + image + video. Do not add camera-spec sheets, song-section taxonomies, lyric timelines, or strict timeline-coverage rules.
  • Pace to the music. Cut shot lengths to the song — quick moments run short (4–6s), establishing/hero/montage runs longer (8–12s). A single AI-generated shot must be 4, 5, 6, 8, 10, or 12 seconds and never exceed 12s. (Uploaded clips can be any length.)
  • Two ways to fill a shot. Each shot's image and video can be generated or uploaded — both append as non-destructive candidates and the user picks the active one. Respect what the user wants; don't overwrite an uploaded asset by regenerating.
  • Character consistency via real image-to-image. Storyboard image generation feeds the existing character reference-card images to the image /images/edits endpoint as actual input pixels, not just text. If a character lacks a generated reference card, that shot falls back to text-to-image and the likeness drifts — generate the card first.
  • Generate in dependency order: song uploaded → concept written → cast reference cards → storyboard images → draft shot videos. The shot's description is the image prompt; an optional negative_prompt and video_prompt refine generation.
  • Photoreal MV look (when realism is the target): request cinematic music-video stills, real lensing, filmic grain; forbid on-screen lyrics/captions/watermarks/UI, readable fake text, plastic skin, and malformed hands.

Song Generation (future capability)

Selecting/importing an existing song is the supported path today. Creating the song itself — including singing in the user's cloned voice — is wired as a documented stub: scripts/generate_song_draft.mjs spawns scripts/gen_song.py, mirroring the local-draft / cloud-prod split used for video. gen_song.py stays Python deliberately (the local backends worth recommending are Python-ecosystem ML models with no Node equivalent); generate_song_draft.mjs is the trusted wrapper that uploads whatever it produces to Busabase.

Recommended local backends (Apple Silicon, no cloud):

  • SongGeneration v2 (Tencent) — native MLX weights mlx-community/SongGeneration-v2-large. Best fit for "本地 MLX 最好"; same family path as the local TTS/audio stack. Primary recommendation.
  • ACE-Step 1.5 — strongest local model, runs on Mac, <4GB, full vocals + instruments, supports audio-prompt timbre cloning and lyric editing → the path for "用我 clone 的声音创歌" (pass a reference clip as the timbre prompt).
  • YuE / DiffRhythm — full-length song-from-lyrics alternates; heavier.

Caveat: cloning a singing voice needs a singing reference clip; a spoken sample clones timbre but not vocal performance well. To enable generation, install a backend into a local venv, implement the inference call in scripts/gen_song.py, then run scripts/generate_song_draft.mjs --apply.

Busabase Resources

One Folder (kelly-mv), four Bases, declared in content/kelly-mv-app/app/js/config.js and the generated template sidecars under content/:

  • project: single-row MV project meta — song title/artist/asset-id/duration/source and the concept (treatment_summary/treatment_look/treatment_aspect_ratio).
  • settings: one row (record-id: "config") with the image-generation backend (base URL/model/size — the API key itself is an env var, never stored) and the song/video generation backend names.
  • cast: on-screen characters — visual notes, wardrobe, anchors/forbidden-drift (JSON arrays), and the reference-card's status/prompt/asset id.
  • shots: ordered storyboard shots (position field carries the order) — description/negative-prompt/video-prompt/duration/on-screen characters (JSON array of cast ids), and the image/video asset id + status + JSON-encoded candidate list.

Binary media (uploaded MP3, character reference images, shot images/videos) are Busabase Drive Assets, not Base fields — uploaded from the browser via busabase-sdk's real assets client (createUploadUrl → PUT bytes → confirm), with only the returned asset id stored on the owning record. See references/ui-schema.md for the full field <-> asset mapping and a known limitation of the standalone OSS CLI's asset-upload route.

Resources provision lazily through an idempotent Busabase ChangeRequest the first time the app runs in a Space. A soft-delete deleted text field ("true"/"false") backs the app's Delete buttons on cast/shots — there is no destructive record delete in the write surface.

When To Read References

  • Read references/mv-workflow.md when designing or improving an MV concept, cast library, shot breakdown, or image/video prompt workflow.
  • Read references/ui-schema.md when editing the app, generating/validating project data, or working with the Busabase field shapes or Drive Assets.

Useful Commands

pnpm --dir skills/kelly-mv/content/kelly-mv-app dev
node skills/kelly-mv/scripts/create_sample_project.mjs --apply
node skills/kelly-mv/scripts/validate_shot_readiness.mjs
node skills/kelly-mv/scripts/export_story_bible.mjs
node skills/kelly-mv/scripts/execute_generation_requests.mjs --apply
node skills/kelly-mv/scripts/generate_song_draft.mjs --apply

Run validate_shot_readiness.mjs (optionally --strict) before an image/video generation pass. Every trusted script here connects with its own credentials (BUSABASE_BASE_URL / BUSABASE_API_KEY / BUSABASE_SPACE_ID), never the AirApp's ambient session, and defaults to a dry run wherever it writes or generates.

Execution reports

Re-read the active Busabase workspace immediately before fulfilling any pending generation request. scripts/execute_generation_requests.mjs records each concrete operation, target, status, and error directly on the owning cast/shots record (*_status = generated/blocked) — there is no separate execution-report file.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Align all AI coding agents to a single source of truth. AGENTS.md for rules, .agents/skills/ for skills, symlinks for everything else. Use when setting up a repo for multiple agents, or when links are missing, broken, or out of date.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mr-kelly/skills52026년 10월 22일 업데이트

Read, answer and post on the Buda community forum at community.buda.im through its /api/v1/community REST API. Lists categories and posts, reads a thread with its replies, searches, and publishes posts and replies behind an explicit confirmation. Use when the user invokes $buda-community or /buda-community, asks what is happening in the Buda community, wants an unanswered question triaged or answered, or wants something posted or announced there.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mr-kelly/skills52026년 10월 22일 업데이트

Read, answer and post on the Busabase community forum at community.busabase.com through its /api/v1/community REST API. Lists categories and posts, reads a thread with its replies, searches, and publishes posts and replies behind an explicit confirmation. Use when the user invokes $busabase-community or /busabase-community, asks what is happening in the Busabase community, wants an unanswered question triaged or answered, or wants something posted or announced there.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mr-kelly/skills52026년 10월 22일 업데이트

kelly-ads

무료

Ad-campaign command desk (投放指挥台, Busabase App-in-Skill) for a cross-border e-commerce seller running Amazon Ads, Meta (FB/IG), TikTok Ads, and Google Ads. Use when the user invokes $kelly-ads or /kelly-ads, or asks about 投放, ad campaigns, ad spend, ACOS, ROAS, Amazon Ads, TikTok ads, Meta ads, Google Ads, search terms, negative keywords, bid adjustment, budget pacing, CPC spikes, rejected ads, ad anomaly detection, 广告优化, or reviewing agent-proposed adjustment cards (negative keyword, bid down/up, pause target, budget shift, creative refresh).

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mr-kelly/skills52026년 10월 22일 업데이트

Busabase-backed App-in-Skill low-code agent configuration and governance console for a platform team. Use when the user invokes $kelly-agent-builder or /kelly-agent-builder, wants to review or edit a catalog of mock LLM agent configs, check quota usage, find configs that need attention, move a draft to live, pause a live agent, or archive an agent. Mock config/governance console only — it never provisions or calls any real agent.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mr-kelly/skills52026년 10월 22일 업데이트

Review board (Busabase App-in-Skill) that runs a fixed suite of mock test cases against a baseline vs candidate agent version and surfaces rubric-scored regressions before a release. Use when the user invokes $kelly-agent-eval or /kelly-agent-eval, wants to review agent-version regressions, compare baseline vs candidate quality, triage a release, or record a release approve/block decision. Deterministic mock rubric scores only — not a real LLM-judge call, and it never deploys anything.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

mr-kelly/skills52026년 10월 22일 업데이트

mr-kelly의 스킬 모두 보기

이 스킬의 문제 신고