Peft Fine Tuning
Orchestra-Research/AI-Research-SKILLs
Parameter-efficient fine-tuning for LLMs using LoRA, QLoRA, and 25+ methods.
Configure and author rgthree-comfy nodes — Fast Groups Bypasser/Muter (group toggles), Power Lora Loader, Context/Context Big, Seed, Any Switch.
$ npx skills add artokun/comfyui-mcp --skill rgthree -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install artokun/comfyui-mcp rgthree --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/artokun/comfyui-mcp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugin/skills/rgthree .claude/skills/rgthree && 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 "rgthree" agent skill from https://github.com/artokun/comfyui-mcp/tree/main/plugin/skills/rgthree into .claude/skills/rgthree/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rgthree", 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/artokun/comfyui-mcp/tree/main/plugin/skills/rgthreeType 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 artokun/comfyui-mcp --skill rgthree -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install artokun/comfyui-mcp rgthree --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/artokun/comfyui-mcp.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugin/skills/rgthree .agents/skills/rgthree && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "rgthree" agent skill from https://github.com/artokun/comfyui-mcp/tree/main/plugin/skills/rgthree into .agents/skills/rgthree/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rgthree", 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 artokun/comfyui-mcp --skill rgthree -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install artokun/comfyui-mcp rgthree --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/artokun/comfyui-mcp.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugin/skills/rgthree .cursor/skills/rgthree && 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 "rgthree" agent skill from https://github.com/artokun/comfyui-mcp/tree/main/plugin/skills/rgthree into .cursor/skills/rgthree/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rgthree", 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/artokun/comfyui-mcp.git --path plugin/skills/rgthree--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 artokun/comfyui-mcp --skill rgthree -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install artokun/comfyui-mcp rgthree --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/artokun/comfyui-mcp.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugin/skills/rgthree .gemini/skills/rgthree && 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 "rgthree" agent skill from https://github.com/artokun/comfyui-mcp/tree/main/plugin/skills/rgthree into .gemini/skills/rgthree/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rgthree", 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 artokun/comfyui-mcp rgthreeInstalls 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 artokun/comfyui-mcp --skill rgthree -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/artokun/comfyui-mcp.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugin/skills/rgthree .github/skills/rgthree && 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 "rgthree" agent skill from https://github.com/artokun/comfyui-mcp/tree/main/plugin/skills/rgthree into .github/skills/rgthree/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rgthree", 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 artokun/comfyui-mcp --skill rgthree -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install artokun/comfyui-mcp rgthree --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/artokun/comfyui-mcp.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugin/skills/rgthree .opencode/skills/rgthree && 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 "rgthree" agent skill from https://github.com/artokun/comfyui-mcp/tree/main/plugin/skills/rgthree into .opencode/skills/rgthree/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rgthree", 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.
rgthreeConfigure and author rgthree-comfy nodes — Fast Groups Bypasser/Muter (group toggles), Power Lora Loader, Context/Context Big, Seed, Any Switch.
Rgthree is an agent skill from artokun/comfyui-mcp. Configure and author rgthree-comfy nodes — Fast Groups Bypasser/Muter (group toggles), Power Lora Loader, Context/Context Big, Seed, Any Switch. Use when a workflow contains rgthree nodes, when asked to add stage/section toggles or an A/B switch, when stacking LoRAs, or when an rgthree node needs configuring. Covers the frontend-only nodes that are absent from /objectinfo and the properties-not-widgets configuration model.
Its SKILL.md is about 3.3k 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 AI & LLM Engineering, covering Fine-tuning. The repository describes itself as: Local-first, agent-native control plane for ComfyUI — MCP server + sidebar agent that generates images, video & audio, authors and runs workflows, and edits your live graph in… The licence is MIT.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 6ad6fc0. 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:
nodeFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
github.comFrom 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.
Rgthree loads about 3.3k tokens when it runs. Until then it costs about 109 tokens; SKILL.md has 1,683 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 artokun/comfyui-mcp at commit 6ad6fc0, republished under its MIT licence (© artokun). 1,683 words, ~3,274 tokens.
.claude/skills/rgthree/SKILL.md (or your agent's skills folder).rgthree-comfy is one of the most widely installed packs, so its nodes turn up in a
large share of community workflows. Three of its properties make it a recurring
agent-failure mode — all three fail quietly enough to look like success.
1. Some rgthree nodes are FRONTEND-ONLY. They are registered by the pack's JS
(registerCustomNodes()), have no Python class, and are therefore absent from
/object_info by design. Checking /object_info and concluding "this node doesn't
exist" is wrong. /object_info lists 24 rgthree backend types; the toggles are not
among them.
2. They are configured through PROPERTIES, not widgets. matchTitle,
toggleRestriction and sort live in node.properties (right-click → Properties),
not in widgets. Use panel_set_property. panel_set_widget does not silently
half-work — it refuses, with has no widget "matchTitle" (available: …) listing
the widgets that do exist. That refusal is the fastest confirmation you are on the
properties path; read it rather than retrying the write.
3. Fast Groups nodes take NO wiring and enumerate GROUPS by title. Leave the
OPT_CONNECTION output unconnected. The node renders one toggle per matching group,
so the groups must exist and be named before the node is useful.
panel_add_node will actually addThe panel authorizes every add against fresh /object_info and fails closed on a
type it cannot find. Genuinely frontend-only types are exempt only via an explicit
allowlist (FRONTEND_ONLY_NODE_TYPES), so the exemption covers seven rgthree
types and no others:
Frontend-only, panel_add_node WORKS | Frontend-only, panel_add_node REFUSES |
|---|---|
Fast Groups Bypasser (rgthree) | Bookmark (rgthree) |
Fast Groups Muter (rgthree) | Mute / Bypass Relay (rgthree) |
Fast Bypasser (rgthree) | Mute / Bypass Repeater (rgthree) |
Fast Muter (rgthree) | Fast Actions Button (rgthree) |
Node Collector (rgthree) | Random Unmuter (rgthree) |
Label (rgthree) | |
Reroute (rgthree) |
A refusal in the right-hand column is the guard working as designed, not a broken pack and not something to work around — the node has no backend def and is not on the allowlist. Say so and pick a different approach (the Bypasser/Muter cover almost every real toggle need). Everything with a Python class — Power Lora Loader, Context*, Seed, Any Switch, Power Prompt, Image Comparer — is a normal backend node and adds normally.
Fast Groups Bypasser (rgthree) sets the nodes of a group to bypass (mode 4 —
the node is skipped and its input passes through). Fast Groups Muter (rgthree) sets
them to mute (mode 2 — the node does not execute and everything downstream
dies). Prefer the Bypasser for toggling an optional stage inside a chain; reach
for the Muter only when you genuinely want to stop a branch.
All of the following are node properties — set them with panel_set_property:
| Property | Values | Default | Notes |
|---|---|---|---|
matchTitle | regex, case-insensitive | "" | Set this. Empty means every group in the workflow becomes a toggle. It is a real regex matched unanchored against the group title, so anchor it (^STAGE) or it matches mid-title. |
matchColors | comma-separated colors | "" | Alternative filter; pairs with a color convention. |
toggleRestriction | default / max one / always one | default | Both non-default values enforce mutual exclusion (they are matched on the substring " one"). Do NOT set either if the user may ever want all stages on in one queue. |
sort | position / alphanumeric / custom alphabet | position | The default means moving a group on the canvas silently reorders the toggles. alphanumeric is stable — prefer it. |
customSortAlphabet | string | "" | Only read when sort is custom alphabet. |
showNav | bool | true | Per-row jump-to-group arrow. |
showAllGraphs | bool | true | Include groups that live inside subgraphs. |
panel_set_property stores matchTitle (and matchColors / sort / …) and
the reply from/to is truthful. Fast Groups nodes do not implement
onPropertyChanged. The toggle list is rebuilt by rgthree's
refreshWidgets() on a service tick (~8 ms after add, then every ~500 ms),
and leftover-row removal increments the index while splicing — a 22-group
list can stall at 13 with non-matching Enable … rows still present. A
never-drawn node can also come back as widgets:{} — that means the list
has not been built yet, not that there are no matching groups.
panel_query_graph also keys widgets by name, and every toggle is named
RGTHREE_TOGGLE_AND_NAV, so a built list collapses to one key.
Do this:
matchTitle immediately after panel_add_node (before the first
unfiltered refresh paints every group).panel_query_graph {ids:[<id>], fields:'detail'}.widgets is empty or the canvas still shows Enable rows that do
not match the regex, set matchTitle again. Do not delete and
re-add the node — that is slower and still needs a second set.panel_create_group per stage, with a prefixed title (STAGE 1 — …) so one
anchored regex selects exactly the intended set.
Verify group membership before you trust it. Group membership is purely
geometric: LiteGraph counts a node as a member when its centre falls inside
the box, and the auto-fit box around your node_ids will happily swallow unrelated
neighbours. When the live members differ from what you asked for, the result
carries extra_node_ids, missing_node_ids and a warning alongside
requested_node_ids — read them. (They appear only when you passed node_ids
and something differs, so their absence is a real all-clear.)
A stray node here is not cosmetic: toggling one stage will disable part of another.
To fix it, move the nodes apart (panel_edit_node, or panel_auto_layout) so
the regions are contiguous, or set an explicit bounds with panel_edit_group —
then re-check. panel_move_group does not help: by default it drags the
contained nodes along with the box, so the same nodes stay inside it.
panel_add_node(class_type="Fast Groups Bypasser (rgthree)"). Leave its output
unwired. Add nodes one at a time, not as a parallel batch.
panel_set_property → matchTitle = ^STAGE, and sort = alphanumeric.
Set them immediately after the add, then re-read the node. If widgets is
empty or leftover Enable rows remain, set matchTitle again — do not
delete and re-add.
Toggle, then verify with panel_graph_outline — it tags nodes [bypass] / [mute].
A backend node (present in /object_info) that stacks N LoRAs in one node. Each row
is a widget named lora_1, lora_2, … whose value is a composite object
{on: bool, lora: "subdir\\name.safetensors", strength: float, strengthTwo: float|null}
(strengthTwo is the separate CLIP strength, null in the simple view). Rows are
identified by the presence of a lora key, and the node's control widgets are
appended after them, so do not index positionally — address the row by name.
Rows CAN be created programmatically. A freshly added Power Lora Loader has
no lora_N widgets at all — the on-canvas "➕ Add Lora" button opens a chooser on a
mouse event that no panel tool can press, but panel_set_widget does not need it:
writing lora_1 (then lora_2, …) with a JSON object STRING creates the row and
the reply carries created_widget: "lora_1". Create rows in order, one call each:
panel_set_widget(node_id=<id>, widget="lora_1",
value='{"on":true,"lora":"subdir/turbo.safetensors","strength":1,"strengthTwo":null}')
# A Windows subdir separator is a JSON escape — write it DOUBLED in the string:
# "lora":"Anima\\Tools\\turbo.safetensors"Re-read with panel_query_graph {ids:[<id>], fields:'detail'} to confirm the row
landed. If you need a stack from scratch, create lora_1, then lora_2, and so on;
do not assume a skipped number is the next row.
On an existing row, write ONE field with dotted sub-field addressing — it merges onto the current object and preserves every other field:
panel_set_widget(node_id=<id>, widget="lora_1.strength", value=0.8)
panel_set_widget(node_id=<id>, widget="lora_2.on", value=false)
panel_set_widget(node_id=<id>, widget="lora_1.lora", value="style/foo.safetensors")Writing a bare scalar to lora_1 itself is the trap: it would set one field and
null the rest, so it is refused. To change several fields at once, pass a JSON
object STRING (the value argument accepts only string/number/boolean, so a literal
object fails tool validation before any write) — it is parsed and merged:
panel_set_widget(node_id=<id>, widget="lora_1", value='{"on":false,"strength":0.6}')Fields are schema-checked: on non-nullable boolean, strength non-nullable number,
lora nullable string, strengthTwo nullable number. An unknown field name (a typo like
lora_1.strenght) is refused, not silently created, and nested paths are unsupported.
Clearing a nullable field takes the JSON-string form, not a dotted write. The panel
accepts null for lora / strengthTwo, but value is typed string | number | boolean, so a bare value=null is rejected by tool-arg validation before any write
happens — the same schema limit as the whole-row case above. Clear it through the string:
panel_set_widget(node_id=<id>, widget="lora_1", value='{"lora":null}')Turning a LoRA off (lora_N.on = false) is usually safer than clearing it anyway.
RGTHREE_CONTEXT wire. These are NOT virtual
wiring. Unlike Get/Set buses they are real executable backend nodes, so
panel_strip_workflow and panel_flatten_workflow deliberately keep them — they
run. Do not expect either tool to dissolve a Context chain. There is no hidden edge to
resolve: every link is a real link, traceable with panel_query_graph. What a Context
hides is which field a downstream node pulls out of the bundle, so read the chain
node by node. (panel_slice_workflow still carves one pipeline out of a toggled
monolith, and panel_strip_workflow still resolves any genuine Get/Set buses and
Reroutes around it.)control_after_generate widget on
creation, so do not try to write it; the widget is not there. Control is by SPECIAL
SEED VALUES written to the seed widget instead: -1 randomize, -2 increment,
-3 decrement. Any concrete seed is returned unchanged — 42 stays 42 every
run — so to pin a run, write the number; to re-randomize, write -1. The frontend
resolves a special value into a real seed before queueing and shows the result in a
read-only last_seed widget, so a seed re-read after a run may not be the special
value the user set (a fixed seed, however, is stable).panel_graph_outline before a run — a stale toggle is a top cause of a wrong
render, and the outline marks [bypass] / [mute] explicitly.Bookmark nodes respond to keypresses and are inert to agents.#1808 matchTitle rebuild: Fast Groups have no onPropertyChanged; refreshWidgets() leftover removal is removeWidget(index++) in fast_groups_muter.ts; first unfiltered tick is scheduled from addFastGroupNode in fast_groups_service.ts.© artokun, 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 plugin/skills/rgthree of artokun/comfyui-mcp.
Open the folder on GitHubat commit 6ad6fc0
Rgthree 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 |
|---|---|---|---|---|---|---|
| Rgthree this skillartokun/comfyui-mcp | 795 | — | ~3.3k | Automated safety check: Pass | MIT | |
| Peft Fine TuningOrchestra-Research/AI-Research-SKILLs | 13k | 9 repos | ~3.1k | Automated safety check: Pass | MIT | |
| Hugging Face LLM Trainerhuggingface/skills | 11k | 3 repos | ~7.2k | Automated safety check: Pass | Apache-2.0 | |
| Sentence-Transformers Training Routerhuggingface/skills | 11k | 1 repos | ~2.6k | Automated safety check: Pass | Apache-2.0 | |
| Dataset Evaluationawslabs/agent-plugins | 915 | 2 repos | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| Train RlOpenPipe/ART | 11k | — | ~2.4k | Automated safety check: Pass | Apache-2.0 |
Orchestra-Research/AI-Research-SKILLs
Parameter-efficient fine-tuning for LLMs using LoRA, QLoRA, and 25+ methods.
huggingface/skills
Trains or fine-tunes language and vision models with TRL or Unsloth on Hugging Face Jobs cloud GPUs, then converts the results to GGUF.
huggingface/skills
Routes a sentence-transformers training task to the right model type and required reference docs and example scripts, covering bi-encoders, rerankers, sparse and multi-vector models.
awslabs/agent-plugins
Validates dataset formatting and quality for SageMaker model fine-tuning (SFT, DPO, or RLVR).
OpenPipe/ART
RL training reference for the ART framework. An agent skill from OpenPipe/ART.
R6410418/Jackrong-llm-finetuning-guide
Prepare, validate, launch-plan, monitor, resume, and stop configurable Qwopus 27B reinforcement-learning workflows for GRPO or GSPO.
artokun/comfyui-mcp
Train custom LoRAs with ostris AI-Toolkit. An agent skill from artokun/comfyui-mcp.
artokun/comfyui-mcp
Anime/illustration text-to-image (ANIMA 1.0, ~2B Cosmos DiT).
artokun/comfyui-mcp
Discover Civitai models with the BUILT-IN downloadmodel action:"searchcivitai" and install/generate them locally.
artokun/comfyui-mcp
Diagnose and fix video/image color OBJECTIVELY with the getimage (action:"analyzecolor") tool (scopes/stats such as black/white points, contrast, saturation, clipping, cast) instead of eyeballing a…
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.
artokun/comfyui-mcp
Pick the right ComfyUI startup flags for VRAM, attention, caching, and speed.
Categories
Configure and author rgthree-comfy nodes — Fast Groups Bypasser/Muter (group toggles), Power Lora Loader, Context/Context Big, Seed, Any Switch. Rgthree is an agent skill from artokun/comfyui-mcp. Configure and author rgthree-comfy nodes — Fast Groups Bypasser/Muter (group toggles), Power Lora Loader, Context/Context Big, Seed, Any Switch.
Rgthree fits situations like: A workflow contains rgthree nodes; asked to add stage/section toggles; an rgthree node needs configuring.
Run `npx skills add artokun/comfyui-mcp --skill rgthree -a claude-code`. Or copy the skill folder (plugin/skills/rgthree in artokun/comfyui-mcp) into .claude/skills/rgthree in your project. Claude Code loads it when a task matches its description.
Run `npx skills add artokun/comfyui-mcp --skill rgthree -a codex`. Or copy the skill folder (plugin/skills/rgthree in artokun/comfyui-mcp) into .agents/skills/rgthree 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 artokun/comfyui-mcp --skill rgthree -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/rgthree, .gemini/skills/rgthree, .github/skills/rgthree and .opencode/skills/rgthree in your project.
Going by SKILL.md and its folder, Rgthree needs the command-line tools its instructions call (node). Our summary lists: Python 3.
SKILL.md names 1 domain. As links in the text: github.com. 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.
Rgthree is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.3k tokens (SKILL.md is roughly 13k 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 Rgthree: Peft Fine Tuning (Orchestra-Research/AI-Research-SKILLs, 13k stars), Hugging Face LLM Trainer (huggingface/skills, 11k stars), Sentence-Transformers Training Router (huggingface/skills, 11k stars) and Dataset Evaluation (awslabs/agent-plugins, 915 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
artokun (a GitHub user) maintains it in artokun/comfyui-mcp, which has 795 GitHub stars. The repository holds 42 skills in this directory. The repository was last updated on October 5, 2026.
Source: artokun/comfyui-mcp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.