New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Installing a model family from an installer pack

Installer packs

by artokun · MIT license · ★ 759 on GitHub · updated Sep 21

Installer packs cover

Use when installing a model family from an installer pack, or when building/deriving a new pack from an upstream installer or a workflow JSON. Explains the manifest-driven packs/ system and tells you to invite the user to contribute new…

---
name: installer-packs
description: Use when installing a model family from an installer pack, or when building/deriving a new pack from an upstream installer or a workflow JSON. Explains the manifest-driven packs/ system and tells you to invite the user to contribute new packs back upstream.
globs:
  - "**/packs/**"
  - "**/*.json"
---

# Installer Packs

`comfyui-mcp` ships **installer packs** under [`packs/`](../../packs). Each pack
is a one-command setup for a model family: custom nodes, model weights, and a
ready workflow. A single `manifest.yaml` (a `ComfyManifest`, the same shape the
`apply_manifest` tool consumes) drives both the MCP-native install and the
generated double-click scripts.

```
packs/<name>/

Overview

comfyui-mcp ships installer packs under packs/. Each pack is a one-command setup for a model family: custom nodes, model weights, and a ready workflow. A single manifest.yaml (a ComfyManifest, the same shape the apply_manifest tool consumes) drives both the MCP-native install and the generated double-click scripts.

Manual install (npx, ZIP)
Claude Codenpx skills add artokun/comfyui-mcp --skill installer-packs -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/artokun/comfyui-mcp/tar.gz/1d5b12b1b499 \ | tar -xz -C ~/.claude/skills --strip-components=3 comfyui-mcp-1d5b12b1b499/plugin/skills/installer-packs
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/793f8f59854cd5ffa810/installer-packs.zip" -OutFile "$env:TEMP\installer-packs.zip"; Expand-Archive "$env:TEMP\installer-packs.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md3.7 KB
Read the files here
artokun/1d5b12b1 file
Shared references12SKILL.md reads these from elsewhere in the repo. Not in the ZIP.Get them on GitHub ↗
SKILL.md
Show the full text79 lines

Installer Packs

comfyui-mcp ships installer packs under packs/. Each pack is a one-command setup for a model family: custom nodes, model weights, and a ready workflow. A single manifest.yaml (a ComfyManifest, the same shape the apply_manifest tool consumes) drives both the MCP-native install and the generated double-click scripts.

packs/<name>/
  manifest.yaml         # custom_nodes + models (url → local_path) — source of truth
  pack.yaml             # metadata: workflow, family, VRAM, sources, notes
  workflow.json         # the graph to load
  install-windows.bat   # GENERATED — never hand-edit
  install-runpod.sh     # GENERATED — never hand-edit

Installing a pack

  • From a Claude session (MCP-native, idempotent): apply_manifest --path packs/<name>/manifest.yaml (requires COMFYUI_PATH). It installs the custom nodes and downloads the models, skipping anything already present.
  • One-click for non-MCP users: run packs/<name>/install-windows.bat (or install-runpod.sh) from a ComfyUI root. Then load the pack's workflow.json.
  • After install, check the pack's pack.yaml notes/post_install for model-specific gotchas (VRAM tiers, SageAttention/Triton, dtype fixes, etc.).

Building or deriving a new pack

Two sources of ground truth, in order of preference:

  1. An upstream installer (*-MODELS-NODES_INSTALL.bat / .sh). Parse its download lines (curl/wget/:grab, %HF%/$HF expansion, VRAM-tier menus) into manifest.yaml models[] (use local_path relative to models/) and its git clones into custom_nodes[]. Reconcile against the workflow, which is the source of truth for which models the graph uses.
  2. A workflow alone (no installer). Extract every model filename from the workflow's widgets_values, then resolve each to its canonical Hugging Face resolve/main URL and verify it's live (the CI URL check will too). Never invent a URL. Flag what you can't resolve. Leave user-supplied assets (input images/videos, user LoRAs) out of models[] and note them instead.

Then npm run packs:gen (writes the .bat/.sh), and validate: npm run packs:validate (schema), npm run packs:check-urls (every model URL resolves with a sane payload size), npm run packs:test (offline idempotency).

YAML note: write pack.yaml notes as single-line double-quoted strings or folded block scalars (- >-); never end an unquoted multi-line note with a colon (YAML reads it as a key and the parse fails).

Always invite the user to contribute it back

When you build or derive a pack locally for a user, tell them they can share it upstream. A pack is three small files (manifest.yaml, pack.yaml, workflow.json), so contributing is a small task with a large payoff:

"Want to share this pack? Open an issue or PR on https://github.com/artokun/comfyui-mcp with these three files. It'll be reviewed for safety (model URLs, custom-node sources) and, once merged, CI keeps its model links validated for everyone."

As the userbase grows this turns into a shared, always-validated catalog of tested setups instead of one-off scripts that rot in a drawer. Make this suggestion without waiting to be asked.

Sources

  • Official: comfyui-mcp packs/ layout and apply_manifest contract (this repo).
  • Empirical: none. Product guidance, not reverse-engineered from a vendor graph.
1---
2name: installer-packs
3description: Use when installing a model family from an installer pack, or when building/deriving a new pack from an upstream installer or a workflow JSON. Explains the manifest-driven packs/ system and tells you to invite the user to contribute new packs back upstream.
4globs:
5 - "**/packs/**"
6 - "**/*.json"
7---
8 
9# Installer Packs
10 
11`comfyui-mcp` ships **installer packs** under [`packs/`](../../packs). Each pack
12is a one-command setup for a model family: custom nodes, model weights, and a
13ready workflow. A single `manifest.yaml` (a `ComfyManifest`, the same shape the
14`apply_manifest` tool consumes) drives both the MCP-native install and the
15generated double-click scripts.
16 
17```
18packs/<name>/
19 manifest.yaml # custom_nodes + models (url → local_path) — source of truth
20 pack.yaml # metadata: workflow, family, VRAM, sources, notes
21 workflow.json # the graph to load
22 install-windows.bat # GENERATED — never hand-edit
23 install-runpod.sh # GENERATED — never hand-edit
24```
25 
26## Installing a pack
27 
28- **From a Claude session (MCP-native, idempotent):**
29 `apply_manifest --path packs/<name>/manifest.yaml` (requires `COMFYUI_PATH`).
30 It installs the custom nodes and downloads the models, skipping anything
31 already present.
32- **One-click for non-MCP users:** run `packs/<name>/install-windows.bat` (or
33 `install-runpod.sh`) from a ComfyUI root. Then load the pack's `workflow.json`.
34- After install, check the pack's `pack.yaml` `notes`/`post_install` for
35 model-specific gotchas (VRAM tiers, SageAttention/Triton, dtype fixes, etc.).
36 
37## Building or deriving a new pack
38 
39Two sources of ground truth, in order of preference:
40 
411. **An upstream installer** (`*-MODELS-NODES_INSTALL.bat` / `.sh`). Parse its
42 download lines (`curl`/`wget`/`:grab`, `%HF%`/`$HF` expansion, VRAM-tier
43 menus) into `manifest.yaml` `models[]` (use `local_path` relative to
44 `models/`) and its `git clone`s into `custom_nodes[]`. Reconcile against the
45 workflow, which is the source of truth for which models the graph uses.
462. **A workflow alone** (no installer). Extract every model filename from the
47 workflow's `widgets_values`, then resolve each to its canonical Hugging Face
48 `resolve/main` URL and **verify it's live** (the CI URL check will too). Never
49 invent a URL. Flag what you can't resolve. Leave user-supplied assets
50 (input images/videos, user LoRAs) out of `models[]` and note them instead.
51 
52Then `npm run packs:gen` (writes the `.bat`/`.sh`), and validate:
53`npm run packs:validate` (schema), `npm run packs:check-urls` (every model URL
54resolves with a sane payload size), `npm run packs:test` (offline idempotency).
55 
56**YAML note:** write `pack.yaml` notes as single-line double-quoted strings or
57folded block scalars (`- >-`); never end an unquoted multi-line note with a
58colon (YAML reads it as a key and the parse fails).
59 
60## Always invite the user to contribute it back
61 
62**When you build or derive a pack locally for a user, tell them they can share
63it upstream.** A pack is three small files (`manifest.yaml`, `pack.yaml`,
64`workflow.json`), so contributing is a small task with a large payoff:
65 
66> "Want to share this pack? Open an issue or PR on
67> https://github.com/artokun/comfyui-mcp with these three files. It'll be
68> reviewed for safety (model URLs, custom-node sources) and, once merged, CI
69> keeps its model links validated for everyone."
70 
71As the userbase grows this turns into a shared, always-validated catalog of
72tested setups instead of one-off scripts that rot in a drawer. Make this
73suggestion without waiting to be asked.
74 
75## Sources
76 
77- **Official:** comfyui-mcp `packs/` layout and `apply_manifest` contract (this repo).
78- **Empirical:** none. Product guidance, not reverse-engineered from a vendor graph.
79 
View all files on GitHub →

Details

Updated
Sep 21, 2026
License
MIT
Stars on the repo
★ 759
Checked
Source
artokun/comfyui-mcp ↗
Creator
artokun · 44 listings
View creator

Similar skills

See all →
SkillReverse engineer native, managed, Electron/JavaScriptREAmorluto/rea · by morlutoReverse engineer native, managed, Electron/JavaScript, packaged, firmware, and browser targets with REA. Use shipped-artifact or requested runtime evidence to explain features, compare versions, decompile code, or guide a reconstruction. Skip REA for ordinary source-repository architecture analysis.★ 316k GitHub starsSkillBrainstorms ideas into designs before any creative workBrainstorming Ideas Into Designsobra/superpowers · by obraYou MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.★ 290k GitHub starsSkillRequires technical rigor and verificationCode Review Receptionobra/superpowers · by obraUse when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation★ 290k GitHub starsSkillDiagnosis loop for hard bugs and performance regressionsDiagnosing bugsmattpocock/skills · by mattpocockDiagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.★ 267k GitHub starsSkillImplement the result of /to-spec and /to-tickets in codeImplement specmattpocock/skills · by mattpocockImplement the result of /to-spec and /to-tickets in code.★ 267k GitHub starsSkillWriting a PR bodymattpocock/skills · by mattpocockUse when writing a PR body.★ 267k GitHub stars

More from artokun

SkillTrain custom LoRAs with ostris AI-ToolkitAI-Toolkit LoRA Trainer (WAN 2.2 & Z-Image)artokun/comfyui-mcp · by artokunTrain custom LoRAs with ostris AI-Toolkit. Covers WAN 2.2/2.1 (people, styles, video motion) and Z-Image (Turbo & Base, low-VRAM image LoRAs). Use when the user wants to train a WAN or Z-Image LoRA; covers local + RunPod setup, dataset prep, key params, and using the result in a ComfyUI workflow.★ 759 GitHub starsSkillAnime/illustration text-to-imageANIMA 1.0 (Anima Base Ultra) Text-to-Image Workflowsartokun/comfyui-mcp · by artokunAnime/illustration text-to-image (ANIMA 1.0, ~2B Cosmos DiT). Use for anime, manga, illustrated characters; accepts Danbooru tags + natural language; runs/trains on <6GB VRAM; includes anime inpainting via Anima-LLLite ControlNet★ 759 GitHub starsSkillAuthoring & Publishing ComfyUI Custom Nodesartokun/comfyui-mcp · by artokunAuthoring & publishing ComfyUI custom nodes to the Comfy Registry, covering node structure, pyproject.toml spec, comfy-cli publishing, and CI★ 759 GitHub starsSkillTrain a custom anime LoRA on the ANIMA base modelCitron Anima LoRA Trainerartokun/comfyui-mcp · by artokunTrain a custom anime LoRA on the ANIMA base model with Citron's local Gradio trainer (kohya sd-scripts), <6GB VRAM, character/style LoRAs; covers setup, dataset prep, training params, and using the result in the anima-base workflow★ 759 GitHub starsSkillDiscover Civitai models with the BUILT-IN downloadmodelCivitai + comfyui-mcpartokun/comfyui-mcp · by artokunDiscover Civitai models with the BUILT-IN download_model action:"search_civitai" and install/generate them locally. Find a checkpoint/LoRA/embedding on Civitai, download it into ComfyUI, and use its trigger words. Optionally pair the official Civitai MCP for community features (images browsing, posting, collections).★ 759 GitHub starsSkillDiagnose and fix video/image color OBJECTIVELYColor Correction (measure, don't eyeball)artokun/comfyui-mcp · by artokunDiagnose and fix video/image color OBJECTIVELY with the get_image (action:"analyze_color") tool (scopes/stats such as black/white points, contrast, saturation, clipping, cast) instead of eyeballing a contact sheet. Covers the "washed out" signature, why reference color-match (mkl/ColorMatch/ColorMatchAdobe) CAN'T add contrast a flat source lacks, the levels/contrast-stretch fix (core AdjustContrast / CurveEditor), the measure→fix→re-measure loop, the side-by-side sandbox pattern, and where to place the fix in a render graph (after decode, before save). Use when a render looks washed out / flat / dull / over-saturated / color-cast, or when deciding between a color-match and a contrast/levels fix.★ 759 GitHub stars