mcpbeat Sign in

Train Character Lora Agent Skill

Train a character/identity LoRA locally on FLUX.1-dev via the comfyui-mcp train_* tools (GPU Docker + ostris ai-toolkit). Use when the user wants to train a LoRA of a person/character from their photos on the local GPU — covers dataset prep, launch, monitoring, and using the result in ComfyUI. For WAN/Z-Image training via the ai-toolkit UI see ai-toolkit-trainer.

1k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
481
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/artokun/comfyui-mcp --skill train-character-lora

The instruction itself

7 sections, as written by the author

Train a Character LoRA (local, Flux.1-dev)

Overview

The trainer runs ostris ai-toolkit's run.py inside a headless GPU Docker container,

driven entirely through train_* MCP tools — you (the LLM) are the UI. You generate the

dataset, launch the job, watch progress, and the finished LoRA lands in ComfyUI

models/loras/ + the LoRA catalog automatically.

  • Base model: FLUX.1-dev (best proven character consistency; needs ~24GB VRAM with

quantization — RTX 4090 class).

  • Phase-1 scope: character LoRAs only. Style/slider/edit and other bases come later.

The flow (tool sequence)

  • train_doctor — preflight once per session. Checks docker daemon, --gpus all

GPU passthrough, trainer image, HF_TOKEN. If image:false → run train_build_image

(one-time, several minutes — CUDA + torch + ai-toolkit). If hfTokenSet:false, warn the

user: the first run downloads FLUX.1-dev (gated HF repo) and needs HF_TOKEN in the MCP

server env.

  • train_prepare_dataset — stage the images. See "Dataset" below.
  • train_start — launch. Returns a job id immediately; training runs detached.
  • train_status {id} — poll progress (progress.step/totalSteps/loss, recent

samples, log tail). Poll on a slow cadence (every few minutes) — a 2000-step run is

roughly an hour on a 4090. Don't block on it.

  • Donestatus:"completed" means the .safetensors was copied to

models/loras/<name>.safetensors and upserted into the LoRA catalog (result has the

paths + catalog id). Verify by loading it in a Flux workflow (LoraLoaderModelOnly,

strength 1.0) with the trigger word in the prompt.

Dataset guidance

Call train_prepare_dataset with items: [{path, caption?}, ...] and a defaultCaption.

  • 10–30 varied images of the subject: different angles, expressions, lighting,

backgrounds, distances (close-up + half-body + full-body). Variety beats count.

  • Trigger word: pick something rare and stable (e.g. ohwx, zxc_person) — NOT a

real word. Use it as defaultCaption and pass it as trigger to train_start.

  • Captions: describe what *changes* between images (pose, setting, clothing,

expression); the constant identity is learned from the images themselves. Start each

caption with the trigger word, e.g. `ohwx person sitting in a cafe, laughing, natural

light`. Keep them short and factual. When in doubt, the trigger word alone

(defaultCaption) is a workable baseline.

  • Images are copied and renamed img_00001.<ext> etc. — source files are never modified.

Params (sane defaults — override sparingly)

| Param | Default | When to change |

|-------|---------|----------------|

| steps | 2000 | 200 for a smoke test; 1500–3000 real runs. More ≠ better (overbake = plasticky). |

| lr | 1e-4 | 5e-5 for a tighter/subtler identity. |

| rank | 16 | 32 for very detailed characters. |

| resolution | [512,768,1024] | [512] if VRAM-constrained. |

| quantize | true | Keep true on 24GB. |

| saveEvery / sampleEvery | 250 | Lower (100) to watch early progress. |

Monitoring & judgement

  • train_status.progress.samples are host paths — look at them. (ai-toolkit prints no

saved-sample lines, so they populate at finalize from the output dir; mid-run you can look

directly in the job's output/<name>/samples/ folder.) Identity should be

recognizable by ~1/3 of the run; if samples stay generic past halfway, the run will

likely underfit — cancel (train_cancel) and check captions/trigger.

  • Loss should trend down and stabilize (~0.1–0.3); wild spikes usually mean lr too high.
  • Checkpoints save every saveEvery steps under the job's output/ dir, so a cancelled

run isn't a total loss.

Failure modes

  • no_docker / no_image from train_start → run train_doctor, follow its hints.
  • OOM / CUDA errors in the log tail → drop resolution to [512], keep quantize:true,

batch stays 1.

  • handoff failed in job error → training itself finished; the LoRA is still under the

job's output/<name>/ dir — copy it into models/loras/ manually and upsert the catalog.

  • First run is slow before step 1 — FLUX.1-dev download (~24GB) + latent caching. As

long as the log tail moves, it's fine. The HF cache persists across runs.

Other skills for the same job

different authors, same section of the catalogue
LLM App Patterns
by ComeOnOliver
×2

Production-ready patterns for building LLM applications. Covers RAG pipelines, agent architectures, prompt IDEs, and LLMOps monitoring. Use when designing AI applications, implementing RAG, building agents, or setting up LLM observability.

8k tokens
Ml Engineer
by ComeOnOliver
×2

Build production ML systems with PyTorch 2.x, TensorFlow, and modern ML frameworks. Implements model serving, feature engineering, A/B testing, and monitoring. Use PROACTIVELY for ML model deployment, inference optimization, or production ML infrastructure.

5k tokens
Senior Ml Engineer
by ComeOnOliver
×2

World-class ML engineering skill for productionizing ML models, MLOps, and building scalable ML systems. Expertise in PyTorch, TensorFlow, model deployment, feature stores, model monitoring, and ML infrastructure. Includes LLM integration, fine-tuning, RAG systems, and agentic AI. Use when deploying ML models, building ML platforms, implementing MLOps, or integrating LLMs into production systems.

12k tokens scripts
Langfuse
by ComeOnOliver
×2

Expert in Langfuse - the open-source LLM observability platform. Covers tracing, prompt management, evaluation, datasets, and integration with LangChain, LlamaIndex, and OpenAI. Essential for debugging, monitoring, and improving LLM applications in production. Use when: langfuse, llm observability, llm tracing, prompt management, llm evaluation.

4k tokens
Stable Baselines3
by ComeOnOliver
×2

Use this skill for reinforcement learning tasks including training RL agents (PPO, SAC, DQN, TD3, DDPG, A2C, etc.), creating custom Gym environments, implementing callbacks for monitoring and control, using vectorized environments for parallel training, and integrating with deep RL workflows. This skill should be used when users request RL algorithm implementation, agent training, environment design, or RL experimentation.

35k tokens scripts
Pinecone
by Orchestra-Research
×1

Managed vector database for production AI applications. Fully managed, auto-scaling, with hybrid search (dense + sparse), metadata filtering, and namespaces. Low latency (<100ms p95). Use for production RAG, recommendation systems, or semantic search at scale. Best for serverless, managed infrastructure.

3k tokens
Microsoft Foundry
by microsoft
vendor ×1

Deploy, evaluate, fine-tune, and manage Foundry agents end-to-end with azd: hosted agent scaffold/run/deploy, prompt agent create, batch eval, continuous eval, prompt optimizer, Agent Optimizer scaffold, agent.yaml, dataset curation from traces, model fine-tuning (SFT/DPO/RFT). USE FOR: azd ai agent, azd provision/deploy, deploy agent, hosted agent, create agent, add tool to agent, invoke agent, evaluate agent, continuous eval, continuous monitoring, agent CI/CD, optimize prompt, improve prompt, optimize agent instructions, agent optimizer, deploy model, Foundry project, RBAC, role assignment, permissions, quota, capacity, region, troubleshoot agent, deployment failure, AI Services, create Foundry resource, provision, knowledge index, customize deployment, onboard, availability, fine-tune, SFT, DPO, RFT, training-data, grader, distillation, fine-tuned model, large file upload. DO NOT USE FOR: Azure Functions, App Service, general Azure deploy (use azure-deploy), general Azure prep (use azure-prepare).

285k tokens scripts
Cost Aware LLM Pipeline
by loulanyue
×1

Cost optimization patterns for LLM API usage — model routing by task complexity, budget tracking, retry logic, and prompt caching.

1k tokens

How to use it

Copy the folder

Take artokun/train-character-lora from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.