Docs I18n Review
Comfy-Org/docs
Review ComfyUI docs translation quality with LLM-as-a-judge (review-i18n.ts).
Manages ComfyUI workflow templates end-to-end: add new templates and rename existing ones (files, index metadata, bundles, i18n, package sync).
$ npx skills add Comfy-Org/workflow_templates --skill managing-templates -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Comfy-Org/workflow_templates managing-templates --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/Comfy-Org/workflow_templates.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/managing-templates .claude/skills/managing-templates && 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 "managing-templates" agent skill from https://github.com/Comfy-Org/workflow_templates/tree/main/.claude/skills/managing-templates into .claude/skills/managing-templates/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managing-templates", 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/Comfy-Org/workflow_templates/tree/main/.claude/skills/managing-templatesType 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 Comfy-Org/workflow_templates --skill managing-templates -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Comfy-Org/workflow_templates managing-templates --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Comfy-Org/workflow_templates.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/managing-templates .agents/skills/managing-templates && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "managing-templates" agent skill from https://github.com/Comfy-Org/workflow_templates/tree/main/.claude/skills/managing-templates into .agents/skills/managing-templates/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managing-templates", 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 Comfy-Org/workflow_templates --skill managing-templates -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Comfy-Org/workflow_templates managing-templates --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Comfy-Org/workflow_templates.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/managing-templates .cursor/skills/managing-templates && 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 "managing-templates" agent skill from https://github.com/Comfy-Org/workflow_templates/tree/main/.claude/skills/managing-templates into .cursor/skills/managing-templates/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managing-templates", 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/Comfy-Org/workflow_templates.git --path .claude/skills/managing-templates--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 Comfy-Org/workflow_templates --skill managing-templates -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Comfy-Org/workflow_templates managing-templates --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Comfy-Org/workflow_templates.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/managing-templates .gemini/skills/managing-templates && 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 "managing-templates" agent skill from https://github.com/Comfy-Org/workflow_templates/tree/main/.claude/skills/managing-templates into .gemini/skills/managing-templates/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managing-templates", 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 Comfy-Org/workflow_templates managing-templatesInstalls 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 Comfy-Org/workflow_templates --skill managing-templates -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Comfy-Org/workflow_templates.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/managing-templates .github/skills/managing-templates && 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 "managing-templates" agent skill from https://github.com/Comfy-Org/workflow_templates/tree/main/.claude/skills/managing-templates into .github/skills/managing-templates/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managing-templates", 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 Comfy-Org/workflow_templates --skill managing-templates -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Comfy-Org/workflow_templates managing-templates --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Comfy-Org/workflow_templates.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/managing-templates .opencode/skills/managing-templates && 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 "managing-templates" agent skill from https://github.com/Comfy-Org/workflow_templates/tree/main/.claude/skills/managing-templates into .opencode/skills/managing-templates/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "managing-templates", 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.
managing-templatesManages ComfyUI workflow templates end-to-end: add new templates and rename existing ones (files, index metadata, bundles, i18n, package sync).
Managing Templates is an agent skill from Comfy-Org/workflow_templates. Manages ComfyUI workflow templates end-to-end: add new templates and rename existing ones (files, index metadata, bundles, i18n, package sync). Use when asked to: add a template, create a new template, submit a workflow, rename a template, retitle a template slug, change a template name, rename workflow template, onboard a template, register a template, ship a template. Triggers on: add template, new template, new workflow, rename template, rename workflow, change template name, template rename.
Its SKILL.md is about 2.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 Frontend & Design, covering Internationalization and Diffusion and image models. It works with ComfyUI. The repository describes itself as: ComfyUI template workflows. The licence is MIT.
12 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 8be1f8c. 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:
python3gitrgFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
comfyanonymous.github.ioAlso links to:
comfyui-embedded-workflow-editor.vercel.appFrom 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.
Managing Templates loads about 2.8k tokens when it runs. Until then it costs about 130 tokens; SKILL.md has 938 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 Comfy-Org/workflow_templates at commit 8be1f8c, republished under its MIT licence (© Comfy-Org). 938 words, ~2,802 tokens.
.claude/skills/managing-templates/SKILL.md (or your agent's skills folder).Covers adding new templates and renaming existing ones in this repository.
Related skills (do not replace this one):
/managing-bundles — move between bundles / categories / order/managing-thumbnails — thumbnail-only work/managing-translations — broader i18n work/managing-mcp-index — MCP index onlysnake_case — no spaces, dots, or special characters.name must match the workflow JSON filename (without .json).python3 scripts/sync/sync_bundles.py after editing bundles.json or renaming template assets.media-assets-02 — see scripts/docs/frozen_bundles.md.pyproject.toml only for intentional PyPI releases (release label)." in all JSON files.widgets_values in the workflow JSON.packages/*/src/**/templates/ are gitignored; regenerate via sync_bundles.py, do not hand-edit.| User intent | Go to |
|---|---|
| Add / create / register a new template | Adding a Workflow Template |
Rename / change template slug / old_name → new_name | Renaming a Template |
--disable-all-custom-nodes.Place your_template_name.json in templates/.
In templates/:
{template_name}-1.webp # required
{template_name}-2.webp # optional — compareSlider / hoverDissolve| Variant | Files needed |
|---|---|
(default) / video / audio / zoomHover | -1 only |
compareSlider / hoverDissolve | -1 and -2 |
Prepare as webp (lossy ~65%), reasonable resolution; animated webp for video thumbs before resize.
templates/index.jsonAdd the object to the right category's templates array.
Required: name, description, mediaType (image | video | audio | 3d), mediaSubtype (usually webp).
Common optional: title, tags, models, logos, date, openSource, minComfyUIVersion, requiresCustomNodes, thumbnailVariant, tutorialUrl, usage, size, searchRank, io, thumbnail.
{
"name": "text_to_video_wan",
"description": "Generate videos from text descriptions.",
"mediaType": "image",
"mediaSubtype": "webp",
"tutorialUrl": "https://comfyanonymous.github.io/ComfyUI_examples/wan/"
}Add the name to the correct array in bundles.json. New media → media-assets-02.
python3 scripts/sync/sync_bundles.pyFor every model-loading node (UNETLoader, VAELoader, CLIPLoader, etc.), add properties.models[]:
| Field | Required | Notes |
|---|---|---|
name | yes | Must match widgets_values |
url | yes | Direct download URL |
hash | yes | SHA-256 |
hash_type | yes | "SHA256" |
directory | yes | e.g. diffusion_models, vae, text_encoders |
"properties": {
"Node name for S&R": "SaveWEBM",
"cnr_id": "comfy-core",
"ver": "0.3.26"
}python3 scripts/sync/sync_bundles.py
python3 scripts/validate/validate_templates.py
python3 scripts/validate/validate_thumbnails.pysync_data.py does not invent translations. It only applies title / description strings that already exist in scripts/data/i18n.json into templates/index.{locale}.json. Technical fields are copied from English index.json; tags use mappings also stored in i18n.json.
scripts/data/i18n.json under templates.{name} (add or update locale strings). Until a locale string differs from English, that language stays pending / English fallback.{
"templates": {
"your_template_name": {
"title": {
"en": "Your Template Title",
"zh": "您的模板标题",
"ja": "テンプレートのタイトル"
},
"description": {
"en": "Your template description",
"zh": "您的模板描述",
"ja": "テンプレートの説明"
}
}
}
}python3 scripts/sync/sync_data.py --templates-dir templatesOrder matters: edit i18n.json first, then sync. Re-run sync after any later translation edits. For coverage checks and broader i18n work, use /managing-translations.
See scripts/docs/frozen_bundles.md.
Full release knowledge (label flow, publish pipeline, quota gates, force publish): use /managing-releases.
Rename the template slug (name / filenames), not just the display title.
Example: audio_sync_so_lip_sync_video → api_sync_so_lip_sync_video.
rg -l --glob '!**/node_modules/**' --glob '!**/.git/**' 'OLD_NAME'
# also list assets
ls templates/OLD_NAME* thumbnail/OLD_NAME* output/OLD_NAME* 2>/dev/nullTypical touch points:
| Location | What changes |
|---|---|
templates/{name}.json | rename file |
templates/{name}-1.webp (and -2.webp if any) | rename file |
thumbnail/{name}_thumbnail.* | rename if present |
output/{name}.* | rename if present |
templates/index.json | name, io.outputs[].file, thumbnail[] paths |
templates/index.*.json | same string refs as English index |
bundles.json | bundle membership string |
scripts/data/i18n.json | translation keys keyed by template name |
templates/index.mcp.json | if the template is already in MCP index |
site/overrides/templates/{name}.json | rename override file + internal name if present |
packages/core/.../manifest.json | regenerated by sync (do not hand-edit) |
Do not bulk-replace inside unrelated binary files. Prefer an explicit file list over a repo-wide rg \| perl loop (large trees can hang).
git mvgit mv templates/OLD_NAME.json templates/NEW_NAME.json
git mv templates/OLD_NAME-1.webp templates/NEW_NAME-1.webp
# if present:
git mv templates/OLD_NAME-2.webp templates/NEW_NAME-2.webp
git mv thumbnail/OLD_NAME_thumbnail.mp4 thumbnail/NEW_NAME_thumbnail.mp4
git mv output/OLD_NAME.mp4 output/NEW_NAME.mp4Adjust extensions to match what exists (.webp, .mp4, etc.).
Replace OLD_NAME → NEW_NAME in every text/JSON file from Step 1, especially:
"name": "OLD_NAME"bundles.json entryio.outputs[].file (e.g. OLD_NAME.mp4)thumbnail: ["thumbnail/OLD_NAME_..."]Use a targeted replace on the known file list (not a whole-repo scan that touches binaries).
python3 scripts/sync/sync_bundles.pyConfirms manifest.json ids/filenames point at NEW_NAME, and regenerates gitignored package template copies.
scripts/data/i18n.json (templates.OLD_NAME → templates.NEW_NAME, and any pending-tracking entries). Sync will not move those keys for you.python3 scripts/sync/sync_data.py --templates-dir templatesOLD_NAME in name / media paths, finish those replaces before or after sync as needed.templates/index.mcp.json, update it (or follow /managing-mcp-index).rg -l --glob '!**/node_modules/**' --glob '!**/.git/**' 'OLD_NAME' || echo '(none)'
ls templates/NEW_NAME.json templates/NEW_NAME-1.webp
python3 scripts/validate/validate_templates.py
python3 scripts/validate/validate_thumbnails.pyNo remaining OLD_NAME refs should remain (except unrelated historical docs). Bundle membership stays the same unless the user also asks to move bundles (/managing-bundles).
pyproject.toml for a rename-only PR unless it is an intentional release.index.json / i18n only.python3 scripts/sync/sync_bundles.py
python3 scripts/validate/validate_templates.py
python3 scripts/validate/validate_thumbnails.py| User says | Agent action |
|---|---|
| "Add this workflow as a template" | Adding Steps 1–9 |
| "I have a JSON file, make it a template" | Adding from Step 1 |
| "Rename X to Y" / "把 X 重命名成 Y" | Renaming Steps 1–6 |
| "Change the template name / slug" | Renaming (not title-only) |
| "Add a thumbnail for template X" | Prefer /managing-thumbnails |
| "What bundle?" | New media → media-assets-02; media-* and media-assets-01 frozen |
| "Validate my template" | Validation section |
| "Sync translations" / "加翻译" | Edit scripts/data/i18n.json first, then Adding Step 8 / /managing-translations |
| File / Dir | Purpose |
|---|---|
templates/ | Workflow JSON + thumbnails |
templates/index.json | Master English manifest |
templates/index.{locale}.json | Locale manifests |
thumbnail/, output/ | Optional preview/output media naming {name}_… |
bundles.json | Template → bundle |
scripts/data/i18n.json | Source of truth for title/description (and tag) translations; edit here before sync |
scripts/sync/sync_bundles.py | Manifest + copy assets into packages |
scripts/sync/sync_data.py | Apply i18n.json translations into locale indexes (does not invent translations) |
scripts/validate/validate_templates.py | Template JSON validation |
scripts/validate/validate_thumbnails.py | Thumbnail validation |
scripts/docs/frozen_bundles.md | Frozen legacy bundle policy |
© Comfy-Org, MIT. 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 .claude/skills/managing-templates of Comfy-Org/workflow_templates.
Open the folder on GitHubat commit 8be1f8c
Managing Templates 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 |
|---|---|---|---|---|---|---|
| Managing Templates this skillComfy-Org/workflow_templates | 1.3k | — | ~2.8k | Automated safety check: Pass | MIT | |
| Docs I18n ReviewComfy-Org/docs | 299 | — | ~926 | Automated safety check: Notes | GPL-3.0 | |
| Docs I18n TranslateComfy-Org/docs | 299 | — | ~3.2k | Automated safety check: Notes | GPL-3.0 | |
| ComfyUI Frontend Extensionsjtydhr88/comfyui-custom-node-skills | 295 | — | ~3.7k | Automated safety check: Pass | MIT | |
| Writing Storybook StoriesComfy-Org/ComfyUI_frontend | 2.1k | — | ~2.2k | Automated safety check: Pass | GPL-3.0 | |
| Pre Commit CheckMooshieblob1/MooshieUI | 207 | — | ~825 | Automated safety check: Pass | AGPL-3.0 |
Comfy-Org/docs
Review ComfyUI docs translation quality with LLM-as-a-judge (review-i18n.ts).
Comfy-Org/docs
Translate ComfyUI Mintlify docs from English MDX to ja/zh/ko using translate-i18n.ts.
jtydhr88/comfyui-custom-node-skills
Guide to writing JavaScript extensions for the ComfyUI frontend from custom nodes, covering lifecycle hooks, widgets, sidebar tabs, commands, settings, toasts and dialogs.
Comfy-Org/ComfyUI_frontend
Write or update Storybook stories for Vue components in ComfyUIfrontend.
Mooshieblob1/MooshieUI
Validates MooshieUI uncommitted changes before commit or PR — build gates, Rust fmt/clippy, conventions, i18n.
artokun/comfyui-mcp
Authoring ComfyUI v2 frontend extensions with @comfyorg/extension-api, covering defineNode/defineExtension/defineWidget, shell UI (sidebar tabs, commands, hotkeys), typed events, and handles.
Comfy-Org/workflow_templates
Edits, updates, rewrites, or adds content on the ComfyUI template site pages.
Comfy-Org/workflow_templates
Imports and registers subgraph blueprints into the ComfyUI workflowtemplates repository.
Comfy-Org/workflow_templates
Manages template bundles, categories, and ordering in the ComfyUI template repository.
Comfy-Org/workflow_templates
Builds and maintains templates/index.mcp.json for Comfy Cloud MCP tools.
Comfy-Org/workflow_templates
Manages releases for this repository: how version bumps, PyPI publishing, and GitHub releases work.
Comfy-Org/workflow_templates
Manages thumbnail and preview images for ComfyUI workflow templates.
Works with
Categories
Manages ComfyUI workflow templates end-to-end: add new templates and rename existing ones (files, index metadata, bundles, i18n, package sync). Managing Templates is an agent skill from Comfy-Org/workflow_templates. Manages ComfyUI workflow templates end-to-end: add new templates and rename existing ones (files, index metadata, bundles, i18n, package sync).
Managing Templates fits situations like: asked to: add a template; create a new template; submit a workflow; rename a template.
Run `npx skills add Comfy-Org/workflow_templates --skill managing-templates -a claude-code`. Or copy the skill folder (.claude/skills/managing-templates in Comfy-Org/workflow_templates) into .claude/skills/managing-templates in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Comfy-Org/workflow_templates --skill managing-templates -a codex`. Or copy the skill folder (.claude/skills/managing-templates in Comfy-Org/workflow_templates) into .agents/skills/managing-templates 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 Comfy-Org/workflow_templates --skill managing-templates -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/managing-templates, .gemini/skills/managing-templates, .github/skills/managing-templates and .opencode/skills/managing-templates in your project.
Going by SKILL.md and its folder, Managing Templates needs the command-line tools its instructions call (python3, git and rg). Our summary lists: Python 3.
SKILL.md names 2 domains. In commands or code: comfyanonymous.github.io; the agent is likely to contact it when it follows the instructions. As links in the text: comfyui-embedded-workflow-editor.vercel.app. 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.
Managing Templates is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.8k tokens (SKILL.md is roughly 11k 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 Managing Templates: Docs I18n Review (Comfy-Org/docs, 299 stars), Docs I18n Translate (Comfy-Org/docs, 299 stars), ComfyUI Frontend Extensions (jtydhr88/comfyui-custom-node-skills, 295 stars) and Writing Storybook Stories (Comfy-Org/ComfyUI_frontend, 2.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Comfy-Org (a GitHub organization) maintains it in Comfy-Org/workflow_templates, which has 1,270 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 9, 2026.
Source: Comfy-Org/workflow_templates on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.