Skip to content
Back to skills

Installer Packs

ASecurity

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.

  • 778 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added August 31, 2026
ai-agentsgonodegit

Works with

  • cli
  • mcp

Security analysis

A100/100

Scanned August 31, 2026

npx -y skills add artokun/comfyui-mcp --skill installer-packs --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Installer Packs?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Installer Packs
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/artokun-installer-packs/badge)](https://www.skillsdirectory.com/skills/artokun-installer-packs)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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>/
  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 clone`s 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.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.