[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6BY1Y9GTF6C3B3TMMPJYSZD":3,"skill-same:01M6BY1Y9GTF6C3B3TMMPJYSZD":59},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":36,"commitSha":37,"skillDirectory":38,"forksCount":39,"repositoryHtmlUrl":40,"repositoryHomepageUrl":41,"ownerHtmlUrl":42,"ownerBlogUrl":12,"ownerDescription":43,"updatedAt":44,"install":45,"resources":58},"01M6BY1Y9GTF6C3B3TMMPJYSZD","nodetool-chat-cli",null,"Use NodeTool chat CLI sessions, provider selection, workspace tools, and Global Chat features.","nodetool-ai\u002Fnodetool","nodetool-ai","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F164873569?v=4","01M6BXPFDW36K9K1MR8ZH63HG2","nodetool.ai","01M6BXPFJ893XM219GQN60B0WK",633,"AGPL-3.0","https:\u002F\u002Fgithub.com\u002Fnodetool-ai\u002Fnodetool\u002Fblob\u002Fmain\u002Fpackages\u002Fsystem-skills\u002Fnodetool-chat-cli\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30],"nodetool chat cli","cli","nodetool","chat","sessions","workspace","Tools","selection","features","provider","use","global","2026-11-10 10:12:30",false,"---\nname: nodetool-chat-cli\ndescription: \"Use NodeTool chat CLI sessions, provider selection, workspace tools, and Global Chat features.\"\n---\n\nYou help users use NodeTool's chat interfaces — the terminal chat CLI and Global Chat.\n\n# Chat CLI\n\nThe chat CLI fills the terminal with a scrollable transcript, multiline\ncomposer, tool details, task progress, and approval prompts. Two entry points:\n- `nodetool-chat` (standalone binary)\n- `nodetool chat` (subcommand that forwards to the chat UI)\n\nFrom source (no build): `npm run dev:chat -- [flags]`.\n\n## Starting Chat\n\n```bash\n# Interactive chat (default provider\u002Fmodel from saved settings)\nnodetool chat\n\n# With a specific provider\u002Fmodel\nnodetool chat -p openai -m gpt-5.4\nnodetool chat -p anthropic -m claude-sonnet-4-6\nnodetool chat -p ollama -m qwen-3.5:4b\n\n# Restrict the enabled tools\nnodetool chat --tools web_search,browser,write_file\n\n# Connect to a running server instead of a local provider\nnodetool chat -u ws:\u002F\u002Flocalhost:7777\u002Fws\n```\n\n> **Agent mode is always on.** Every chat session runs the unified agent loop\n> (planning + tools). The old `-a\u002F--agent` and `--no-agent` flags are deprecated\n> no-ops kept for compatibility.\n\n## CLI Flags\n\n| Flag | Purpose |\n|------|---------|\n| `-p, --provider \u003Cname>` | LLM provider (see list below) |\n| `-m, --model \u003Cid>` | Model ID |\n| `-w, --workspace \u003Cpath>` | Workspace directory (default: cwd) |\n| `--tools \u003Clist>` | Comma-separated enabled tools |\n| `-u, --url \u003Cws-url>` | Connect to a NodeTool server WebSocket |\n| `--resume [id]` | Resume a saved session in this workspace, latest if no ID is given |\n| `--permission-mode \u003Cdefault|auto|plan>` | Set permissions. Interactive sessions default to `default`, piped input to `auto` |\n| `--cost-cap \u003Cusd>` | Ceiling on provider spend for one turn. `0` lifts it. Default from `NODETOOL_AGENT_TURN_COST_CAP_USD` |\n| `--timeout \u003Cs>` | Wall-clock limit on one turn, in seconds |\n| `--no-read-only-search` | Disable the read-only `run_search` fan-out primitive |\n| `--trace-file \u003Cpath>` | Append LLM\u002Fagent\u002Fworkflow spans as JSONL |\n| `--trace-stdout [pretty\\|json]` | Stream spans to stdout |\n\nProviders: `anthropic`, `claude_agent_sdk`, `openai`, `codex`, `gemini`, `xai`,\n`groq`, `mistral`, `deepseek`, `moonshot`, `sarvam`, `minimax`, `zai`, `cerebras`, `gmi`, `meta`,\n`alibaba`, `together`, `openrouter`, `requesty`, `opper`, `cheaperinference`, `api_route`, `runcrate`, `standardcompute`, `uberllm`, `huggingface`,\n`replicate`, `kie`, `aki`, `ollama`, `lmstudio`, `mlx`, `node_llama_cpp`. Any other registered provider id (e.g. `vllm`) also works when\npassed explicitly.\n\n## Slash Commands (prefix with `\u002F`)\n\n| Command | Purpose |\n|---------|---------|\n| `\u002Fhelp` | Show commands and keyboard shortcuts in the transcript |\n| `\u002Fnew` | Start a fresh session (clears history + server thread) |\n| `\u002Fclear` | Clear the visible history |\n| `\u002Fcompact` | Summarize and compact the conversation context |\n| `\u002Fmodel [provider\u002Fid]` | Browse models from all configured providers, or switch with a provider\u002Fmodel ID |\n| `\u002Fagent [id\\|main]` | Browse sub-agent threads, inspect one, or return to the main conversation |\n| `\u002Ftools` | List the enabled tools |\n| `\u002Fmode \u003Cdefault|auto|plan>` | Change tool permissions |\n| `\u002Fsessions` | Browse saved conversations for this workspace and server |\n| `\u002Fresume [id]` | Resume a saved conversation |\n| `\u002Fexport [path.md]` | Save a Markdown transcript without overwriting an existing file |\n| `\u002Fdetails` | Toggle tool arguments, code, and edit diffs |\n| `\u002Fexit`, `\u002Fquit` | Quit chat |\n\nEnter sends. Alt+Enter, Shift+Enter in supported terminals, or Ctrl+J inserts a\nnewline. Up\u002FDown recalls prompts and Tab completes commands. Page Up\u002FPage Down\nscrolls, Ctrl+G returns to the latest output, and Ctrl+O toggles tool details.\nEscape cancels a turn or dismisses input. Ctrl+C cancels, clears a draft, or\nsaves and exits when idle with an empty composer. Approval prompts show their\nanswer keys and can be scrolled before answering.\n\n`\u002Fcompact` summarizes local context. Connected servers manage their own\ncontext. `\u002Fclear` only clears the screen, while `\u002Fnew` resets the conversation.\n\nNon-slash input is sent to the model as a chat message — there is no built-in\nshell (`ls`, `cd`, …) in the chat prompt. File operations happen through the\nagent's file tools in the workspace.\n\n## Configuration\n\n- Settings file: `~\u002F.nodetool\u002Fchat-settings.json` (persists provider + model)\n- Sessions: `~\u002F.nodetool\u002Fchat-sessions\u002F` (transcript, context, provider continuation)\n- Sessions are saved after turns and on exit. The picker filters by workspace\n  and server. Resuming does not carry over approval grants.\n\n# Agent Capabilities\n\nBecause the agent loop is always active, the chat can:\n\n1. **Plan** — break tasks into steps\n2. **Use tools** — search, browse, file ops, code execution, media generation\n3. **Iterate** — execute steps, evaluate results, adapt\n4. **Run workflows** — trigger saved NodeTool workflows\n\n## Common Tools\n\n| Tool | Capability |\n|------|-----------|\n| `web_search` | Web search |\n| `browser` | Browse and extract web content |\n| `read_file` \u002F `write_file` \u002F `edit_file` | Workspace file ops |\n| `grep` \u002F `glob` | Search files |\n| `take_screenshot` | Capture a page screenshot |\n| `find_model` | Pick a model by capability |\n| `generate_image` \u002F `generate_video` \u002F `generate_speech` | Media generation |\n\nRestrict the set with `--tools a,b,c`; inspect the active set with `\u002Ftools`.\n`--tools` matches exact names and drops unknown ones without an error, so check\n`\u002Ftools` after restricting.\n\n# Global Chat\n\nGlobal Chat is the desktop app's built-in chat interface.\n\n## Features\n\n- Chat with any configured AI model (OpenAI, Anthropic, Gemini, local)\n- Multiple conversation threads\n- Standalone window (launch from the system tray)\n- Tools: web search, image generation, workflow execution\n- The same always-on agent loop as the CLI\n\n## Workflow Integration\n\n```\n1. Save a workflow in the NodeTool editor\n2. Open Global Chat\n3. Select the workflow from the workflow picker\n4. Chat naturally — the agent can invoke the workflow as a tool\n```\n\n# Typical Flows\n\n## Quick Question\n```bash\nnodetool chat -p openai -m gpt-5.4\n> What's the difference between FAISS and ChromaDB?\n```\n\n## Research Task\n```bash\nnodetool chat --tools web_search,browser,write_file\n> Research the top 5 TypeScript ORMs and write a comparison to comparison.md\n```\n\n## Code Generation\n```bash\nnodetool chat -p anthropic -m claude-sonnet-4-6 --tools write_file,read_file,grep\n> Create a Python script that processes CSV files and generates summary statistics\n```\n\n## Headless \u002F Programmatic Chat\n\nFor non-interactive chat, use the OpenAI-compatible Chat API on a running server\n(`nodetool serve`):\n\n```bash\ncurl -X POST http:\u002F\u002Flocalhost:7777\u002Fv1\u002Fchat\u002Fcompletions \\\n  -H \"Authorization: Bearer TOKEN\" \\\n  -d '{\"model\": \"gpt-5.4\", \"messages\": [{\"role\": \"user\", \"content\": \"Hello\"}]}'\n```\n\n# Common Pitfalls\n\n- **No provider configured**: store a key first (`nodetool secrets store OPENAI_API_KEY`). The `\u002Fmodel` picker lists models only from configured providers.\n- **Wrong model ID**: switch with `\u002Fmodel \u003Cprovider>\u002F\u003Cid>`; the picker searches every configured provider.\n- **Expecting a shell**: bare commands like `ls` are sent to the model, not run. Use the agent's file tools instead.\n- **Using `\u002Fagent` as a toggle**: agent mode is always on. `\u002Fagent` inspects delegated sub-agent threads.\n- **Unattended runs spend without asking**: piped input defaults to `--permission-mode auto`. Set `--cost-cap` and `--timeout` for scripted sessions.\n","You help users use NodeTool's chat interfaces — the terminal chat CLI and Global Chat.\n\n# Chat CLI\n\nThe chat CLI fills the terminal with a scrollable transcript, multiline\ncomposer, tool details, task progress, and approval prompts. Two entry points:\n- `nodetool-chat` (standalone binary)\n- `nodetool chat` (subcommand that forwards to the chat UI)\n\nFrom source (no build): `npm run dev:chat -- [flags]`.\n\n## Starting Chat\n\n```bash\n# Interactive chat (default provider\u002Fmodel from saved settings)\nnodetool chat\n\n# With a specific provider\u002Fmodel\nnodetool chat -p openai -m gpt-5.4\nnodetool chat -p anthropic -m claude-sonnet-4-6\nnodetool chat -p ollama -m qwen-3.5:4b\n\n# Restrict the enabled tools\nnodetool chat --tools web_search,browser,write_file\n\n# Connect to a running server instead of a local provider\nnodetool chat -u ws:\u002F\u002Flocalhost:7777\u002Fws\n```\n\n> **Agent mode is always on.** Every chat session runs the unified agent loop\n> (planning + tools). The old `-a\u002F--agent` and `--no-agent` flags are deprecated\n> no-ops kept for compatibility.\n\n## CLI Flags\n\n| Flag | Purpose |\n|------|---------|\n| `-p, --provider \u003Cname>` | LLM provider (see list below) |\n| `-m, --model \u003Cid>` | Model ID |\n| `-w, --workspace \u003Cpath>` | Workspace directory (default: cwd) |\n| `--tools \u003Clist>` | Comma-separated enabled tools |\n| `-u, --url \u003Cws-url>` | Connect to a NodeTool server WebSocket |\n| `--resume [id]` | Resume a saved session in this workspace, latest if no ID is given |\n| `--permission-mode \u003Cdefault|auto|plan>` | Set permissions. Interactive sessions default to `default`, piped input to `auto` |\n| `--cost-cap \u003Cusd>` | Ceiling on provider spend for one turn. `0` lifts it. Default from `NODETOOL_AGENT_TURN_COST_CAP_USD` |\n| `--timeout \u003Cs>` | Wall-clock limit on one turn, in seconds |\n| `--no-read-only-search` | Disable the read-only `run_search` fan-out primitive |\n| `--trace-file \u003Cpath>` | Append LLM\u002Fagent\u002Fworkflow spans as JSONL |\n| `--trace-stdout [pretty\\|json]` | Stream spans to stdout |\n\nProviders: `anthropic`, `claude_agent_sdk`, `openai`, `codex`, `gemini`, `xai`,\n`groq`, `mistral`, `deepseek`, `moonshot`, `sarvam`, `minimax`, `zai`, `cerebras`, `gmi`, `meta`,\n`alibaba`, `together`, `openrouter`, `requesty`, `opper`, `cheaperinference`, `api_route`, `runcrate`, `standardcompute`, `uberllm`, `huggingface`,\n`replicate`, `kie`, `aki`, `ollama`, `lmstudio`, `mlx`, `node_llama_cpp`. Any other registered provider id (e.g. `vllm`) also works when\npassed explicitly.\n\n## Slash Commands (prefix with `\u002F`)\n\n| Command | Purpose |\n|---------|---------|\n| `\u002Fhelp` | Show commands and keyboard shortcuts in the transcript |\n| `\u002Fnew` | Start a fresh session (clears history + server thread) |\n| `\u002Fclear` | Clear the visible history |\n| `\u002Fcompact` | Summarize and compact the conversation context |\n| `\u002Fmodel [provider\u002Fid]` | Browse models from all configured providers, or switch with a provider\u002Fmodel ID |\n| `\u002Fagent [id\\|main]` | Browse sub-agent threads, inspect one, or return to the main conversation |\n| `\u002Ftools` | List the enabled tools |\n| `\u002Fmode \u003Cdefault|auto|plan>` | Change tool permissions |\n| `\u002Fsessions` | Browse saved conversations for this workspace and server |\n| `\u002Fresume [id]` | Resume a saved conversation |\n| `\u002Fexport [path.md]` | Save a Markdown transcript without overwriting an existing file |\n| `\u002Fdetails` | Toggle tool arguments, code, and edit diffs |\n| `\u002Fexit`, `\u002Fquit` | Quit chat |\n\nEnter sends. Alt+Enter, Shift+Enter in supported terminals, or Ctrl+J inserts a\nnewline. Up\u002FDown recalls prompts and Tab completes commands. Page Up\u002FPage Down\nscrolls, Ctrl+G returns to the latest output, and Ctrl+O toggles tool details.\nEscape cancels a turn or dismisses input. Ctrl+C cancels, clears a draft, or\nsaves and exits when idle with an empty composer. Approval prompts show their\nanswer keys and can be scrolled before answering.\n\n`\u002Fcompact` summarizes local context. Connected servers manage their own\ncontext. `\u002Fclear` only clears the screen, while `\u002Fnew` resets the conversation.\n\nNon-slash input is sent to the model as a chat message — there is no built-in\nshell (`ls`, `cd`, …) in the chat prompt. File operations happen through the\nagent's file tools in the workspace.\n\n## Configuration\n\n- Settings file: `~\u002F.nodetool\u002Fchat-settings.json` (persists provider + model)\n- Sessions: `~\u002F.nodetool\u002Fchat-sessions\u002F` (transcript, context, provider continuation)\n- Sessions are saved after turns and on exit. The picker filters by workspace\n  and server. Resuming does not carry over approval grants.\n\n# Agent Capabilities\n\nBecause the agent loop is always active, the chat can:\n\n1. **Plan** — break tasks into steps\n2. **Use tools** — search, browse, file ops, code execution, media generation\n3. **Iterate** — execute steps, evaluate results, adapt\n4. **Run workflows** — trigger saved NodeTool workflows\n\n## Common Tools\n\n| Tool | Capability |\n|------|-----------|\n| `web_search` | Web search |\n| `browser` | Browse and extract web content |\n| `read_file` \u002F `write_file` \u002F `edit_file` | Workspace file ops |\n| `grep` \u002F `glob` | Search files |\n| `take_screenshot` | Capture a page screenshot |\n| `find_model` | Pick a model by capability |\n| `generate_image` \u002F `generate_video` \u002F `generate_speech` | Media generation |\n\nRestrict the set with `--tools a,b,c`; inspect the active set with `\u002Ftools`.\n`--tools` matches exact names and drops unknown ones without an error, so check\n`\u002Ftools` after restricting.\n\n# Global Chat\n\nGlobal Chat is the desktop app's built-in chat interface.\n\n## Features\n\n- Chat with any configured AI model (OpenAI, Anthropic, Gemini, local)\n- Multiple conversation threads\n- Standalone window (launch from the system tray)\n- Tools: web search, image generation, workflow execution\n- The same always-on agent loop as the CLI\n\n## Workflow Integration\n\n```\n1. Save a workflow in the NodeTool editor\n2. Open Global Chat\n3. Select the workflow from the workflow picker\n4. Chat naturally — the agent can invoke the workflow as a tool\n```\n\n# Typical Flows\n\n## Quick Question\n```bash\nnodetool chat -p openai -m gpt-5.4\n> What's the difference between FAISS and ChromaDB?\n```\n\n## Research Task\n```bash\nnodetool chat --tools web_search,browser,write_file\n> Research the top 5 TypeScript ORMs and write a comparison to comparison.md\n```\n\n## Code Generation\n```bash\nnodetool chat -p anthropic -m claude-sonnet-4-6 --tools write_file,read_file,grep\n> Create a Python script that processes CSV files and generates summary statistics\n```\n\n## Headless \u002F Programmatic Chat\n\nFor non-interactive chat, use the OpenAI-compatible Chat API on a running server\n(`nodetool serve`):\n\n```bash\ncurl -X POST http:\u002F\u002Flocalhost:7777\u002Fv1\u002Fchat\u002Fcompletions \\\n  -H \"Authorization: Bearer TOKEN\" \\\n  -d '{\"model\": \"gpt-5.4\", \"messages\": [{\"role\": \"user\", \"content\": \"Hello\"}]}'\n```\n\n# Common Pitfalls\n\n- **No provider configured**: store a key first (`nodetool secrets store OPENAI_API_KEY`). The `\u002Fmodel` picker lists models only from configured providers.\n- **Wrong model ID**: switch with `\u002Fmodel \u003Cprovider>\u002F\u003Cid>`; the picker searches every configured provider.\n- **Expecting a shell**: bare commands like `ls` are sent to the model, not run. Use the agent's file tools instead.\n- **Using `\u002Fagent` as a toggle**: agent mode is always on. `\u002Fagent` inspects delegated sub-agent threads.\n- **Unattended runs spend without asking**: piped input defaults to `--permission-mode auto`. Set `--cost-cap` and `--timeout` for scripted sessions.\n",{"name":5,"description":7},"main","d5860feab9249fd6eb8e585f7558463227520792","packages\u002Fsystem-skills\u002Fnodetool-chat-cli",90,"https:\u002F\u002Fgithub.com\u002Fnodetool-ai\u002Fnodetool","https:\u002F\u002Fnodetool.ai\u002F","https:\u002F\u002Fgithub.com\u002Fnodetool-ai","No-code AI development","2026-11-14 03:12:08",{"source":8,"skillName":5,"commands":46,"prompt":56,"zipAvailable":57},[47,50,53],{"tool":48,"command":49},"npx","npx skills add nodetool-ai\u002Fnodetool --skill nodetool-chat-cli",{"tool":51,"command":52},"bunx","bunx skills add nodetool-ai\u002Fnodetool --skill nodetool-chat-cli",{"tool":54,"command":55},"pnpm","pnpm dlx skills add nodetool-ai\u002Fnodetool --skill nodetool-chat-cli","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fnodetool-ai\u002Fnodetool\u002Fblob\u002Fmain\u002Fpackages\u002Fsystem-skills\u002Fnodetool-chat-cli\u002FSKILL.md",true,[],[60,96,126,141,157,182],{"skillNo":61,"name":21,"nameZh":6,"description":62,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":63,"categories":64,"keywords":75,"publishedAt":31},"01M6BY4D93R0Q9400ZHJ04DXP1","Use the NodeTool MCP server to build, validate, run, and debug visual AI workflows, and to work with assets, collections, and jobs. Use when the user mentions NodeTool or asks for a workflow graph, a node, or a media generation run on their NodeTool server.","https:\u002F\u002Fgithub.com\u002Fnodetool-ai\u002Fnodetool\u002Fblob\u002Fmain\u002Fplugins\u002Fchatgpt\u002Fnodetool\u002Fskills\u002Fnodetool\u002FSKILL.md",[65,70],{"categoryNo":66,"categoryName":67,"taxonomyType":68,"taxonomyTypeDesc":69},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",{"categoryNo":71,"categoryName":72,"taxonomyType":73,"taxonomyTypeDesc":74},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[21,76,77,78,79,80,81,82,83,84,85,86,87,88,29,89,90,91,92,93,94,95],"MCP","mcp server","workflow","workflows","validate","debug","run","graph","server","Media","assets","work","node","visual","generation","collections","media generation","with","for","when",{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":105,"publishedAt":31},"01M6BY4AEB05ZPBRVD078ATR2H","wan-2-6-prompting","Prompt Alibaba's Wan 2.6 video — text-to-video with a global style line plus timing-bracketed shots, and image-to-video that describes only what changes over time. Covers the shot-mode switch per provider, the prompt budget, negative prompts, motion intensity wording, audio input and prompt expansion. Use whenever the model id names a Wan 2.6 video route (alibaba\u002Fwan-2.6\u002Ftext-to-video, alibaba\u002Fwan-2.6\u002Fimage-to-video, wan-video\u002Fwan-2.6-t2v, wan-video\u002Fwan-2.6-i2v, wan-video\u002Fwan2.6-i2v-flash) on generate_video, animate_image or a TextToVideo node. Not for Wan 2.5 or 2.7, or the Wan 2.6 image routes.","https:\u002F\u002Fgithub.com\u002Fnodetool-ai\u002Fnodetool\u002Fblob\u002Fmain\u002Fpackages\u002Fsystem-skills\u002Fwan-2-6-prompting\u002FSKILL.md",[102],{"categoryNo":103,"categoryName":104,"taxonomyType":68,"taxonomyTypeDesc":69},"01JBSEEDCAT000000000000016","图像与多媒体",[106,107,108,109,110,111,112,113,114,115,116,88,117,118,119,120,121,122,123,124,125],"wan 2 6 prompting","prompting","image","generate","Budget","Video","Audio","text","animate","model","flash","only","route","time","line","input","text-to-video","image-to-video","mode","expansion",{"skillNo":127,"name":128,"nameZh":6,"description":129,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":134,"publishedAt":31},"01M6BY47T4748ZG5ZMTAR97ZWZ","video-workflow","Build a reusable NodeTool video workflow for batches or repeated inputs. For a single finished piece, use a storyboard skill.","https:\u002F\u002Fgithub.com\u002Fnodetool-ai\u002Fnodetool\u002Fblob\u002Fmain\u002Fpackages\u002Fsystem-skills\u002Fvideo-workflow\u002FSKILL.md",[132,133],{"categoryNo":103,"categoryName":104,"taxonomyType":68,"taxonomyTypeDesc":69},{"categoryNo":66,"categoryName":67,"taxonomyType":68,"taxonomyTypeDesc":69},[78,111,135,21,29,136,137,138,139,94,140],"video workflow","reusable","storyboard","build","batches","single",{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":148,"publishedAt":31},"01M6BY4587N2SYN315SXGEMZC3","video-clone","Analyze a reference video and recreate its shot structure with a new product or cast in NodeTool.","https:\u002F\u002Fgithub.com\u002Fnodetool-ai\u002Fnodetool\u002Fblob\u002Fmain\u002Fpackages\u002Fsystem-skills\u002Fvideo-clone\u002FSKILL.md",[147],{"categoryNo":103,"categoryName":104,"taxonomyType":68,"taxonomyTypeDesc":69},[111,149,150,151,152,21,153,154,155,93,156],"video clone","clone","product","analyze","reference","cast","structure","new",{"skillNo":158,"name":159,"nameZh":6,"description":160,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":161,"categories":162,"keywords":164,"publishedAt":31},"01M6BY4257C2KQYYMD9EK6DK8E","video-audio-continuity","Keep sound continuous across a multi-scene piece cut from generated video — why one clip per scene hard-cuts the audio at every boundary, when to write all the scenes into a single generation instead, the sound-design vocabulary that survives a provider's copyright filter, and how to check the length, the aspect ratio and the mix of what came back. Use when a piece has more than one scene and the video model writes its own audio (Seedance 2, Veo 3, MiniMax H3, Kling 2.6 and later), or when a cut's sound drops out at the shot changes.","https:\u002F\u002Fgithub.com\u002Fnodetool-ai\u002Fnodetool\u002Fblob\u002Fmain\u002Fpackages\u002Fsystem-skills\u002Fvideo-audio-continuity\u002FSKILL.md",[163],{"categoryNo":103,"categoryName":104,"taxonomyType":68,"taxonomyTypeDesc":69},[111,112,165,166,167,168,169,170,115,171,172,173,174,175,176,177,178,179,180,181,95],"video audio continuity","continuity","design","boundary","how","why","write","generated","later","back","across","cut","how to","filter","mix","at","veo 3",{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":186,"categories":187,"keywords":189,"publishedAt":31},"01M6BY3ZANBSQMZRH4MG55R8Z7","veo-3-prompting","Prompt Google's Veo 3 video line — the five-element shot\u002Fsetting\u002Fsubject\u002Faction\u002Fdialogue structure, the cinematography vocabulary it reads directly, duration and aspect-ratio tradeoffs, the audio and auto-fix switches per provider, and the fixes for visual drift, temporal inconsistency and audio mismatch. Use whenever the model id contains veo3 or veo-3 (fal-ai\u002Fveo3.1 and its fast, lite, image-to-video, first-last-frame and reference-to-video routes, fal-ai\u002Fveo3\u002Fimage-to-video, google\u002Fveo3.1 on atlascloud, google\u002Fveo-3 and google\u002Fveo-3.1 on replicate, kie's veo-3-1, and Gemini's own veo-3.1-generate-preview) on generate_video, animate_image, generate_video_from_references or a TextToVideo node.","https:\u002F\u002Fgithub.com\u002Fnodetool-ai\u002Fnodetool\u002Fblob\u002Fmain\u002Fpackages\u002Fsystem-skills\u002Fveo-3-prompting\u002FSKILL.md",[188],{"categoryNo":103,"categoryName":104,"taxonomyType":68,"taxonomyTypeDesc":69},[190,191,107,181,108,192,193,109,194,195,111,112,114,115,196,197,198,199,200,201,202,155,203,204,205],"veo 3 prompting","veo","google","gemini","fast","first","fal","kie","replicate","fix","auto","references","drift","preview","element","auto-fix"]