Verdaccio Pull Request Workflow
verdaccio/verdaccio
Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.
Sync ComfyUI release notes to Strapi CMS: LLM-simplify English changelog for in-app popup, translate to zh/ja/ko/fr/ru/es in staging, push drafts to CMS.
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add Comfy-Org/docs --skill cms-changelog-sync -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Comfy-Org/docs cms-changelog-sync --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/docs.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/cms-changelog-sync .claude/skills/cms-changelog-sync && 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 "cms-changelog-sync" agent skill from https://github.com/Comfy-Org/docs/tree/main/.cursor/skills/cms-changelog-sync into .claude/skills/cms-changelog-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cms-changelog-sync", 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/docs/tree/main/.cursor/skills/cms-changelog-syncType 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/docs --skill cms-changelog-sync -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Comfy-Org/docs cms-changelog-sync --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Comfy-Org/docs.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.cursor/skills/cms-changelog-sync .agents/skills/cms-changelog-sync && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "cms-changelog-sync" agent skill from https://github.com/Comfy-Org/docs/tree/main/.cursor/skills/cms-changelog-sync into .agents/skills/cms-changelog-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cms-changelog-sync", 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/docs --skill cms-changelog-sync -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Comfy-Org/docs cms-changelog-sync --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Comfy-Org/docs.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.cursor/skills/cms-changelog-sync .cursor/skills/cms-changelog-sync && 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 "cms-changelog-sync" agent skill from https://github.com/Comfy-Org/docs/tree/main/.cursor/skills/cms-changelog-sync into .cursor/skills/cms-changelog-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cms-changelog-sync", 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/docs.git --path .cursor/skills/cms-changelog-sync--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/docs --skill cms-changelog-sync -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Comfy-Org/docs cms-changelog-sync --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Comfy-Org/docs.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.cursor/skills/cms-changelog-sync .gemini/skills/cms-changelog-sync && 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 "cms-changelog-sync" agent skill from https://github.com/Comfy-Org/docs/tree/main/.cursor/skills/cms-changelog-sync into .gemini/skills/cms-changelog-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cms-changelog-sync", 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/docs cms-changelog-syncInstalls 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/docs --skill cms-changelog-sync -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Comfy-Org/docs.git skills-src && mkdir -p .github/skills && cp -r skills-src/.cursor/skills/cms-changelog-sync .github/skills/cms-changelog-sync && 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 "cms-changelog-sync" agent skill from https://github.com/Comfy-Org/docs/tree/main/.cursor/skills/cms-changelog-sync into .github/skills/cms-changelog-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cms-changelog-sync", 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/docs --skill cms-changelog-sync -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/docs cms-changelog-sync --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Comfy-Org/docs.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.cursor/skills/cms-changelog-sync .opencode/skills/cms-changelog-sync && 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 "cms-changelog-sync" agent skill from https://github.com/Comfy-Org/docs/tree/main/.cursor/skills/cms-changelog-sync into .opencode/skills/cms-changelog-sync/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "cms-changelog-sync", 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.
cms-changelog-syncSync ComfyUI release notes to Strapi CMS: LLM-simplify English changelog for in-app popup, translate to zh/ja/ko/fr/ru/es in staging, push drafts to CMS.
Cms Changelog Sync is an agent skill from Comfy-Org/docs. Sync ComfyUI release notes to Strapi CMS: LLM-simplify English changelog for in-app popup, translate to zh/ja/ko/fr/ru/es in staging, push drafts to CMS. Resolves docs/local/cloud bullet URLs (blog.comfy.org, workflowtemplates index.json, Cloud ?template=, user UTM, GitHub PRs). HARD GATE: before any cms:sync/cms:publish for Cloud, always ask the user to manually confirm Cloud; default push is comfyui only. Use when updating changelog/index.mdx for CMS, running cms:prepare/cms:sync, Strapi release-notes…
Its SKILL.md is about 5.2k 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 Development, covering Changelog and release notes and Diffusion and image models. It works with ComfyUI, GitHub and pnpm. The repository describes itself as: Documentation for ComfyUI. The licence is GPL-3.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 2c66540. 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:
pnpmFrom 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:
api.deepseek.comcms.comfy.orgraw.githubusercontent.comcloud.comfy.orgAlso links to:
blog.comfy.orggithub.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
TRANSLATE_API_KEYCMS_API_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Cms Changelog Sync loads about 5.2k tokens when it runs. Until then it costs about 162 tokens; SKILL.md has 2,129 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 patterns that need a careful read before installing.
## Environment (`.env.local`)Requires **Bun**. Loads `.env.local` automatically.** run bulk `CMS_SYNC_ALL` prepare/sync without user consent (many API calls)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/docs at commit 2c66540, republished under its GPL-3.0 licence (© Comfy-Org). 2,129 words, ~5,238 tokens.
.claude/skills/cms-changelog-sync/SKILL.md (or your agent's skills folder).Push draft release notes to Strapi (release-notes content type). Docs changelog stays full; CMS uses committed staging with popup-sized copy.
Whenever the user asks to push, sync, or publish to CMS (in any language), agents must:
--project comfyui only. Do not run cms:sync / cms:publish / cms:preview for cloud in the same turn as the request.Should Cloud go to CMS this time as well? Please check Cloud staging (links and copy) yourself, then confirm. Until you confirm, I will only handle comfyui.
--project cloud for preview/sync/publish only after the user replies with an explicit yes for Cloud in this conversation turn chain (e.g. “yes, push Cloud”, “cloud too”). Linking shortlinks earlier, preparing staging, or saying “push to CMS” alone is not Cloud approval.cms:prepare:en / cms:prepare:locales may still prepare both projects’ staging files. The gate applies to Strapi preview, push, and publish (cms:preview, cms:sync, cms:publish), not to local staging generation.
Write this skill and related CMS agent docs in English. Match the user’s language only when asking the confirmation question in chat.
Three separate steps — stop for human review between each:
changelog/index.mdx ← docs source of truth (full EN)
│
▼ Step 1: pnpm cms:prepare:en
staging/en/changelog/index.mdx ← simplified popup EN → **review & approve**
│
▼ Step 2: pnpm cms:prepare:locales
staging/{zh,ja,ko,fr,ru,es}/… ← translated from staging EN → **review & approve**
│
▼ Step 3: pnpm cms:preview / cms:sync -- --project comfyui (only after user confirms)
Strapi CMS (draft) → manual Publish → published-versions.jsonNever edit docs zh/changelog/ for CMS. Never auto-publish in Strapi. Never use pnpm translate for CMS — that pipeline is for Mintlify docs only.
| Step | Command | What it does | Gate |
|---|---|---|---|
| 1. Simplify EN | pnpm cms:prepare:en -- --force v0.26.0 | docs → LLM → staging/en/ | Review EN staging |
| 2. Translate | pnpm cms:prepare:locales -- --force v0.26.0 | staging/en/ → staging/{zh,ja,ko,fr,ru,es}/ | Review locale staging |
| 3. Push CMS | pnpm cms:preview then pnpm cms:sync | staging → Strapi drafts | Strapi review → cms:publish |
pnpm cms:prepare without --en-only / --translate-only prints help and exits — use the step-specific scripts above.
Step 2 only. Input = simplified EN staging, not docs changelog.
staging/en/changelog/index.mdx ← input (Step 1 output, human-approved)
│
▼ pnpm cms:prepare:locales -- v0.26.0
staging/zh|ja|ko|fr|ru|es/changelog/… ← output (popup copy per locale, ready to sync)
│
▼ pnpm cms:sync (Step 3, after user confirms)
Strapi release-notes (draft)Mintlify docs (pnpm translate) | CMS popup (pnpm cms:prepare:locales) | |
|---|---|---|
| English source | changelog/index.mdx (full docs) | staging/en/changelog/index.mdx (simplified popup) |
| Output path | zh/changelog/index.mdx, etc. | staging/zh/changelog/index.mdx, etc. |
| Purpose | Docs site | Strapi in-app notification |
| Mix pipelines? | No | No |
Key points:
cms:prepare:locales does not re-simplify English — it reads each project's own staging EN (staging/en/ and staging/cloud/en/)cms:prepare:en firstcms-config.json)--force re-translates existing locale blocks (common after manual EN edits).env.local)| Variable | Used by | Notes |
|---|---|---|
TRANSLATE_API_KEY | prepare | Same as pnpm translate |
TRANSLATE_API_BASE_URL | prepare | e.g. https://api.deepseek.com |
TRANSLATE_API_MODEL | prepare | e.g. deepseek-v4-pro |
CMS_BASE_URL | sync, delete-drafts | e.g. https://cms.comfy.org |
CMS_API_TOKEN | sync, delete-drafts | Strapi API token |
CMS_PROJECT | optional | Default comfyui; also --project cloud on CLI |
CI: CMS_BASE_URL / TRANSLATE_API_BASE_URL → GitHub Variables; tokens → Secrets.
Prompt: .github/scripts/cms/cms-simplify-prompt.ts
Config: .github/scripts/cms/cms-config.json → simplify
| Rule | Value |
|---|---|
| Total bullets per version | up to 10 (max_bullets_total: 10) |
| Section headings max | 3 (max_sections: 3) |
| Section order | New Open-Source Model Support → Partner Node Updates → New Node Updates (optional) |
| Words per version | ~60–120 |
| Bullet format | [**Name**](pr_url): 6–12 words with one key trait |
| PR links | Keep when source has them; never invent URLs |
| New Node Updates | Optional by default. Omit from CMS popup even if docs has New Nodes; add only when a human explicitly asks |
| Drop | Bug fixes, performance, pure Load3D plumbing, internal refactors, ComfyUI-WIKI dependency bumps (see below), and New Nodes unless requested. Do not drop partner removals, deprecations, or EOL |
Style: principle-only prompt in cms-simplify-prompt.ts (no concrete version examples — avoids LLM contamination).
prepare:en copies docs URLs and local-length copy into Cloud. After it runs, rewrite Cloud EN (links and wording) before translating. Never invent URLs.
Copy length (local vs Cloud): Cloud popup users skim. After merge, shorten Cloud bullets so they do not list every node, mode, or task type. One short clause is enough: added the model, or one capability. Local CMS (staging/en/) and docs changelog/index.mdx can keep the fuller scope (which nodes, which modes). Do not shorten local to match Cloud.
Example: docs/local may say H3 Max landed on text-to-video, first-last-frame, and reference nodes. Cloud: Added H3 Max model support.
OSS bullets name the model, not the plumbing. After prepare:en, rewrite open-source bullets to match names users already see in tutorials/ (checkpoint family, fl2va / ref2va, ControlNet Union, and similar). If a tutorial page already documents the model, the popup should say we added support for that model. Do not describe loader internals: optional VAE, keyframe wiring, skipped LoRA keys, unless that is the only user-facing change.
LoRA / trainer format: say we support LoRAs trained in that format (or by that trainer). Do not mention the previous load bug.
Removals, deprecations, EOL: keep them on the popup (do not drop as housekeeping). On Cloud, still list the retired node or model names so users know which graphs break. The "one short clause" Cloud rule does not apply to removal bullets.
Resolve each feature bullet before cms:prepare:locales. Search these sources every time a new version lands:
| Source | Where |
|---|---|
| Template index | templates/index.json (raw: https://raw.githubusercontent.com/Comfy-Org/workflow_templates/main/templates/index.json) |
| Blog | blog.comfy.org (archive) |
Match a template by name, title, or models to the changelog item. Search the whole index: partner api_* and OSS video_*, image_*, 3d_* (and any other prefix). Do not grep api_ only. Match a blog post only if it covers this product or version (MiniMax H3 day-0 is not MiniMax H3 Max).
Video templates: when several templates exist, pick one by suffix on name, in this order: r2v → i2v → t2v. Example: api_minimax_h3_max_r2v over _i2v / _t2v. If none of those suffixes exist, use the remaining matching template (flf2v, edit, fun_controlnet_union, and similar). Cloud URL shape: https://cloud.comfy.org/?template=<name> (no UTM unless the user supplied one).
| Surface | Link priority (first match wins) |
|---|---|
Cloud CMS (staging/cloud/) | 1. UTM / links.comfy.org URL the user provided 2. Cloud template URL from the index 3. GitHub PR 4. ComfyUI repo commit/tag/compare |
Docs changelog/index.mdx and local CMS (staging/en/ etc.) | 1. Matching blog.comfy.org post 2. GitHub PR 3. ComfyUI repo commit/tag/compare |
Do not put Cloud ?template= URLs on docs or local popup. Do not copy local blog/PR links onto Cloud when a template (or user UTM) exists. After prepare:en merges comfyui → cloud, replace Cloud bullets that still point at PRs if the index has a template.
When curating changelog/index.mdx from ComfyUI git history, do not add bullets for commits routinely opened by ComfyUI-WIKI — they are dependency/content syncs, not core release features:
| Skip | Typical commit / PR pattern |
|---|---|
| Embedded docs | chore: update embedded docs to v…, comfyui-embedded-docs in requirements.txt |
| Workflow templates | chore: update workflow templates to v…, comfyui-workflow-templates in requirements.txt |
| Model blueprints | Add new model blueprints, blueprint starter workflows in template library |
Also omit standalone frontend package semver bumps unless tied to a user-visible fix worth its own bullet. CMS simplify must never promote WIKI-only items into popup copy even if they appear in the full docs block.
Example staging shape (placeholders only). New Node Updates is optional and usually omitted:
**New Open-Source Model Support**
* [**Model Name**](source_url): Short description with 1–2 traits from the release data
**Partner Node Updates**
* [**Partner Node**](source_url): Partner scope and capability from the release dataOnly when a human asks to include nodes:
**New Node Updates**
* [**Node Name**](source_url): What the node does and why it mattersSync adds header: # ComfyUI vX.Y.Z via format-cms-content.ts.
cms:prepare may generate both projects so staging stays mirrored. For cms:sync and cms:publish, agents must treat comfyui as the default project and pass --project comfyui.
Cloud is never implied. Follow Hard gate: Cloud push / publish above: ask every time the user requests a CMS push or publish; run --project cloud only after they explicitly confirm Cloud in that request chain.
Same changelog content; Strapi project field and CMS header differ (# ComfyUI vs # Cloud).
| Project | Staging path | CMS header |
|---|---|---|
comfyui | staging/{locale}/… | # ComfyUI vX.Y.Z |
cloud | staging/cloud/{locale}/… | # Cloud vX.Y.Z |
When prepare:en targets both projects, it runs the LLM once on comfyui, then merges those version blocks into cloud while keeping any tracking shortlinks already on cloud EN for that version. prepare:locales translates each project from its own staging EN. It does not copy comfyui locale files onto cloud. With --project cloud alone, cloud is prepared directly. Sync/publish must be project-scoped by agents: --project comfyui first, then ask for Cloud confirmation, then --project cloud only after that yes.
Single project: --project comfyui, --project cloud, or CMS_PROJECT=<project>.
Mark a version high attention:
pnpm cms:set-attention -- cloud v0.24.0 high --save| Command | Action |
|---|---|
pnpm cms:prepare:en | Step 1 — LLM simplify docs EN → staging/en/ (no translation) |
pnpm cms:prepare:locales | Step 2 — translate staging/en/ → staging/{zh,ja,ko,fr,ru,es}/ (does not re-simplify EN) |
pnpm cms:preview -- v0.25.1 | Step 3a — Dry-run Strapi push |
pnpm cms:sync -- v0.25.1 | Step 3b — Push/update drafts (run only after user confirms staging) |
pnpm cms:publish -- v0.25.1 | Publish + refresh published-versions.json |
pnpm cms:prepare | Prints three-step help and exits when no mode flag is passed |
pnpm cms:set-attention -- cloud v0.24.0 high | Set attention low/high in Strapi |
pnpm cms:delete-drafts --preview | List deletable Strapi drafts |
pnpm cms:delete-drafts | Delete drafts (keeps published) |
Flags (after --):
--force — re-simplify/re-translate even if staging has the version; on sync, update already-published CMS entries (default skips published)--preview / --dry-run — no API writes--project cloud — single project only (default = both)v0.25.1 — explicit version(s)Env:
CMS_SYNC_ALL=1 — include already-published versions (backfill)published-versions.jsonRequires Bun. Loads .env.local automatically.
Add full <Update> block to changelog/index.mdx (docs quality — unchanged). Set each bullet URL using Bullet links (blog → PR → repo for docs).
Step 1 — Simplify EN — review before translating:
pnpm cms:prepare:en -- --force v0.25.1Inspect: .github/scripts/cms/staging/en/changelog/index.mdx (blog/PR/repo, fuller copy). Rewrite .github/scripts/cms/staging/cloud/en/changelog/index.mdx: user UTM or ?template= from the index, and shorter bullets (model support, not every node). → stop until approved
Step 2 — Translate — from approved staging EN only:
pnpm cms:prepare:locales -- v0.25.1 # first translate
pnpm cms:prepare:locales -- --force v0.25.1 # re-translate after EN editsInspect: .github/scripts/cms/staging/zh/changelog/index.mdx (and other locales) → stop until approved
Step 3 — Push ComfyUI drafts (only after user confirms staging):
pnpm cms:preview -- --project comfyui v0.25.1
pnpm cms:sync -- --project comfyui v0.25.1Publish ComfyUI after Strapi review:
pnpm cms:publish --preview -- --project comfyui v0.25.1
pnpm cms:publish -- --project comfyui v0.25.1Cloud is separate (hard gate): before any cloud cms:preview / cms:sync / cms:publish, ask the user to manually confirm Cloud (see Hard gate: Cloud push / publish). Do not treat “push to CMS” or pasted Cloud URLs as that confirmation. Only then:
pnpm cms:preview -- --project cloud v0.25.1
pnpm cms:sync -- --project cloud v0.25.1
pnpm cms:publish -- --project cloud v0.25.1 # only if they asked to publishCommit .github/scripts/cms/staging/ and .github/scripts/cms/published-versions.json after publish.
pnpm cms:prepare:en -- --force # Step 1: all unpublished EN
pnpm cms:prepare:locales -- --force # Step 2: all locales
pnpm cms:preview -- --project comfyui
pnpm cms:sync -- --project comfyui # Step 3: after review (comfyui only)
# Cloud preview/sync/publish: only after Hard gate confirmation, with --project cloudRe-run with --force. Staging without --force skips existing <Update> blocks.
| Context | Versions processed |
|---|---|
| Local, no args | EN not in published-versions.json (≥ min_version 0.21.0) |
Local + CMS_SYNC_ALL=1 | All ≥ min_version |
Explicit v0.25.1 | That version only |
CI (CMS_SYNC_BEFORE / CMS_SYNC_AFTER) | New/changed <Update> blocks in git diff only |
cms:sync skips locales already published per registry. Published EN in CMS is never overwritten.
| Path | Role |
|---|---|
changelog/index.mdx | Full docs EN changelog |
.github/scripts/cms/staging/ | CMS popup content generated by prepare; review and commit |
.github/scripts/cms/cms-config.json | Locales, min version, simplify limits |
.github/scripts/cms/published-versions.json | Published registry (commit after Strapi publish) |
.github/scripts/cms/prepare-cms-changelog.ts | Prepare pipeline |
.github/scripts/cms/sync-to-strapi.ts | Strapi draft sync |
.github/scripts/cms/publish-cms-drafts.ts | Draft → published |
.github/scripts/cms/delete-cms-drafts.ts | Clean bad drafts |
.github/workflows/cms-changelog-sync.yml | CI: prepare → preview → sync on main (changelog paths only) |
When user asks to update CMS release notes:
changelog/index.mdx has the new <Update> blockindex.json (api_* and OSS video_* / image_* / 3d_*) and blog.comfy.org/archive; Cloud = user UTM then ?template= (video r2v → i2v → t2v); docs/local = blog then PR then repotutorials/ model names (added support for X). Not loader plumbingpnpm cms:prepare:en; rewrite Cloud EN links; show staging EN → wait for user approvalpnpm cms:prepare:locales (not cms:prepare:en) → wait for user approvalpnpm cms:preview -- --project comfyui ... then pnpm cms:sync -- --project comfyui ... only after user confirms staging--project cloud until they explicitly say yes this time--write on published-versions.github/scripts/cms/staging/ together with published-versions.json after publishCMS_SYNC_ALL prepare/sync without user consent (many API calls)| Issue | Fix |
|---|---|
| Only one version simplified | Old behavior was latest-only; now defaults to unpublished. Use CMS_SYNC_ALL=1 for all. |
| Staging skipped | Version already exists — add --force |
Strapi VERSION shows - | Bulk sync bug: version field null; delete drafts and re-sync |
| Delete draft 500 | Use pnpm cms:delete-drafts (locale-only DELETE, not status=draft) |
English base draft missing on locale sync | Ensure EN draft exists first; sync creates EN before other locales |
| Background prepare still running | pkill -f prepare-cms-changelog.ts |
docs-i18n-translate — Mintlify docs ja/zh/ko (pnpm translate)docs-i18n-review — translation quality review (pnpm translate:review)| Docs site | CMS popup | |
|---|---|---|
| Source | changelog/index.mdx | staging/en/… |
| Length | Full detail | 3–5 bullets |
| New Nodes | Keep in full changelog | Optional; omit by default unless a human asks |
| i18n | zh/changelog/ etc. | staging/zh/ etc. |
| Deploy | Mintlify | Strapi draft → publish |
© Comfy-Org, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .cursor/skills/cms-changelog-sync of Comfy-Org/docs.
Open the folder on GitHubat commit 2c66540
Cms Changelog Sync 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 |
|---|---|---|---|---|---|---|
| Cms Changelog Sync this skillComfy-Org/docs | 299 | — | ~5.2k | Automated safety check: Warn | GPL-3.0 | |
| Verdaccio Pull Request Workflowverdaccio/verdaccio | 18k | — | ~1.9k | Automated safety check: Pass | MIT | |
| ZCF Release AutomationUfoMiao/zcf | 6.1k | — | ~3.4k | Automated safety check: Pass | MIT | |
| Release Clawpatchopenclaw/clawpatch | 813 | — | ~1.1k | Automated safety check: Pass | MIT | |
| Kanvibe Release Deployrookedsysc/kanvibe | 143 | — | ~12k | Automated safety check: Notes | AGPL-3.0 | |
| Releasecyanfish-x/tellux | 207 | — | ~1.3k | Automated safety check: Pass | MIT |
verdaccio/verdaccio
Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.
UfoMiao/zcf
Automates a version release with changesets: analyzes code changes, writes a bilingual CHANGELOG, bumps the version and commits through a release branch and pull request.
openclaw/clawpatch
clawpatch release: version/changelog, CI, npm publish, GitHub release, verify.
rookedsysc/kanvibe
A skill your agent uses whenever releasing or deploying KanVibe desktop from a clean, up-to-date dev checkout: ask only for the target version and release-note approval, then let the AI update…
cyanfish-x/tellux
Cut and publish a new tellux release — bump version, curate a changelog summary from recent commits, pause for the user to manually pnpm publish (browser 2FA), then push the tag and create the…
emanuelcasco/pi-mono-extensions
Release a new version of pi-extensions: bump individual package versions (independent mode), update CHANGELOGs and READMEs, create per-package git tags, publish a GitHub release, and publish…
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.
Categories
Sync ComfyUI release notes to Strapi CMS: LLM-simplify English changelog for in-app popup, translate to zh/ja/ko/fr/ru/es in staging, push drafts to CMS. Cms Changelog Sync is an agent skill from Comfy-Org/docs. Sync ComfyUI release notes to Strapi CMS: LLM-simplify English changelog for in-app popup, translate to zh/ja/ko/fr/ru/es in staging, push drafts to CMS.
Cms Changelog Sync fits situations like: updating changelog/index.mdx for CMS; running cms:prepare/cms:sync; strapi release-notes; published-versions.json.
Run `npx skills add Comfy-Org/docs --skill cms-changelog-sync -a claude-code`. Or copy the skill folder (.cursor/skills/cms-changelog-sync in Comfy-Org/docs) into .claude/skills/cms-changelog-sync in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Comfy-Org/docs --skill cms-changelog-sync -a codex`. Or copy the skill folder (.cursor/skills/cms-changelog-sync in Comfy-Org/docs) into .agents/skills/cms-changelog-sync 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/docs --skill cms-changelog-sync -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cms-changelog-sync, .gemini/skills/cms-changelog-sync, .github/skills/cms-changelog-sync and .opencode/skills/cms-changelog-sync in your project.
Going by SKILL.md and its folder, Cms Changelog Sync needs the command-line tools its instructions call (pnpm) and credentials named TRANSLATE_API_KEY and CMS_API_TOKEN. Our summary lists: A credential in TRANSLATE_API_KEY; A credential in CMS_API_TOKEN.
SKILL.md names 6 domains. In commands or code: api.deepseek.com, cms.comfy.org, raw.githubusercontent.com and cloud.comfy.org; the agent is likely to contact these when it follows the instructions. As links in the text: blog.comfy.org and github.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md flagged 1 warning(s): contains instruction-override wording (e.g. “without asking the user”). Read the flagged lines before installing; the check is not a guarantee either way.
Cms Changelog Sync is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.2k tokens (SKILL.md is roughly 21k 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 Cms Changelog Sync: Verdaccio Pull Request Workflow (verdaccio/verdaccio, 18k stars), ZCF Release Automation (UfoMiao/zcf, 6.1k stars), Release Clawpatch (openclaw/clawpatch, 813 stars) and Kanvibe Release Deploy (rookedsysc/kanvibe, 143 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/docs, which has 299 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 9, 2026.
Source: Comfy-Org/docs on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.