Guizang Social Cards
op7418/guizang-social-card-skill
Produces social card sets for Xiaohongshu and WeChat: carousels, Live Photo motion cards and puzzle layouts, and WeChat cover pairs, rendered from single-file HTML.
Repair or re-generate footage already on a NodeTool timeline: cutouts, tracking, outpainting, upscaling, generated sound, voice replacement, lip sync.
$ npx skills add nodetool-ai/nodetool --skill nodetool-video-post -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nodetool-ai/nodetool nodetool-video-post --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/system-skills/nodetool-video-post .claude/skills/nodetool-video-post && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "nodetool-video-post" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/nodetool-video-post into .claude/skills/nodetool-video-post/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodetool-video-post", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/nodetool-video-postType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add nodetool-ai/nodetool --skill nodetool-video-post -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nodetool-ai/nodetool nodetool-video-post --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .agents/skills && cp -r skills-src/packages/system-skills/nodetool-video-post .agents/skills/nodetool-video-post && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "nodetool-video-post" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/nodetool-video-post into .agents/skills/nodetool-video-post/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodetool-video-post", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nodetool-ai/nodetool --skill nodetool-video-post -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nodetool-ai/nodetool nodetool-video-post --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/packages/system-skills/nodetool-video-post .cursor/skills/nodetool-video-post && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "nodetool-video-post" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/nodetool-video-post into .cursor/skills/nodetool-video-post/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodetool-video-post", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/nodetool-ai/nodetool.git --path packages/system-skills/nodetool-video-post--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add nodetool-ai/nodetool --skill nodetool-video-post -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nodetool-ai/nodetool nodetool-video-post --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/packages/system-skills/nodetool-video-post .gemini/skills/nodetool-video-post && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "nodetool-video-post" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/nodetool-video-post into .gemini/skills/nodetool-video-post/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodetool-video-post", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install nodetool-ai/nodetool nodetool-video-postInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add nodetool-ai/nodetool --skill nodetool-video-post -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .github/skills && cp -r skills-src/packages/system-skills/nodetool-video-post .github/skills/nodetool-video-post && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "nodetool-video-post" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/nodetool-video-post into .github/skills/nodetool-video-post/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodetool-video-post", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nodetool-ai/nodetool --skill nodetool-video-post -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nodetool-ai/nodetool nodetool-video-post --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/packages/system-skills/nodetool-video-post .opencode/skills/nodetool-video-post && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "nodetool-video-post" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/packages/system-skills/nodetool-video-post into .opencode/skills/nodetool-video-post/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "nodetool-video-post", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
nodetool-video-postRepair or re-generate footage already on a NodeTool timeline: cutouts, tracking, outpainting, upscaling, generated sound, voice replacement, lip sync.
Nodetool Video Post is an agent skill from nodetool-ai/nodetool. Repair or re-generate footage already on a NodeTool timeline: cutouts, tracking, outpainting, upscaling, generated sound, voice replacement, lip sync. Covers the candidate review protocol these return.
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Media & Creative. The repository describes itself as: Agent-first Creative Workspace. The licence is AGPL-3.0.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 339f069. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Nodetool Video Post loads about 1.8k tokens when it runs. Until then it costs about 55 tokens; SKILL.md has 914 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from nodetool-ai/nodetool at commit 339f069, republished under its AGPL-3.0 licence (© nodetool-ai). 914 words, ~1,806 tokens.
.claude/skills/nodetool-video-post/SKILL.md (or your agent's skills folder).Footage already exists and something about it has to change. These tools act on one clip of a saved timeline sequence, not on a storyboard shot and not on a loose asset.
Directing a new piece belongs to storyboard-core
and its job skills. Cutting, animating, transitions and titles belong to the
motion-graphics system skill: load it with
load_skill {name: "motion-graphics"} before the first edit_timeline call, as
it carries the full op list, the presets and the preview contract.
| The problem | Tool | What it writes |
|---|---|---|
| Replace what is behind the subject | isolate_subject | A generatedMatte on that clip |
| Make another clip follow a moving subject | track_object | A document-level track others bind_to_track |
| The frame is the wrong aspect ratio | expand_frame | An inactive video candidate |
| The footage is too soft or too small | upscale_video | An inactive video candidate |
| The shot has no sound | video_to_audio | An aligned inactive audio candidate |
| The recorded voice is wrong | recorded_voice_replacement | An inactive audio candidate |
| The mouth does not match the new audio | lip_sync | An inactive video candidate |
| A title or shape should move with the music | bake_audio_animation | A custom animation on the target clip |
Every tool above except bake_audio_animation takes provider and model from
find_model. There is no default: an unset model fails the call rather than
spending on a model nobody chose.
expand_frame, upscale_video, video_to_audio, recorded_voice_replacement
and lip_sync all return an inactive candidate with its provenance. None of
them changes the accepted take, the sequence dimensions, or the existing
framing. Applying the result is a separate, explicit step:
inspect_video_production_candidates {candidates, preview?} refreshes their
state and optionally builds a Preview take or draft from an explicit
destination-to-candidate selection. Inspection writes nothing.accept_video_production_candidates {action, batch_id, document_id, project_id, candidates, selection, targets} applies one atomic manifest.
action is use_take or use_draft. Each entry in targets carries
expected_target_revision, which the server rechecks before the apply, so a
document that moved underneath is refused rather than overwritten.Report the candidate ids and what each one is, then let the user choose. Never
describe a candidate as applied before an accept returned.
A slot that needs fresh footage rather than a repair goes through the reviewed
production path, which covers all three document kinds:
timeline_clip, storyboard_shot and script_line.
prepare_video_production → submit_video_production → inspect → accept.
prepare is non-mutating. It resolves linked script speech, verifies owner,
project, target, references, capability route and timing, then freezes one to
three stable candidate identities before any provider spend. It requires
review: {status: "reviewed", plan_fingerprint} — the fingerprint of every
authoring input the reviewed plan read. The route is
reference_to_video, text_to_video, or audio_driven_performance, and
on-camera speech (speech_mode: "on_camera") requires
audio_driven_performance. submit re-runs preflight and authorization and
recovers an existing request id instead of resubmitting it, so a retry after a
dropped connection does not pay twice.
isolate_subject sends the clip's whole source asset and reads the mask
back at the clip's own source time, which is what lets a later trim, split or
speed change keep the cutout aligned. A clip with a current cutout is handed it
back for free unless regenerate: true, and a failed regenerate leaves the
working matte in place. Tune the result with the free set_generated_matte op
(invert, strength, feather, or an earlier version). Use set_matte instead for
a keyhole authored from another clip.
track_object needs initial_region normalized 0..1 over the source frame
plus start_ms and end_ms in absolute source milliseconds. The initial box
sits at start_ms for forward and both, at end_ms for backward. Box
tracks only in this build. A new run is refused before saving or spending when
the provider does not implement track_object.
lip_sync consumes an accepted recorded_voice_replacement candidate:
replacement_audio {asset_id, status, provenance}. Run the voice replacement,
accept it, then sync.
bake_audio_animation measures a clip's audio, with an envelope follower or
one pulse per onset in mode: "beats", and writes a source-anchored custom
animation on another clip's property, commonly scale. The write is additive: a
hand-authored pop or slide on the same channel composes with it rather than
being replaced. A re-bake replaces only the curve it produced before.
source_asset_id on the native media tools is an optional pin captured
before the call. A mismatch is stale and the call is refused. Pass it when
anything else may be editing the document.
validate_timeline {timeline_id} after every edit pass.preview_timeline_frame {timeline_id, ...} composites one or more timecodes
and returns a per-layer report. It is the cheap way to see a matte, a bake or
an accepted take without rendering. A model3d layer needs headless Chromium:
with none on the host the layer is left out and reported as a
model3d_unavailable degradation, never as an empty clip.compare_timeline_frames puts before and after side by side.render_timeline is the paid, final pass. Do not render to check an edit.create_timeline_version.
restore_timeline_version snapshots the pre-restore state first and
re-validates against today's schema, so an old document may fail what it used
to pass.These are the nodetool CLI. From a NodeTool checkout the same commands run
as npm run dev:nodetool -- <command>.
nodetool timeline validate <timeline_id|sequence.json> --json
nodetool timeline debug <id> --interact '[{"tool":"add_track","input":{"type":"audio","name":"Music"}}]'
nodetool timeline versions list <timeline_id> --save-type manualRendering, playback, decode and generation are not simulated by the harness. The
report says so under notSimulated.
storyboard-core system skill, § Timeline of its tool contract —
load_skill it for the board-to-timeline calls.In a NodeTool checkout, these repository sources go further:
docs/harnesses.md § nodetool timeline validate / debugdocs/harnesses.md § Generated mattesdocs/harnesses.md § Audio-driven timeline motion© nodetool-ai, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in packages/system-skills/nodetool-video-post of nodetool-ai/nodetool.
Open the folder on GitHubat commit 339f069
Nodetool Video Post next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Nodetool Video Post this skillnodetool-ai/nodetool | 560 | — | ~1.8k | Automated safety check: Pass | AGPL-3.0 | |
| Guizang Social Cardsop7418/guizang-social-card-skill | 7.4k | 1 repos | ~7.8k | Automated safety check: Pass | AGPL-3.0 | |
| Weekly Changelog Videoheygen-com/hyperframes | 60k | — | ~3.3k | Automated safety check: Pass | Apache-2.0 | |
| Anthropic Brand Stylinganthropics/skills | 180k | 30 repos | ~559 | Automated safety check: Pass | Apache-2.0 | |
| MoneyPrinterTurbo Video Generatorharry0703/MoneyPrinterTurbo | 129k | — | ~2.1k | Automated safety check: Warn | MIT | |
| HyperFrames Media Useheygen-com/hyperframes | 60k | — | ~2.4k | Automated safety check: Pass | Apache-2.0 |
op7418/guizang-social-card-skill
Produces social card sets for Xiaohongshu and WeChat: carousels, Live Photo motion cards and puzzle layouts, and WeChat cover pairs, rendered from single-file HTML.
heygen-com/hyperframes
Turns a weekly changelog markdown file into a branded HyperFrames video with voiceover, animated mock-UI scenes and captions, using fonts, background and scripts bundled in the skill.
anthropics/skills
Applies Anthropic's brand colors and fonts to artifacts such as PowerPoint slides, using fixed hex values for text and accents, Poppins headings and Lora body text.
harry0703/MoneyPrinterTurbo
Installs and runs MoneyPrinterTurbo to turn a topic or script into a finished short video with voice-over, subtitles, stock footage and music.
heygen-com/hyperframes
Finds, generates and edits media for HyperFrames video projects: music, sound effects, images, icons, logos, voiceovers, captions and color grades.
EverettFish/holo-card-studio
Create collectible holographic foil cards and two-image lenticular flip cards with AI-generated full-color ukiyo-e and colored sumi-e anime artwork, layered Blender scenes, renders, GLB export, and…
nodetool-ai/nodetool
Cut a NodeTool timeline to music and shape its pacing — detect the beat grid, place cuts on phrases, pick a cut type, build speed ramps with time remap, and give the piece an arc.
nodetool-ai/nodetool
Add and animate a consistent text layer on an existing NodeTool timeline.
nodetool-ai/nodetool
Choose and animate colour on a NodeTool timeline, including shape and text gradients, colour grades, 3D LUTs, and dither.
nodetool-ai/nodetool
Write a shootable, precisely timed commercial beat sheet and store it as a NodeTool storyboard, with a consistent entity roster behind every shot.
nodetool-ai/nodetool
Direct ElevenLabs speech, dialogue, sound effects and music — the bracketed audio tags v3 acts on and why the voice decides whether a tag lands, stability as the delivery dial, punctuation instead…
nodetool-ai/nodetool
Stage the frame on a NodeTool timeline — grids, focal placement, safe areas per aspect ratio, depth layers and parallax, camera moves, and where elements enter and leave.
Categories
Repair or re-generate footage already on a NodeTool timeline: cutouts, tracking, outpainting, upscaling, generated sound, voice replacement, lip sync. Nodetool Video Post is an agent skill from nodetool-ai/nodetool. Repair or re-generate footage already on a NodeTool timeline: cutouts, tracking, outpainting, upscaling, generated sound, voice replacement, lip sync.
Nodetool Video Post fits situations like: media & Creative work in your project.
Run `npx skills add nodetool-ai/nodetool --skill nodetool-video-post -a claude-code`. Or copy the skill folder (packages/system-skills/nodetool-video-post in nodetool-ai/nodetool) into .claude/skills/nodetool-video-post in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nodetool-ai/nodetool --skill nodetool-video-post -a codex`. Or copy the skill folder (packages/system-skills/nodetool-video-post in nodetool-ai/nodetool) into .agents/skills/nodetool-video-post in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nodetool-ai/nodetool --skill nodetool-video-post -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/nodetool-video-post, .gemini/skills/nodetool-video-post, .github/skills/nodetool-video-post and .opencode/skills/nodetool-video-post in your project.
Going by SKILL.md and its folder, Nodetool Video Post needs the command-line tools its instructions call (npm).
SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Nodetool Video Post is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Nodetool Video Post: Guizang Social Cards (op7418/guizang-social-card-skill, 7.4k stars), Weekly Changelog Video (heygen-com/hyperframes, 60k stars), Anthropic Brand Styling (anthropics/skills, 180k stars) and MoneyPrinterTurbo Video Generator (harry0703/MoneyPrinterTurbo, 129k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nodetool-ai (a GitHub organization) maintains it in nodetool-ai/nodetool, which has 560 GitHub stars. The repository holds 127 skills in this directory. The repository was last updated on October 10, 2026.
Source: nodetool-ai/nodetool on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.