Agent skill

Trailer Template

by nodetool-ai in nodetool-ai/nodetool

Structure a trailer or teaser as eight audio-first beats — hook, setup, inciting incident, escalation, drop, climax, title, button — with a runtime-scaled timecode grid, event/reception shot pairs…

AGPL-3.0Auto-check passedMedia & Creative

Install Trailer Template

skills CLI
$ npx skills add nodetool-ai/nodetool --skill trailer-template -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install nodetool-ai/nodetool trailer-template --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/system-skills/trailer-template .claude/skills/trailer-template && rm -rf skills-src

Use ~/.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/

Facts

Skill name
trailer-template
GitHub stars
560
Token cost
~3.8k tokens
SKILL.md length
1,749 words
Files
1
Skills in repo
127
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Structure a trailer or teaser as eight audio-first beats — hook, setup, inciting incident, escalation, drop, climax, title, button — with a runtime-scaled timecode grid, event/reception shot pairs…

  • Works in 4 steps: Create the board → Roster and models → One shot per row → …
  • Someone asks for a trailer
  • SKILL.md covers Two principles nothing overrides, The dynamic curve, Beat budget and The eight beats, plus 5 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Trailer Template is an agent skill from nodetool-ai/nodetool. Structure a trailer or teaser as eight audio-first beats — hook, setup, inciting incident, escalation, drop, climax, title, button — with a runtime-scaled timecode grid, event/reception shot pairs, a planted-and-harvested motif, and one unbroken music bed, then store it as a NodeTool storyboard with a character entity behind every recurring face. Use when someone asks for a trailer, teaser, sizzle or announcement cut structure, says a cut has no spine or no build, or needs to know where the drop and the title…

Its SKILL.md is about 3.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, covering Comics and storyboards. The repository describes itself as: Agent-first Creative Workspace. The licence is AGPL-3.0.

When your agent uses it

  • Someone asks for a trailer
  • Announcement cut structure
  • Says a cut has no spine
  • Needs to know where the drop and the title card go

Example prompts

  • “/trailer-template”

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Create the board
  2. Roster and models
  3. One shot per row
  4. The audio bed lives on the board, not on the shots

What it can do on your machine

Read from SKILL.md and the folder at commit 58765d3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are javascript).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Trailer Template loads about 3.8k tokens when it runs. Until then it costs about 154 tokens; SKILL.md has 1,749 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~154
When it runs · the whole SKILL.md, loaded when a task matches
~3.8k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from nodetool-ai/nodetool at commit 58765d3, republished under its AGPL-3.0 licence (© nodetool-ai). 1,749 words, ~3,775 tokens.

Download SKILL.mdSave it as .claude/skills/trailer-template/SKILL.md (or your agent's skills folder).
name
trailer-template
description
Structure a trailer or teaser as eight audio-first beats — hook, setup, inciting incident, escalation, drop, climax, title, button — with a runtime-scaled timecode grid, event/reception shot pairs, a planted-and-harvested motif, and one unbroken music bed, then store it as a NodeTool storyboard with a character entity behind every recurring face. Use when someone asks for a trailer, teaser, sizzle or announcement cut structure, says a cut has no spine or no build, or needs to know where the drop and the title card go. Not for ads (commercial-beat-sheet) or music videos (music-video-treatment).

You are a single agent. Take a title, a genre and a runtime and produce a complete, timecoded trailer plan as a NodeTool storyboard. You call the storyboard, entity and timeline capabilities directly. You do not build a workflow. You do not render or assemble unless asked.

Fill the header first. Every field below is required and none is guessed — a fact you do not have is [CLIENT INPUT NEEDED].

text
TITLE:
GENRE:
LENGTH:           [seconds]
FORMAT:           16:9 / 2.39:1 / 9:16
THESIS:           [the one idea the trailer argues, one sentence]
CENTRAL QUESTION: [the question left OPEN at the end]
MOTIF:            [recurring visual element — hands, doors, water, mirrors]
                  Planted in SETUP, paid off in PEAK or BUTTON.

Two principles nothing overrides

Event → reception. The unit is a pair, never a single shot. Something happens, then a face receives it. Meaning lives in the second shot. An escalation section without receptions is world-building, not escalation.

Audio is the clamp. The picture is discontinuous — shots from different scenes, places and times. The sound is one unbroken bed across the whole runtime, and that bed is what makes the fragments read as one thing. Never cut the audio to silence. Dip it.


The dynamic curve

text
  quiet / slow  ~65%          |  loud / fast  ~35%
  ─────────────────────────── DROP ──────────────────────
  Beats 1–4                   |  Beats 6–8

One hinge. The drop lands at ~65% of runtime. Everything else is subordinate to this curve.

Minimum perceptual durations — below these a beat does not read:

BeatMinimum
Drop1.0s
Setup4.0s
Button2.0s
Any reception shot0.8s

Compression rule. Below 25s the proportions break, so a short trailer fuses beats rather than shrinking all eight. Fusion order: Hook + Setup merge → Inciting + Escalation become one build → the Drop stays untouched → Button merges into Title.


Beat budget

Compute timecodes from the runtime, rounded to 0.5s. Check every beat against its minimum after rounding, and fuse per the rule above when one falls under.

Beat% of runtimeJob
1 Hook0–8%Interrupt. Open an information deficit.
2 Setup / World8–25%Install identification. The normal state as precious or fragile. Plant the motif.
3 Inciting incident25–32%One nameable event turns the state into a problem.
4 Escalation / Stakes32–65%Accumulate. Each unit raises a new dimension. Longest section.
5 Drop65–68%The hinge. Maximum contrast, not maximum volume.
6 Climax / Peak68–85%Payoff as fragments. The emotional summit is a human beat inside the spectacle.
7 Title card85–90%Name the feeling. Lands on the impact.
8 Button / Stinger90–100%Recency. One small, single beat that works without context.

The eight beats

Beat 1 — Hook

Event before face. No genre marker yet. Never explain. Start quiet — opening loud burns the dynamic range the drop needs.

typeshot
eventa phenomenon with a timestamp — a thing that happens, not a state
receptiona face receiving it. Attention, not yet fear.
Beat 2 — Setup / World

Not plot: an emotional anchor. Show the normal state as precious or fragile, or its destruction means nothing. Plant the musical motif here; you harvest it at the climax. If two characters will conflict later, stage one disagreement beat now — otherwise their conflict is asserted, not prepared.

typeshot
setupprotagonist in the normal state — warm, ordinary, specific
setupintimacy or fragility — a small physical gesture, the motif planted
setupdisagreement — two positions, silently staged
Beat 3 — Inciting incident

One identifiable event, never a montage. If the viewer cannot name what changed, the trailer has no spine. First real impact — it works because you spent none before. Impacts are currency: spend them ascending.

typeshot
eventthe turn — one nameable event
reception Acharacter 1 reads it as [reading A]
reception Bcharacter 2, the same event, reads it as [reading B] — the thesis in two faces
Beat 4 — Escalation / Stakes

Accumulate, never repeat. Tension is a function of duration, so this is the longest section. The reveal ratio climbs like a ladder and never completes. Every event needs a receiver. Ladder the dimensions: intimate → social → institutional → domestic → personal.

typeshotdimension
eventscale widens — the world noticessociety
receptiona stranger's face
eventinstitutions respondstate
receptionthe protagonist's protector reacts — fear turns domestic
eventthe threat enters the homeintimate
receptionthe protagonist chooses — a small physical act of crossing
receptionstakes crystallize — someone realizes what they have lost
Beat 5 — Drop

The hinge between question and promise. Not the loudest moment: the moment of maximum contrast. You are not making silence, you are manufacturing headroom, and it must land on an image worth the pressure. Under 1s it reads as an edit error, not a pause.

typeshot
DROPstillness. The single best held image. Small figure, vast unseen force.
Beat 6 — Climax / Peak

Payoff as fragments, never answers. Highest kinetic energy, but the summit is a human beat inside the spectacle — spectacle without a face is noise. Consequence, never outcome. The motif from Beat 2 returns in full orchestration.

typeshot
climaxthe face — emotion rising, readable
PEAKthe emotional summit — the motif paid off, in granular sensory detail
reversaloptional: everything snaps out — the sudden absence
Beat 7 — Title card

The title arrives at maximum emotional charge so the name and the feeling weld. It lands on the impact, not after — sound and type in the same frame.

Beat 8 — Button / Stinger

The last thing is what gets carried out. Controlled discharge plus a residue that makes the film specific instead of generic — this is where you tell the truth about the genre. Small and single after the bigness, and it must work without context. Advanced move: put the biggest reveal here, after the title, when the audience thinks it is over.

typeshot
BUTTONone last beat — punchline, scare, tenderness or reveal. Deny the expected hit.

Audio bed — one unbroken track

text
[Hook]        sub-bass drone + ambience + ONE distant tonal element
[Setup]       THE SEED: fragile motif enters — instrument: [INSTRUMENT]
[Inciting]    motif bends. First impact. Sub grows.
[Escalation]  layers stack: pulses → riser → strings. Accelerating.
[Drop]        ★ DIP to bare sub-rumble. Never fully out.
[Climax]      THE HARVEST: motif returns fully orchestrated + choir/strings bloom
[Title]       one sustained luminous chord + sub-boom → title
[Button]      minimal. Withhold the stinger hit if the button is tender.

Cut on the transient. Picture cuts land on hits, not between them. Sound design over music at impact. The braam carries the blow, the score carries the emotion.


Entities

Any character in more than one shot is a character entity, or you get a different person every time. The protagonist, the protector and whoever carries reception B usually make three. A recurring home is a location entity, the grade a style entity, the motif object (if it is an object) a prop.

js
import { list_entities, create_entity } from "@nodetool-ai/sandbox-nodetool/entities";

await list_entities({});   // reuse before you generate

const still = await nodetool.media.generateImage(
  "<the character, neutral background, in the trailer's grade>",
  await nodetool.models.pick("text_to_image")
);
await create_entity({
  asset_id: still.asset_id,
  kind: "character",
  name: "<Name>",
  descriptor: "<one to two dense sentences describing exactly what the reference shows>"
});
const entityId = still.asset_id;   // the entity IS its asset

The descriptor is the face. Name entities in plain text in a shot's action or motion — "Mara turns from the window", never @Mara — and do not re-describe them in shot text. The render attaches a character or prop entity to a shot only when its name appears in that shot's text (style and location entities always apply), so a reception shot that says "she" instead of "Mara" renders a stranger. Show the roster before drafting beats.


Show full SKILL.md (688 more words)Show less

Storyboard

1. Create the board
js
import { create_storyboard, edit_storyboard } from "@nodetool-ai/sandbox-nodetool/storyboards";

const board = await create_storyboard({
  name: `${title} — trailer (${runtime}s)`,
  brief: `${thesis}\nCENTRAL QUESTION: ${centralQuestion}\nMOTIF: ${motif}`,
  style: "<the grade in one line>",
  aspect_ratio: "16:9"
});
const boardId = board.storyboard_id;   // NOT board.id
2. Roster and models

edit_storyboard takes five ops: add_shot, update_shot, remove_shot, reorder_shot, set_board. set_board accepts {brief?, style?, aspect_ratio?, entity_ids?, image_model?, video_model?} and refuses anything else. Models come from find_model — pass each result's .ref; there is no default, and an unset model fails the render. The full contract, including which entities each shot's prompt receives, is in commercial-beat-sheet § Tool contract.

js
const stills = await find_model({ capability: "text_to_image" });
const clips = await find_model({ capability: "image_to_video" });
await edit_storyboard({
  storyboard_id: boardId,
  ops: [{ op: "set_board", entity_ids: roster,
          image_model: stills.ref, video_model: clips.ref }]
});

Each result also names a prompting_skill. Load it before step 3: the shot action and motion are the prompt the generator reads (motion first, then action, for a clip), and a trailer's receptions and its drop are worded differently for a line that wants beats in order (Hailuo), a shot list (Kling) or a sound brief (Seedance).

3. One shot per row

Every row in the beat tables is one add_shot. The slug carries the beat and the type, so the pair structure survives into the board and the cut.

js
await edit_storyboard({
  storyboard_id: boardId,
  ops: [{
    op: "add_shot",
    slug: "3-event",                     // <beat>-<type>: 1-event, 1-reception, 3-reception-a, 5-drop, 6-peak, 8-button
    action: "INCITING (0:09–0:10.5): the turn — <one nameable event>, Mara in frame",
    camera: { framing: "close", lens: "50mm", angle: "eye", movement: "static" },
    motion: "<what moves, with counts — 'she looks up once', not 'tense'>",
    duration_seconds: 1.5,
    render_mode: "keyframe"
  }]
});

Rules for the shot text:

  • action opens with the beat name and timecode, then the shot. Under 400 characters.
  • A reception shot's action names whose face it is and what it reads. Its motion is a single small physical event.
  • The drop shot's motion is stillness, stated: "nothing moves except the water".
  • The title card and any on-screen text are not shots. Type goes in post (caption-titles), because generators render text unreliably.
  • render_mode: "direct" only for a heavy-motion climax shot. Receptions and the drop stay on keyframe, where the face holds.
4. The audio bed lives on the board, not on the shots

Put the eight-line bed into the board's brief as a MUSIC: block, one line per beat with its timecode. Per-shot narration stays empty — native per-shot audio is fragments, the opposite of the clamp. If the board is open in a tab, ui_storyboard_set_screenplay writes the same text into musicPrompt, and assemble_storyboard_timeline then turns it into a draft music clip.


Pre-delivery check

Run before showing anyone. Every line must be true of the board, not the plan.

  • Hook is event before face, no genre marker
  • Every escalation event has a reception shot
  • Setup shows the normal state as precious or fragile
  • Disagreement beat present if characters conflict later
  • Motif planted in Beat 2, harvested in Beat 6
  • Drop sits at ~65% and lands on an image worth the pressure
  • Emotional summit is not on the spectacle shot
  • Title lands on the impact, same frame
  • Button is small, single, works without context
  • Audio never cuts to true silence — dips only
  • Central question still open at the end
  • No beat below its minimum perceptual duration
  • Every face appearing twice is an entity on the board

Render and cut (only on request)

Stills first. render_storyboard_stills costs cents and you look at them. A wrong face is fixed at the entity, never in one shot's prompt.

Generate every clip long. Ask the video model for 4–5s per shot even where the plan says 1.5s — you want frames to choose from — and trim in the timeline. render_storyboard_clips has no duration override, so bump duration_seconds on update_shot before the render and restore it after. Shots render individually and mute their own audio; analyze_video on each clip gives the real length before you trim, because the model honours the request loosely.

The bed is one clip. After assemble_storyboard_timeline:

  1. generate_music once, for the full runtime, from the eight-line bed. One prompt, one clip.
  2. edit_timeline → add_track (audio), then add_media_clip for that one asset at 0:00. Remove any draft audio clips the assembly created per shot.
  3. detect_audio_events on the bed, then beat-sync-editing: every picture cut moves to the nearest transient. The drop shot's in-point sits on the dip.
  4. The dip is a volume keyframe on the bed, not a cut. Never a gap.
  5. caption-titles for the title card, timed to the same frame as the title impact in the bed.
  6. validate_timeline, then preview_timeline_frame at the drop, the peak and the title.

motion-graphics carries the timeline op contract, video-audio-continuity the case where a shot's own sound has to survive, color-motion the grade that makes shots from different scenes cut together, and logo-reveal a studio mark after the button.

© 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

Files

Just SKILL.md in packages/system-skills/trailer-template of nodetool-ai/nodetool.

Open the folder on GitHubat commit 58765d3

Compare with similar skills

Trailer Template 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.

Trailer Template compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Trailer Template this skillnodetool-ai/nodetool560—~3.8kAutomated safety check: PassAGPL-3.0
Canghe Comicfreestylefly/canghe-skills4618 repos~3.2kAutomated safety check: PassNone
Tutti UI Systemtutti-os/tutti3.8k—~2.7kAutomated safety check: PassApache-2.0
3D Animation Short Generatortl2012tl/comfyUI-llama-TE2414 repos~3.7kAutomated safety check: PassNone
Text to PNG Card Casterlijigang/ljg-skills7.5k—~1.9kAutomated safety check: PassMIT
H3 Cinematic Directorjtydhr88/ComfyTV1.1k—~2.7kAutomated safety check: PassMIT

Similar skills

  • Canghe Comic

    freestylefly/canghe-skills

    Knowledge comic creator supporting multiple art styles and tones.

    461 GitHub starsUsed in 8 repos~3.2k tokens
    Media & CreativeAuto-check passed
  • Tutti UI System

    tutti-os/tutti

    A skill your agent uses when working with @tutti-os/ui-system components, replacing local UI with shared components, querying component ids or metadata, promoting UI into shared base or business…

    3.8k GitHub stars~2.7k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • 3D Animation Short Generator

    tl2012tl/comfyUI-llama-TE

    Create complete stylized 3D animated shorts from a story idea through an ordered production workflow covering project brief, story outline, character and environment cards, standardized shot…

    241 GitHub starsUsed in 4 repos~3.7k tokens
    Media & CreativeAuto-check passed
  • Text to PNG Card Caster

    lijigang/ljg-skills

    Turns text, URLs or local files into tall PNG cards through HTML typography, with four modes: long reading card, full-text layout, comic and whiteboard.

    7.5k GitHub stars~1.9k tokensUpdated yesterday
    Media & CreativeAuto-check passed
  • H3 Cinematic Director

    jtydhr88/ComfyTV

    Convert approved scripts, shot briefs, storyboards, keyframes, character sheets, scene assets, prop sheets, and sound briefs into director-level storyboards and production-ready MiniMax H3 prompts.

    1.1k GitHub stars~2.7k tokensUpdated 3 days ago
    Media & CreativeAuto-check passed
  • Scroll Promo Site Builder

    kangarooking/kangarooking-skills

    Create a scroll-controlled cinematic product website with rich motion (动效网站) from product materials, reference pages or videos, and brand assets.

    661 GitHub stars~2.6k tokensUpdated 1 mo ago
    Media & CreativeAuto-check passed

More from nodetool-ai/nodetool

All 127 skills in this repo
  • Beat Sync Editing

    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.

    560 GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Caption Titles

    nodetool-ai/nodetool

    Add and animate a consistent text layer on an existing NodeTool timeline.

    560 GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Color Motion

    nodetool-ai/nodetool

    Choose and animate colour on a NodeTool timeline, including shape and text gradients, colour grades, 3D LUTs, and dither.

    560 GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Commercial Beat Sheet

    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.

    560 GitHub stars~4.6k tokensUpdated today
    Auto-check passed
  • Elevenlabs Audio Prompting

    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…

    560 GitHub stars~1.9k tokensUpdated today
    Auto-check passed
  • Frame Composition

    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.

    560 GitHub stars~3.5k tokensUpdated today
    Auto-check passed

Questions about Trailer Template

What does Trailer Template do?

Structure a trailer or teaser as eight audio-first beats — hook, setup, inciting incident, escalation, drop, climax, title, button — with a runtime-scaled timecode grid, event/reception shot pairs…. Trailer Template is an agent skill from nodetool-ai/nodetool. Structure a trailer or teaser as eight audio-first beats — hook, setup, inciting incident, escalation, drop, climax, title, button — with a runtime-scaled timecode grid, event/reception shot pairs, a planted-and-harvested motif, and one unbroken music bed, then store it as a NodeTool storyboard with a character entity behind every recurring face.

When should I use Trailer Template?

Trailer Template fits situations like: someone asks for a trailer; announcement cut structure; says a cut has no spine; needs to know where the drop and the title card go.

How do I install Trailer Template in Claude Code?

Run `npx skills add nodetool-ai/nodetool --skill trailer-template -a claude-code`. Or copy the skill folder (packages/system-skills/trailer-template in nodetool-ai/nodetool) into .claude/skills/trailer-template in your project. Claude Code loads it when a task matches its description.

How do I install Trailer Template in Codex?

Run `npx skills add nodetool-ai/nodetool --skill trailer-template -a codex`. Or copy the skill folder (packages/system-skills/trailer-template in nodetool-ai/nodetool) into .agents/skills/trailer-template in your project. Codex loads it when a task matches its description.

Can I use Trailer Template in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nodetool-ai/nodetool --skill trailer-template -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/trailer-template, .gemini/skills/trailer-template, .github/skills/trailer-template and .opencode/skills/trailer-template in your project.

What does Trailer Template need to run?

SKILL.md names no scripts, command-line tools or credentials: Trailer Template is instructions for the agent only.

Does Trailer Template access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Trailer Template safe to install?

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.

What licence does Trailer Template use?

Trailer Template 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.

How many tokens does Trailer Template use?

About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Trailer Template?

Skills that share tags, products or a category with Trailer Template: Canghe Comic (freestylefly/canghe-skills, 461 stars), Tutti UI System (tutti-os/tutti, 3.8k stars), 3D Animation Short Generator (tl2012tl/comfyUI-llama-TE, 241 stars) and Text to PNG Card Caster (lijigang/ljg-skills, 7.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Trailer Template?

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 9, 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.