Agent skill

Nodetool Workflow Builder

by nodetool-ai in nodetool-ai/nodetool

Create or edit NodeTool workflow graphs, connections, and properties using UI, headless tools, or requested workflow files.

AGPL-3.0Auto-check passedMedia & Creative

Install Nodetool Workflow Builder

skills CLI
$ npx skills add nodetool-ai/nodetool --skill nodetool-workflow-builder -a claude-code

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

GitHub CLI
$ gh skill install nodetool-ai/nodetool nodetool-workflow-builder --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/nodetool-workflow-builder .claude/skills/nodetool-workflow-builder && 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
nodetool-workflow-builder
GitHub stars
560
Token cost
~4.9k tokens
SKILL.md length
1,983 words
Files
1
Skills in repo
127
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Create or edit NodeTool workflow graphs, connections, and properties using UI, headless tools, or requested workflow files.

  • Works in 5 steps: Inspect the existing graph for edits.… → Search required node types with… → Add or update nodes, set required… → …
  • Media & Creative work in your project
  • SKILL.md covers A graph is one surface among…, Build and verify, Graph authoring reference and Tool Reference, plus 2 more sections
  • Calls npm and npx; needs OPENAI_API_KEY

What it does

Nodetool Workflow Builder is an agent skill from nodetool-ai/nodetool. Create or edit NodeTool workflow graphs, connections, and properties using UI, headless tools, or requested workflow files.

Its SKILL.md is about 4.9k 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.

When your agent uses it

  • Media & Creative work in your project

Example prompts

  • “/nodetool-workflow-builder”

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Inspect the existing graph for edits. Identify required inputs, outputs, and
  2. Search required node types with include_properties=true and
  3. Add or update nodes, set required properties, and connect compatible handles.
  4. Validate through ui_get_graph or validate_workflow as appropriate. Fix
  5. Execute only when the request includes a run. Respect generation budgets and

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

    Shell commands in SKILL.md call:

    • npm
    • npx

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

  • Network

    No URLs in SKILL.md. Its commands use npm and npx, which can reach the network depending on how they are called.

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

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • OPENAI_API_KEY

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

Context cost

Nodetool Workflow Builder loads about 4.9k tokens when it runs. Until then it costs about 37 tokens; SKILL.md has 1,983 words of instructions outside code blocks.

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

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,983 words, ~4,874 tokens.

Download SKILL.mdSave it as .claude/skills/nodetool-workflow-builder/SKILL.md (or your agent's skills folder).
name
nodetool-workflow-builder
description
Create or edit NodeTool workflow graphs, connections, and properties using UI, headless tools, or requested workflow files.
featured
true

Build NodeTool workflows

Create or edit a workflow that produces the requested outputs from the specified inputs. Preserve existing nodes and connections outside the requested change.

A graph is one surface among several

NodeTool holds several document kinds, and most of them are not graphs. Build a graph when the user asked for one, when the job has to re-run on new inputs, or when the result must be callable over the API. Otherwise route the request.

The deliverableSkill
A finished video, still set or campaignstoryboard-core, which picks the job skill
A screen someone clicksnodetool-app-builder
A repair on footage already cut: cutout, upscale, lip sync, generated soundnodetool-video-post
A cut, titles, transitions or animation on a timelinethe motion-graphics system skill, via load_skill
Logic in JavaScript rather than nodesnodetool-js-scripting
A layered image, mask or overlaynodetool-sketch
A 3D model or scenenodetool-3d-scene
A reusable video template for batchesvideo-workflow
A new node typenodetool-custom-node-developer

A workflow can still be the right answer alongside one of these: a mini app runs workflows, and a timeline clip can be produced by one.

Use the authoring surface the user requested. Prefer available UI tools for a visible canvas, headless workflow tools for saved graphs, and JSON or the TypeScript DSL when a workflow file is requested. Do not claim a missing tool is callable. Use the live schemas and registry as the source of identifiers.

Build and verify

  1. Inspect the existing graph for edits. Identify required inputs, outputs, and behavior from the request and existing context.
  2. Search required node types with include_properties=true and include_outputs=true. Reuse metadata already retrieved for the same type. Discover model choices through available model-search tools. Do not invent node types, properties, handles, or model identifiers.
  3. Add or update nodes, set required properties, and connect compatible handles. Keep existing layout and identifiers when editing. Read Graph authoring reference below for the relevant tool, streaming pattern, or DSL operation before using it.
  4. Validate through ui_get_graph or validate_workflow as appropriate. Fix errors and required-input warnings. Read back the saved graph before claiming it was created or changed. Report any remaining limitation.
  5. Execute only when the request includes a run. Respect generation budgets and tool permissions. Report the workflow identifier, inputs, validation result, and actual run outcome when executed.

If a node is unavailable, broaden the search and inspect supported alternatives. Proceed with an equivalent composition when it preserves the requested behavior. Otherwise explain the missing capability and ask only for the decision needed to choose an alternative. Continue independent work on the rest of the graph.

Graph authoring reference

Read only the sections needed for the current operation. Live registry metadata and tool schemas are authoritative. Catalog entries and DSL examples are search leads, not proof that a node or argument exists in this installation.

Tool Reference

ToolPurposeKey params
ui_search_nodesFind node typesquery, include_properties=true, include_outputs=true, limit
ui_search_modelsFind models for a model propertyquery, type (e.g. language_model)
ui_add_nodeAdd single nodeid, position, type (use node_type from search)
ui_graphBulk add nodes+edges when exposed by the hostnodes[], edges[]
ui_connect_nodesConnect two nodessource_id, source_handle, target_id, target_handle
ui_update_node_dataSet node properties / sync modenode_id, data={properties: {…}, sync_mode: "on_all"}
ui_get_graphRead graph + validationReturns nodes, edges, and validation results
ui_delete_nodeRemove a nodenode_id
ui_delete_edgeRemove a connectionedge_id
ui_move_nodeReposition a nodenode_id, position
ui_set_node_titleRename a nodenode_id, title
ui_open_workflowOpen workflow tabworkflow_id
ui_run_workflowExecute workflowworkflow_id, params

Set a node's sync_mode through ui_update_node_data (data.sync_mode) — there is no dedicated sync-mode tool.

Node Data Fields

When using ui_add_node or ui_graph, the data object supports:

  • properties — node-specific input values (from metadata)
  • dynamic_outputs — tool outputs for Agent nodes: {"tool_name": {"type": "str"}}
  • dynamic_properties — runtime-configurable properties (usually {})
  • sync_mode — "on_any" (default, fire on any input) or "on_all" (wait for all inputs)

Node Catalog

Core Namespaces
NamespaceKey NodesPurpose
nodetool.agentsAgent, ResearchAgent, Summarizer, Extractor, Classifier, DecisionLLM-powered processing
nodetool.textConcat, Join, Replace, Template, Split, Regex, Compare, SlugifyText manipulation
nodetool.codeCode (JS sandbox with lodash, dayjs, cheerio, csvParse, validator)Custom logic via JavaScript
nodetool.dataFilter, Schema, GroupBy, SortDataframe operations
nodetool.imageLoad, Save, Resize, Crop, Rotate, CompositeImage processing
nodetool.audioLoad, Mix, EncodeAudio processing
nodetool.videoLoad, Extract, Metadata, FramesVideo processing
nodetool.controlIf, ForEach, Collect, Switch, LoopControl flow
nodetool.constantString, Integer, Float, Bool, Image, AudioConstant values
nodetool.inputFloatInput, StringInput, ImageInput, ChatInputWorkflow parameters
nodetool.outputOutput, PreviewResults and debugging
nodetool.generatorsListGenerator, DataGenerator, ChartGeneratorLLM-backed generators
Library Namespaces (lib.*)

lib.pdf (rasterize pages to images), lib.sqlite (database path), lib.browser (screenshots), lib.svg (vector graphics), lib.charts (charts)

Note: lib.http, lib.os, lib.datetime, lib.json, lib.math, lib.uuid, nodetool.boolean, nodetool.dictionary, nodetool.list, nodetool.numbers, nodetool.text.Chunk, and all skills.* nodes have been removed. Use the Code node (nodetool.code.Code) and its snippet library instead. Its sandbox provides fetch for web requests, workspace.* for files, and @nodetool-ai/sandbox-dates (date-fns) for date logic. nodetool.control.RepeatCount and nodetool.control.RepeatValue cover repetition.

External Service Namespaces
NamespacePurpose
kie.image.*Image generation services (Flux, SDXL, etc.)
kie.video.*Video generation services (Kling, Hailuo, Sora, etc.)
kie.audio.*Audio generation services
openai.*GPT, GPT-Image, embeddings, TTS
gemini.*Google Gemini models
mistral.*Mistral models
vector.*Vector store nodes (SQLite-vec default; Chroma/Pinecone/Supabase backends)
Data Types
  • Primitives: str, int, float, bool, list, dict, any
  • Assets: {type: "image|audio|video|document", uri: "..."}
  • Models: language_model, image_model, video_model, embedding_model, tts_model

Edges enforce type compatibility. Use any type for flexible connections.

Search Strategy
  • Use broad category terms with limit=20 to see all options.
  • Multi-word queries are split and scored independently — "dataframe group aggregate" finds multiple related nodes.
  • Use input_type / output_type filters: "str", "int", "float", "image", "audio", "list", etc.
  • If no results, broaden the query or try the namespace prefix (e.g., "nodetool.text").
  • Type conversions: dataframe→array via "to_numpy", list→item via iterator, item→list via collector.

Workflow Patterns

Pattern 1: Simple Pipeline

Shape: Input → Transform(s) → Output Use for: Single-source processing, data conversion, image enhancement. Example: ImageInput → Sharpen → AutoContrast → Output

Pattern 2: Agent-Driven Generation

Shape: Input → Agent → Post-process → Output Use for: Creative generation, multimodal transforms (image→text→audio), semantic understanding. Key nodes: Agent (general LLM), Summarizer (text summarization), ListGenerator (streams items)

Pattern 3: Streaming with Previews

Shape: Inputs → Agent (strategy) → ListGenerator → Processing → Preview nodes at each stage Use for: Complex multi-stage generation where user needs progress visibility. Key concept: Add Preview nodes at intermediate stages for debugging and monitoring.

Pattern 4: RAG (Retrieval-Augmented Generation)

Shape: ChatInput → vector.HybridSearch + FormatText → Agent → Output Use for: Question-answering over documents, factual accuracy from specific sources. Index flow: nodetool.code.Code (workspace.list) → LoadDocumentFile → nodetool.code.Code ("Chunk Text" snippet) → vector.IndexTextChunk Query flow: ChatInput → vector.HybridSearch → FormatText → Agent → Output Note: RAG nodes are the single vector.* namespace (e.g. vector.QueryText, vector.HybridSearch, vector.IndexTextChunk); there is no vector.chroma.*/vector.faiss.*.

Pattern 5: Database Persistence

Shape: Input → FormatText → DataGenerator → Insert → Query → Preview Use for: Persistent storage, apps with memory, agent history. Key nodes: CreateTable, Insert, Query, Update, Delete (lib.sqlite namespace)

Pattern 6: Email & Web Integration

Shape: GmailSearch → EmailFields → Summarizer → Preview Use for: Email processing, RSS monitoring, web content extraction. Key nodes: GmailSearch, EmailFields, FetchRSSFeed, GetRequest

Pattern 7: Realtime Processing

Shape: RealtimeAudioInput → RealtimeAgent → Preview Use for: Voice interfaces, live transcription, interactive audio. Key nodes: RealtimeAudioInput, RealtimeAgent, LiveAgent, RealtimeWhisper LiveAgent runs GPT-Live: full-duplex speech with a Responses backend for lookups and web search. Feed it 24 kHz PCM16 microphone chunks.

Show full SKILL.md (796 more words)Show less
Pattern 8: Multi-Modal Workflows

Shape: Any modality in → transforms → target modality out Common chains: Audio→Text→Image, Image→Text→Audio, Video→Audio→Text→Summary

Pattern 9: Advanced Image Processing

Shape: ImageInput → edge detection/description → ControlNet generation → Output Use for: Style transfer, controlled generation, structure-preserving transforms. Key techniques: ControlNet (structure), ImageToText (description), Img2Img (style)

Pattern 10: Data Processing Pipeline

Shape: GetRequest → ImportCSV → Filter → ChartGenerator → Preview Use for: Fetch external data, transform datasets, auto-generate visualizations.

Video/image generation nodes live under kie.video.*, kie.image.*, kie.audio.* (e.g. kie.video.Kling26TextToVideo, kie.video.Hailuo02TextToVideoPro). Exact model nodes change as providers add models — always ui_search_nodes for the current node type rather than typing a name from memory.

Pattern 11: Text-to-Video

Shape: StringInput (prompt) → kie.video.* text-to-video node → Output Find nodes: search "text to video" (Kling, Hailuo, Sora, Wan, Bytedance families) Config: Duration 5-10s, Resolution 768P (fast) or 1080P (quality), Aspect 16:9/9:16/1:1

Pattern 12: Image-to-Video

Shape: ImageInput + StringInput (motion guide) → kie.video.* image-to-video node → Output Find nodes: search "image to video"

Pattern 13: Talking Avatar

Shape: ImageInput (face) + AudioInput (speech) → avatar generation node → Output Find nodes: search "avatar" or "lip sync"

Pattern 14: Video Enhancement

Shape: VideoInput → upscale node → Output Find nodes: search "upscale" / "video enhance" (e.g. Topaz family)

Pattern 15: Storyboard to Video

Shape: StringInput (story) + ImageInputs (scenes) → storyboard video node → Output Use for: Narrative videos from keyframes, scene transitions.

Agent Tool Pattern

Any node can become a tool for an Agent via dynamic_outputs:

  1. Set dynamic_outputs on Agent: {"search": {"type": "str"}}
  2. Connect downstream nodes to Agent's dynamic output handle (sourceHandle: "search")
  3. Agent calls the tool → subgraph executes → result returns to Agent
  4. Agent's regular outputs (text, chunk) route to Preview/Output nodes
Streaming Architecture
  • Everything is a stream; single values are one-item streams.
  • Use nodetool.control.Collect to gather a stream into a list.
  • Use nodetool.control.ForEach to process each item in a list.
  • Use nodetool.control.Loop to repeat part of the graph: wire value into the body, the body's result back into next, and a bool into condition (loop again while true). max_iterations bounds it and done carries the final value. It is the only way to close a cycle. The DSL cannot express the back edge, so build loops with the graph tools or workflow JSON.
  • Use nodetool.agents.Decision when a model should make the call: prompt is a yes/no question, value is what it judges (images are shown to the model), decision is the bool and if_true/if_false route value like If. Wire decision into Loop.condition to loop until a model is satisfied; phrase the question so yes means "loop again".
  • Use Preview nodes to inspect intermediate streaming results.
  • sync_mode: "on_any" fires on each incoming value; "on_all" waits for all inputs.

Debugging & Validation

Reading Validation Results

ui_get_graph returns a validation field:

  • errors — blocking issues (circular deps, invalid node types)
  • warnings — non-blocking (disconnected required inputs, empty required properties)
  • suggestions — improvements (orphaned nodes)

Check validation after building. Fix blocking errors and warnings that prevent the requested behavior. Explain any remaining warning without expanding the task.

Common Errors and Fixes
  • "Required property 'X' is not set" → ui_update_node_data to set it. Common: model, prompt.
  • "Required input 'X' not connected" → add an edge or set a default value via properties.
  • Wrong handle name → re-run ui_search_nodes with include_outputs=true for exact names.
  • Type mismatch → verify source output type matches target input type from search results.
  • Node not found → broaden query, try namespace prefix ("nodetool.text").
Error Recovery
  1. Read the error message carefully.
  2. Re-search with include_properties=true and include_outputs=true.
  3. Verify exact property names and handle names from fresh search results.
  4. Do not retry the same failing call — adjust parameters first.
Required Properties

After adding nodes, check for warnings about empty required properties:

  • Agent nodes: model (language_model type) — must be set
  • Generator nodes: model, prompt
  • Image generation: prompt
  • ForEach: requires a list input connection

Set via ui_update_node_data or ask the user which value to use.

Running Workflows from CLI

JSON Workflows
bash
# Run a JSON workflow file
nodetool workflows run ./workflow.json
nodetool workflows run ./workflow.json --params '{"input": "hello"}'
nodetool workflows run ./workflow.json --json

# Alternative runner with more options, from a NodeTool checkout
npm run workflow -- ./workflow.json --input text='hello' --show-messages
TypeScript DSL Workflows
bash
# Run a DSL file (builds graph and executes)
nodetool workflows run ./workflow.ts --json

# Or via the workflow runner, from a NodeTool checkout
npm run workflow -- ./workflow.ts

# Execute directly with tsx (prints workflow JSON only, does not run)
npx tsx ./workflow.ts
Server Management
bash
nodetool serve                    # Start backend server
nodetool serve --port 8080        # Custom port
nodetool workflows list           # List saved workflows
nodetool workflows get <id>       # Get workflow details
nodetool jobs list                # List execution jobs
nodetool secrets store OPENAI_API_KEY  # Store API key

TypeScript DSL Format

Write workflows as TypeScript with full type safety and IDE autocompletion using @nodetool-ai/dsl.

Basic Pattern
typescript
import { workflow, constant, text, agents } from "@nodetool-ai/dsl";

// Create nodes — call node.output() to get a connectable handle.
const greeting = constant.string({ value: "hello world" });

// Connect by passing output handles as inputs.
const shout = text.toUppercase({ text: greeting.output() });
const summary = agents.summarizer({ text: shout.output() });

// Build the workflow graph (traces all connections).
const wf = workflow(summary);
console.log(JSON.stringify(wf));
Key Concepts
  • node.output() is a function — call it to get the default output handle. It is NOT a property (node.output).
  • Named slots: node.output("if_true") for a specific output of a multi-output node.
  • Connectable: every input accepts either a literal value or an output handle.
  • workflow(...terminals): traces from terminal nodes via BFS, returns serializable JSON { nodes, edges }.
  • run(wf, opts?): executes a workflow in-process via WorkflowRunner; returns the result.
  • runGraph(...terminals): shorthand — run(workflow(...terminals)).
DSL Namespaces

Namespaces mirror node namespaces. Common ones:

ImportExample
constantconstant.float({ value: 5 }), constant.string({ value: "x" })
texttext.toUppercase({ text: "hi" }), text.split({ ... })
imageimage.resize({ ... })
controlcontrol.if_({ condition: true, value: x }), control.forEach({ ... })
agentsagents.agent({ ... }), agents.summarizer({ text })
datadata.filter({ ... })
vectorvector.hybridSearch({ ... })
libHttplibHttp.getJSON({ url }), libHttp.getText({ url })
codecode.code({ ... }) — JS sandbox for math/JSON/list logic

There is no libMath or list namespace. Use the Code node (code.code) for arithmetic/JSON/list operations.

Multi-Output (If / ForEach)
typescript
import { control } from "@nodetool-ai/dsl";

const branch = control.if_({ condition: true, value: "hello" });
branch.output("if_true");   // → output handle for the true branch
branch.output("if_false");  // → output handle for the false branch
Shared Dependencies (diamond)
typescript
import { workflow, constant, text } from "@nodetool-ai/dsl";

const shared = constant.string({ value: "abc" });
const upper = text.toUppercase({ text: shared.output() });
const lower = text.toLowercase({ text: shared.output() });
const joined = text.concat({ a: upper.output(), b: lower.output() });
const wf = workflow(joined); // `shared` appears once; edges fan out

© 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/nodetool-workflow-builder of nodetool-ai/nodetool.

Open the folder on GitHubat commit 58765d3

Compare with similar skills

Nodetool Workflow Builder 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.

Nodetool Workflow Builder compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Nodetool Workflow Builder this skillnodetool-ai/nodetool560—~4.9kAutomated safety check: PassAGPL-3.0
Guizang Social Cardsop7418/guizang-social-card-skill7.4k1 repos~7.8kAutomated safety check: PassAGPL-3.0
Weekly Changelog Videoheygen-com/hyperframes59k—~3.3kAutomated safety check: PassApache-2.0
Anthropic Brand Stylinganthropics/skills180k30 repos~559Automated safety check: PassApache-2.0
MoneyPrinterTurbo Video Generatorharry0703/MoneyPrinterTurbo129k—~2.1kAutomated safety check: WarnMIT
Brag Slim Launch Video Makerlatent-spaces/brag14k1 repos~1.9kAutomated safety check: PassMIT

Similar skills

  • 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.

    7.4k GitHub starsUsed in 1 repo~7.8k tokens
    Media & CreativeAuto-check passed
  • Weekly Changelog Video

    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.

    59k GitHub stars~3.3k tokensUpdated today
    Media & CreativeAuto-check passed
  • Anthropic Brand Styling

    anthropics/skills

    Official

    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.

    180k GitHub starsUsed in 30 repos~559 tokens
    Media & CreativeAuto-check passed
  • MoneyPrinterTurbo Video Generator

    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.

    129k GitHub stars~2.1k tokensUpdated today
    Media & CreativeAuto-check: warnings
  • Builds a short, shareable launch video with music and motion from a project directory or a website URL, using only tools already on the machine.

    14k GitHub starsUsed in 1 repo~1.9k tokens
    Media & CreativeAuto-check passed
  • HyperFrames Media Use

    heygen-com/hyperframes

    Finds, generates and edits media for HyperFrames video projects: music, sound effects, images, icons, logos, voiceovers, captions and color grades.

    59k GitHub stars~2.4k tokensUpdated today
    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 Nodetool Workflow Builder

What does Nodetool Workflow Builder do?

Create or edit NodeTool workflow graphs, connections, and properties using UI, headless tools, or requested workflow files. Nodetool Workflow Builder is an agent skill from nodetool-ai/nodetool. Create or edit NodeTool workflow graphs, connections, and properties using UI, headless tools, or requested workflow files.

When should I use Nodetool Workflow Builder?

Nodetool Workflow Builder fits situations like: media & Creative work in your project.

How do I install Nodetool Workflow Builder in Claude Code?

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

How do I install Nodetool Workflow Builder in Codex?

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

Can I use Nodetool Workflow Builder 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 nodetool-workflow-builder -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-workflow-builder, .gemini/skills/nodetool-workflow-builder, .github/skills/nodetool-workflow-builder and .opencode/skills/nodetool-workflow-builder in your project.

What does Nodetool Workflow Builder need to run?

Going by SKILL.md and its folder, Nodetool Workflow Builder needs the command-line tools its instructions call (npm and npx) and credentials named OPENAI_API_KEY.

Does Nodetool Workflow Builder access the network?

SKILL.md contains no URLs. Its commands use npm and npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Nodetool Workflow Builder 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 Nodetool Workflow Builder use?

Nodetool Workflow Builder 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 Nodetool Workflow Builder use?

About 4.9k tokens (SKILL.md is roughly 19k 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 Nodetool Workflow Builder?

Skills that share tags, products or a category with Nodetool Workflow Builder: Guizang Social Cards (op7418/guizang-social-card-skill, 7.4k stars), Weekly Changelog Video (heygen-com/hyperframes, 59k 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.

Who maintains Nodetool Workflow Builder?

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.