Agent Skills › nodetool-ai/nodetool › video-clone

video-clone

GitHub

分析参考视频的结构、镜头和音频,在遵守版权规则前提下,使用新内容重建分镜。

packages/system-skills/video-clone/SKILL.md nodetool-ai/nodetool

Trigger Scenarios

需要克隆或复刻特定视频风格与结构 基于现有视频素材进行二次创作或改编

Install

npx skills add nodetool-ai/nodetool --skill video-clone -g -y
More Options

Non-standard path

npx skills add https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/video-clone -g -y

Use without installing

npx skills use nodetool-ai/nodetool@video-clone

指定 Agent (Claude Code)

npx skills add nodetool-ai/nodetool --skill video-clone -a claude-code -g -y

安装 repo 全部 skill

npx skills add nodetool-ai/nodetool --all -g -y

预览 repo 内 skill

npx skills add nodetool-ai/nodetool --list

SKILL.md

Frontmatter
{
    "name": "video-clone",
    "description": "Analyze a reference video and recreate its shot structure with a new product or cast in NodeTool."
}

Load /storyboard-core first. It carries the loop, the tool contract and the gating this skill assumes. Everything below is the breakdown pass that comes before that loop, and the rules for what may and may not be carried over.

What makes this job type its own

The structure is given, so the work is reading it accurately and then rebuilding it with different content. Two failure modes: describing the reference vaguely enough that the rebuild is unrelated, and copying it closely enough that you reproduce somebody's trademarks.

Read the reference first

find_model with capability: "generate_message" for a model that reads video — Gemini does it natively — then:

understand_video {provider, model, video, prompt, max_tokens}

video takes an asset id, an asset:// URI, a URL or a data URI. It reads the whole video, not sampled frames. Ask for one thing at a time rather than everything at once; two or three calls read better than one overloaded prompt.

Extract, in this order:

  1. Frame: aspect, total length, shot count.
  2. The first three seconds — what the hook actually does, described as an action.
  3. Per shot: in and out timecode, framing, camera height, camera move, who speaks, whether the product is visible and how.
  4. Audio recipe: dialogue, voiceover, room tone, music, and whether the sound is diegetic.
  5. One paragraph on why it works — the mechanism, not praise.

Report the breakdown. Stop for an analysis-only request or a requested review. For an authorized remake, continue using the reference structure and the new brief.

What carries over, and what must not

Carry over Replace
Cut rhythm — each shot's duration The room, the set, the location
Camera heights and framings Wardrobe and casting
The order of beats: hook, demonstration, verdict Every spoken line
Whether the sound is diegetic The product
Aspect ratio and total length The palette, unless the user asks to match it

Never carry a trademark across. Logos, wordmarks, brand colours as identity, slogans, packaging layout and any readable sign in the reference stay out of the rebuild. Put no brand marks other than [PRODUCT] in the board style. If the user asks for the reference's actual logo, say plainly that the rebuild uses their product and nothing else, and carry on with the rest.

Rebuild

Map each extracted shot to one add_shot, keeping its duration as duration_seconds, its framing in camera.framing, its camera height in camera.angle and its move in camera.movement. The still prompt reads framing, angle and lens, and the clip prompt reads the movement, so none of them needs repeating in action.

Cast before rendering: a character entity from a generated reference you show the user first, and a prop entity from their pack shot. Slug the shots 1a, 2a, … so the user can name one against the reference's own numbering.

Then run the core loop: stills, take selection (select_version when the user names a take), clips.

Brief

Adapt these examples to the user's brief. Example deliverables, style choices, and approval checkpoints apply only when the user adopts them.

Read the attached reference video with understand_video (find a model that reads
video via find_model, capability=generate_message — Gemini reads it natively).

Extract: aspect, length, shot count; what the first three seconds do; then per
shot the in/out timecode, framing, camera height, move, who speaks and whether
the product is visible. Then the audio recipe, then one paragraph on the
mechanism that makes it work.

Report that and stop.

Then rebuild it for [PRODUCT] with a new character. Keep the cut rhythm, the
durations and the camera heights. Change the room, the wardrobe and every line.
Carry no trademark from the reference — board style gets "no brand marks other
than [PRODUCT]".

Cast from stills first: generate the character reference, show me, then tag it.
Slug every shot so I can say "fix 2a".

Version History

  • 97aad94 Current 2026-10-19 19:21

    修正工具名称、操作及参数以适配当前代码库,确保技能契约与实际实现一致。

  • 9b979bc 2026-09-22 23:31

Same Skill Collection

.agents/skills/agentic-qa/SKILL.md
.agents/skills/ask-matt/SKILL.md
.agents/skills/ast-grep-outline/SKILL.md
.agents/skills/ast-grep/SKILL.md
.agents/skills/code-review/SKILL.md
.agents/skills/codebase-design/SKILL.md
.agents/skills/companion-clis/SKILL.md
.agents/skills/diagnosing-bugs/SKILL.md
.agents/skills/domain-modeling/SKILL.md
.agents/skills/flash/SKILL.md
.agents/skills/grill-with-docs/SKILL.md
.agents/skills/implement/SKILL.md
.agents/skills/improve-codebase-architecture/SKILL.md
.agents/skills/prototype/SKILL.md
.agents/skills/research/SKILL.md
.agents/skills/resolving-merge-conflicts/SKILL.md
.agents/skills/runpodctl/SKILL.md
.agents/skills/setup-matt-pocock-skills/SKILL.md
.agents/skills/tdd/SKILL.md
.agents/skills/to-spec/SKILL.md
.agents/skills/to-tickets/SKILL.md
.agents/skills/triage/SKILL.md
.agents/skills/unslop/SKILL.md
.agents/skills/ux-research/SKILL.md
.agents/skills/wayfinder/SKILL.md
.agents/skills/wizard/SKILL.md
.agents/skills/yts806379-everything-claude-code-e2e-testing/SKILL.md
.claude/skills/ask-matt/SKILL.md
.claude/skills/ast-grep-outline/SKILL.md
.claude/skills/ast-grep/SKILL.md
.claude/skills/codebase-design/SKILL.md
.claude/skills/companion-clis/SKILL.md
.claude/skills/diagnosing-bugs/SKILL.md
.claude/skills/domain-modeling/SKILL.md
.claude/skills/flash/SKILL.md
.claude/skills/implement/SKILL.md
.claude/skills/improve-codebase-architecture/SKILL.md
.claude/skills/nodetool-api-reference/SKILL.md
.claude/skills/nodetool-browser-agent/SKILL.md
.claude/skills/nodetool-chat-cli/SKILL.md
.claude/skills/nodetool-custom-node-developer/SKILL.md
.claude/skills/nodetool-deployment/SKILL.md
.claude/skills/nodetool-model-provider-config/SKILL.md
.claude/skills/nodetool-rag-indexing/SKILL.md
.claude/skills/nodetool-troubleshooter/SKILL.md
.claude/skills/nodetool-workflow-builder/SKILL.md
.claude/skills/prototype/SKILL.md
.claude/skills/research/SKILL.md
.claude/skills/resolving-merge-conflicts/SKILL.md
.claude/skills/setup-matt-pocock-skills/SKILL.md

Metadata

Files
0
Version
97aad94
Hash
b2525efd
Indexed
2026-09-22 23:31

ホーム - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-10-24 12:30
浙ICP备14020137号-1