Agent skill

Scenario Model Training

by scenario-labs in scenario-labs/skills

A skill your agent uses when generated assets must keep a consistent style, character, or product look and references stop scaling, or when a user asks to train a custom model through the Scenario…

MITAuto-check passedAI & LLM Engineering

Install Scenario Model Training

skills CLI
$ npx skills add scenario-labs/skills --skill scenario-model-training -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install scenario-labs/skills scenario-model-training --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/scenario-model-training .claude/skills/scenario-model-training && rm -rf skills-src

Use ~/.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/

Facts

Skill name
scenario-model-training
GitHub stars
946
Token cost
~2.7k tokens
SKILL.md length
1,441 words
Files
3 (incl. references)
Skills in repo
146
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when generated assets must keep a consistent style, character, or product look and references stop scaling, or when a user asks to train a custom model through the Scenario…

  • Works in 8 steps: recommend_training with prompt:… → model_create with data: {"name":… → Curate the set first (dataset… → …
  • Generated assets must keep a consistent style
  • SKILL.md covers Overview, Quick reference, Worked example: a style LoRA… and Dataset limits that stop a run, plus 2 more sections
  • Calls npx

What it does

Scenario Model Training is an agent skill from scenario-labs/skills. Use when generated assets must keep a consistent style, character, or product look and references stop scaling, or when a user asks to train a custom model through the Scenario MCP, fine-tune a LoRA, clone a voice, curate a training dataset, choose a base model, set epochs and sample prompts, estimate training cost, diagnose a trained model that lost its identity or has one epoch, or generate with a trained model. Keywords: custom model, LoRA, dataset curation, epoch previews.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/base-model-selection.md` and `references/dataset-curation.md`).

It sits in AI & LLM Engineering, covering Fine-tuning. It works with Model Context Protocol. The repository describes itself as: Get production-ready images, video, audio, and 3D from any AI agent: skills that pick the right model, price before spending, and keep characters and brands consistent through… The licence is MIT.

When your agent uses it

  • Generated assets must keep a consistent style
  • Product look and references stop scaling
  • A user asks to train a custom model through the Scenario MCP
  • Fine-tune a LoRA

Example prompts

  • “/scenario-model-training”

Requirements

  • Node.js

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. recommend_training with prompt: "hand-painted prop icons for a mobile RPG", modality: "image", dataset_shape: "single_images", plus…
  2. model_create with data: {"name": "rpg-prop-icons", "type": ""}. Note the returned model id.
  3. Curate the set first (dataset reference), matching dataset_requirements from step 1, then upload each file with upload_asset plus…
  4. train with action: "upload_images", model_id, images: [], at most 10 per call (see Dataset limits); it changes data, so pass team_id and…
  5. train with action: "configure", config: {"epochs": 12, "sample_prompts": ["a rusty lantern icon, centered, plain field", "a blue mana…
  6. The launch response includes a job: jobs_wait with its id in job_ids. No job id means nothing launched: report it instead of retrying…
  7. Pick the epoch from the previews before generating: they sit on the model page in the web app, and the strongest is rarely the last. The…
  8. Manage: models_list with filters: {"privacy": "private", "status": "trained"} lists ready models. model_get with include_description: true…

What it can do on your machine

Read from SKILL.md and the folder at commit f6f8ab7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Scenario Model Training loads about 2.7k tokens when it runs, and up to ~6k if it reads all its reference files. Until then it costs about 126 tokens; SKILL.md has 1,441 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~126
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from scenario-labs/skills at commit f6f8ab7, republished under its MIT licence (© scenario-labs). 1,441 words, ~2,730 tokens.

Download SKILL.mdSave it as .claude/skills/scenario-model-training/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
scenario-model-training
description
Use when generated assets must keep a consistent style, character, or product look and references stop scaling, or when a user asks to train a custom model through the Scenario MCP, fine-tune a LoRA, clone a voice, curate a training dataset, choose a base model, set epochs and sample prompts, estimate training cost, diagnose a trained model that lost its identity or has one epoch, or generate with a trained model. Keywords: custom model, LoRA, dataset curation, epoch previews.
license
MIT

Scenario Model Training

Overview

Train a custom model when one look must hold across many assets: an icon set, a recurring character, a product line. Prompts, references, and control maps are cheaper first steps: see scenario-consistency. Before quoting a training run, run the reference test scenario-consistency teaches for the subject at hand: the approved art as style references (with the prompt saying they set the style only) for a look, the hero as a subject reference for a character or product. At authoring time a style test matched the look of a custom LoRA on the same brief at a comparable per-image price, for the cost of one generation. Train when that test drifts across the set, not before; the worked example below starts after it.

The judgment calls live in two references: references/base-model-selection.md (the user interview that feeds recommend_training) and references/dataset-curation.md (dataset size, image rules, captions, and review per training type).

Connection and the core generation loop: see the scenario skill. If a sibling skill named here is missing from your available skills, ask the user to install it (npx skills add scenario-labs/skills --skill <name>); unattended, proceed from tool schemas and flag the gap.

Training tools are not in the default toolset: get schemas with scenario_tools_search, run reads (recommend_training, model_get) via scenario_tool_execute_read and writes (model_create, train, model_update) via scenario_tool_execute_write, or reconnect with ?toolsets=full.

Quick reference

StepTool
Pick a base architecturerecommend_training (LLM-powered, cost-bearing)
Create the model shellmodel_create (data.type from the recommendation)
Upload the datasetupload_asset + upload_asset_complete
Attach training imagestrain action upload_images, 10 asset ids per call
Estimate costtrain action configure with dry_run: true (a quote, no job)
Preview every epochconfig.sample_prompts, at least one on any multi-epoch run
Launchtrain action start, with the same config or bare for defaults
Waitjobs_wait with the returned job id
Generatemodel_schema_get on YOUR model id, then model_run
Managemodels_list, model_get, model_update

Worked example: a style LoRA for game props

  1. recommend_training with prompt: "hand-painted prop icons for a mobile RPG", modality: "image", dataset_shape: "single_images", plus subject, style, and priority from the interview. Returns a recommended variant, alternatives, and dataset_requirements (shape and size bounds). Cost-bearing: call it once with clear intent.
  2. model_create with data: {"name": "rpg-prop-icons", "type": "<type from step 1>"}. Note the returned model id.
  3. Curate the set first (dataset reference), matching dataset_requirements from step 1, then upload each file with upload_asset plus upload_asset_complete (see the scenario skill) and collect the asset ids. For image_pairs datasets, map pairs with train action set_pairs.
  4. train with action: "upload_images", model_id, images: [<asset ids>], at most 10 per call (see Dataset limits); it changes data, so pass team_id and project_id (scope: the scenario skill).
  5. train with action: "configure", config: {"epochs": 12, "sample_prompts": ["a rusty lantern icon, centered, plain field", "a blue mana potion icon, three-quarter view, plain field"]}, dry_run: true returns the quote and starts nothing. epochs is the main cost lever (scales linearly); size the other levers by dataset size (dataset reference). sample_prompts is not optional on a multi-epoch run: the trainer publishes a per-epoch checkpoint only for a run that has them, so a run without them finishes with its final weights alone, one epoch to choose from whatever epochs said, and a model that ends up overfit has nothing earlier to fall back to (a 12-epoch run that came back with a single selectable epoch was this). Caps are per family, 8 on the Flux LoRA family and 4 on Flux.2, Qwen and ZImage LoRAs at authoring time, so read them off the train schema. Write prompts that test the concept off-dataset, following the caption rules of the training type (a style set names new subjects and never the style; a character set leads with the trigger word and a new pose or setting): they are the previews you pick the epoch from, and generic prompts return generic scenes at every epoch, which is how one run spent its whole quote on twenty previews of four unrelated landscapes. Edit families take sample_source_images, one asset id per prompt in the same order; every other family rejects the field. Show the user the quote and get a go-ahead, then launch with action: "start" and the same config (unattended, launch only when the task already authorized training or a budget covering it; otherwise stop and report the quote). configure always quotes and never launches; dry_run: false there is rejected. Only start launches training; start with dry_run: true quotes instead. Treat start as spending the whole quote: do not count on stop returning any of it.
  6. The launch response includes a job: jobs_wait with its id in job_ids. No job id means nothing launched: report it instead of retrying. Training outlasts the server wait budget, so re-call with the returned pending_job_ids until completed; never poll job_get.
  7. Pick the epoch from the previews before generating: they sit on the model page in the web app, and the strongest is rarely the last. The pick is the user's; unattended, generate with the model as trained, say that the epoch choice was left open, and continue. Then model_schema_get on your new model id and model_run; custom models carry their own parameter contract. A LoRA runs on the base that the schema's runs_as and run_with.required_arguments name (see scenario) and on no other variant of its family, with one documented exception, the Z-Image LoRAs that carry across the Z-Image variants (base reference). A size mismatch or weight dimension error at generation means another variant was sent as the base, not that the training failed: do not retrain, re-read run_with and run the pair it names.
  8. Manage: models_list with filters: {"privacy": "private", "status": "trained"} lists ready models. model_get with include_description: true fetches the full docs; model_update edits name, descriptions, privacy.
Show full SKILL.md (482 more words)Show less

Dataset limits that stop a run

Nearly every train failure is dataset handling, not hyper-parameters.

  • Ten ids per call. upload_images takes at most 10 asset ids; more returns 400 Too many assetIds provided in a single request. Call once per 10-id chunk: the model accumulates the whole set.
  • Chunks must not overlap. Re-sending an id already attached returns 400 The provided assetId is already a training image of this model. After a partial failure, re-send only the chunks that did not land.
  • Two separate plan ceilings. Dataset size is capped per team: past it, upload_images returns 429 naming add-training-image with the ceiling in actionLimit. Chunking cannot bypass it: trim to the strongest images or surface the upgrade. Concurrent trainings are capped separately as parallel-training, and some plans set it to zero.
  • Images before configuration. configure or start on an empty dataset fails validation on the training-image count. Pair datasets need whole pairs, with a family minimum above one.
  • One launch at a time. Once a run is live, launching again returns 400 Model is already training: wait with jobs_wait or train action: "stop". Repeated launches also hit a cooldown whose 429 names remainingSeconds.

Common mistakes

  • Training for a one-off. One on-style image is a prompt plus reference job; the public catalog holds many trained LoRAs, search first.
  • Reading the same wrong face on every output as ordinary drift. A model that reproduces one consistent stranger learned the captions, not the pictures: the images carried too little identity signal, usually because they were all derived from one source image and only look varied, so the dataset reads as near-duplicates of one composition. Fix the dataset (genuinely different shots, captions naming only the variables, a trigger word), not the epochs (dataset reference).
  • Using recommend_training to pick a generation model: it only picks training bases; use recommend or search.
  • Passing local paths or URLs to train: upload with upload_asset first and pass asset ids; anything else surfaces as a body-shape error naming assetId.
  • Reading 400 Custom models only are supported for this endpoint as a parameter problem: the route accepts your own trained models only; re-read the id from models_list.
  • Launching several epochs with no sample_prompts: the run completes, but with one epoch and no previews, so the quote bought no comparison.
  • Treating a quote as a launch. configure returns training_started: false and no job; launch through start only after approval and require a job id before waiting.
  • Filtering models_list with status: "ready": free-form values are silently ignored, returning everything including deleted models. Use "trained".
  • model_update data.tags replaces the whole tag set; use model_add_tags / model_remove_tags for diffs.
  • Expecting an older base from recommend_training: the default excludes legacy families; set legacy_ok: true only when a project must stay on one.

Voice cloning

Voice cloning starts from the same recommend_training call with modality: "voice" and dataset_shape: "short_audio" or "long_audio"; the returned type feeds model_create the same way.

© scenario-labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in skills/scenario-model-training of scenario-labs/skills.

  • SKILL.md
  • references/base-model-selection.md
  • references/dataset-curation.md

Open the folder on GitHubat commit f6f8ab7

Compare with similar skills

Scenario Model Training 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.

Scenario Model Training compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Scenario Model Training this skillscenario-labs/skills946—~2.7kAutomated safety check: PassMIT
Hugging Face LLM Trainerhuggingface/skills11k1 repos~7.2kAutomated safety check: PassApache-2.0
LLM Configruvnet/ruflo74k—~436Automated safety check: NotesMIT
AI Learning JournalLeoYeAI/openclaw-master-skills2.2k—~2.6kAutomated safety check: PassMIT
Microsoft Foundrymicrosoft/GitHub-Copilot-for-Azure2551 repos~6.7kAutomated safety check: PassMIT
Castguaardvark/guaardvark257—~673Automated safety check: PassMIT

Similar skills

  • Hugging Face LLM Trainer

    huggingface/skills

    Official

    Trains or fine-tunes language and vision models with TRL or Unsloth on Hugging Face Jobs cloud GPUs, then converts the results to GGUF.

    11k GitHub starsUsed in 1 repo~7.2k tokens
    AI & LLM EngineeringAuto-check passed
  • LLM Config

    ruvnet/ruflo

    Configure RuVLLM local inference with model selection, MicroLoRA fine-tuning, and SONA adaptation

    74k GitHub stars~436 tokensUpdated today
    AI & LLM EngineeringAuto-check: notes
  • AI Learning Journal

    LeoYeAI/openclaw-master-skills

    AI 学习记录与成长追踪工具。用于记录 AI/LLM 学习笔记、使用心得、Prompt 技巧、工具体验等,并提供学习指导和规划。当用户提到以下任何话题时都应使用此 skill:AI 学习记录、学习笔记、AI 使用心得、Prompt 工程学习、模型对比体验、AI 工具使用记录、LLM 学习、RAG 学习、Agent 学习、MCP 学习、AI 微调实践、AI 学习规划、怎么学 AI、AI…

    2.2k GitHub stars~2.6k tokensUpdated 2 mo ago
    AI & LLM EngineeringAuto-check passed
  • Microsoft Foundry

    microsoft/GitHub-Copilot-for-Azure

    Official

    Build, deploy, evaluate, optimize, fine-tune, and manage Microsoft Foundry agents, models, and resources end to end.

    255 GitHub starsUsed in 1 repo~6.7k tokens
    AI & LLM EngineeringAuto-check passed
  • Cast

    guaardvark/guaardvark

    Build consistent characters, environments and props in Guaardvark's Cast Library and train LoRAs for them locally (reference photos → vision bible → sample plan → approved samples → training).

    257 GitHub stars~673 tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • Mesh API

    mr-tbot/mesh-api

    Interact with a Meshtastic LoRa mesh network through MESH-API — list nodes, read messages, send texts, and check connection status.

    180 GitHub stars~1.8k tokensUpdated 2 mo ago
    AI & LLM EngineeringAuto-check passed

More from scenario-labs/skills

All 146 skills in this repo
  • Scenario Blender Grease Pencil

    scenario-labs/skills

    A skill your agent uses when drawing or animating with Grease Pencil in Blender 5.x from Python: 2D or 2.5D illustration, frame-by-frame animation, a cutout or part-based 2D character, strokes with…

    946 GitHub stars~4.5k tokensUpdated today
    Auto-check passed
  • Scenario Blender Hair

    scenario-labs/skills

    A skill your agent uses when grooming hair or fur in Blender with hair curves, such as a character hairstyle, animal fur, procedural fur in geometry nodes, or hair cards and mesh hair for games.

    946 GitHub stars~4.7k tokensUpdated today
    Auto-check passed
  • A skill your agent uses when lighting, rendering or compositing in Blender: light a character, product or hero shot, interior at dusk or night, three-point or motivated lighting, sun and sky, HDRI…

    946 GitHub stars~5k tokensUpdated today
    Auto-check passed
  • Scenario Chatgpt Pet Create

    scenario-labs/skills

    A skill your agent uses when creating a ChatGPT pet or Codex pet with Scenario: hatching an animated companion from a text idea, a character, mascot or brand cue, or reference photos and art; making…

    946 GitHub stars~3.6k tokensUpdated today
    Auto-check passed
  • Scenario Godot Animation

    scenario-labs/skills

    A skill your agent uses when animating characters or scenes in Godot 4.7: AnimationPlayer clips and RESET, AnimationTree state machines and blend spaces built in code, Mixamo or glTF import, loop…

    946 GitHub stars~4.7k tokensUpdated today
    Auto-check passed
  • Scenario Godot Audio

    scenario-labs/skills

    A skill your agent uses when adding or fixing sound in Godot 4.7: audio buses and effects, volume sliders, 'too many sounds', combat audio with hundreds of enemies, sounds clipping or distorting, 3D…

    946 GitHub stars~4.7k tokensUpdated today
    Auto-check passed

Questions about Scenario Model Training

What does Scenario Model Training do?

A skill your agent uses when generated assets must keep a consistent style, character, or product look and references stop scaling, or when a user asks to train a custom model through the Scenario…. Scenario Model Training is an agent skill from scenario-labs/skills. Use when generated assets must keep a consistent style, character, or product look and references stop scaling, or when a user asks to train a custom model through the Scenario MCP, fine-tune a LoRA, clone a voice, curate a training dataset, choose a base model, set epochs and sample prompts, estimate training cost, diagnose a trained model that lost its identity or has one epoch, or generate with a trained model.

When should I use Scenario Model Training?

Scenario Model Training fits situations like: generated assets must keep a consistent style; product look and references stop scaling; A user asks to train a custom model through the Scenario MCP; fine-tune a LoRA.

How do I install Scenario Model Training in Claude Code?

Run `npx skills add scenario-labs/skills --skill scenario-model-training -a claude-code`. Or copy the skill folder (skills/scenario-model-training in scenario-labs/skills) into .claude/skills/scenario-model-training in your project. Claude Code loads it when a task matches its description.

How do I install Scenario Model Training in Codex?

Run `npx skills add scenario-labs/skills --skill scenario-model-training -a codex`. Or copy the skill folder (skills/scenario-model-training in scenario-labs/skills) into .agents/skills/scenario-model-training in your project. Codex loads it when a task matches its description.

Can I use Scenario Model Training in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add scenario-labs/skills --skill scenario-model-training -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scenario-model-training, .gemini/skills/scenario-model-training, .github/skills/scenario-model-training and .opencode/skills/scenario-model-training in your project.

What does Scenario Model Training need to run?

Going by SKILL.md and its folder, Scenario Model Training needs the command-line tools its instructions call (npx). Our summary lists: Node.js.

Does Scenario Model Training access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Scenario Model Training safe to install?

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.

What licence does Scenario Model Training use?

Scenario Model Training is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Scenario Model Training use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.3k tokens, read only when the agent opens those files.

What are the alternatives to Scenario Model Training?

Skills that share tags, products or a category with Scenario Model Training: Hugging Face LLM Trainer (huggingface/skills, 11k stars), LLM Config (ruvnet/ruflo, 74k stars), AI Learning Journal (LeoYeAI/openclaw-master-skills, 2.2k stars) and Microsoft Foundry (microsoft/GitHub-Copilot-for-Azure, 255 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Scenario Model Training?

scenario-labs (a GitHub organization) maintains it in scenario-labs/skills, which has 946 GitHub stars. The repository holds 146 skills in this directory. The repository was last updated on October 10, 2026.

Source: scenario-labs/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.