a2ui
Make a reply easier to read and act on with rich blocks inside ordinary Markdown — a choice the user picks from, a form that…
Fine-tune LLMs with LlamaFactory — register datasets, train via YAML configs, merge LoRA adapters and serve the result.
Claude Code
$ npx -y skills add Prism-Shadow/penguin-harness --skill llamafactory --agent claude-code
Codex
$ npx skills add Prism-Shadow/penguin-harness --skill llamafactory -a codex -y
Cursor
$ npx skills add Prism-Shadow/penguin-harness --skill llamafactory -a cursor -y
Gemini CLI
$ npx skills add Prism-Shadow/penguin-harness --skill llamafactory -a gemini-cli -y
GitHub Copilot
$ npx skills add Prism-Shadow/penguin-harness --skill llamafactory -a github-copilot -y
OpenCode
$ npx skills add Prism-Shadow/penguin-harness --skill llamafactory -a opencode -y
Windsurf
$ npx skills add Prism-Shadow/penguin-harness --skill llamafactory -a windsurf -y
name: llamafactory description: Fine-tune LLMs with LlamaFactory — register datasets, train via YAML configs, merge LoRA adapters and serve the result. version: 2026.10.04.1
LlamaFactory fine-tunes open-weight LLMs (LoRA/QLoRA and full-parameter; SFT, DPO and more) through the `llamafactory-cli` command driven by YAML configs.
If the user's message only invokes this skill (e.g. "use llamafactory skill") without a concrete request, ask the user what they want to fine-tune. Do not run any command until the goal is clear.
Confirm before training:
git clone --depth 1 https://github.com/hiyouga/LlamaFactory.git cd LlamaFactory pip install -e . pip install -r requirements/metrics.txt # optional: evaluation metrics
Register every dataset in `data/dataset_info.json`; the alpaca and sharegpt formats are supported. A minimal local entry:
"my_dataset": { "file_name": "my_dataset.json" }alpaca rows carry `instruction` / `input` / `output`; sharegpt rows carry a `conversations` list. Put the data file under `data/` next to the registry.
Training is driven by a YAML config. Start from the shipped example `examples/train_lora/qwen3_lora_sft.yaml`, or save a minimal config as `my_sft.yaml`, e.g. for [Qwen/Qwen3-1.7B](https://huggingface.co/Qwen/Qwen3-1.7B):
model_name_or_path: Qwen/Qwen3-1.7B trust_remote_code: true stage: sft do_train: true finetuning_type: lora lora_rank: 8 lora_target: all dataset: my_dataset template: qwen3 output_dir: saves/qwen3-1.7b/lora/sft learning_rate: 1.0e-4 num_train_epochs: 3.0 bf16: true
llamafactory-cli train my_sft.yaml
`llamafactory-cli webui` launches the no-code web UI for the same workflow.
Merge the LoRA adapter into the base weights for standalone serving. Start from `examples/merge_lora/qwen3_lora_sft.yaml`, pointing `model_name_or_path`, `adapter_name_or_path` and `template` at your run (never merge into a quantized base):
model_name_or_path: Qwen/Qwen3-1.7B adapter_name_or_path: saves/qwen3-1.7b/lora/sft template: qwen3 trust_remote_code: true export_dir: saves/qwen3-1.7b-sft-merged
llamafactory-cli export my_merge.yaml
Both commands take an inference config — derive it from `examples/inference/qwen3_lora_sft.yaml`, again pointing the model, adapter and template at your run:
model_name_or_path: Qwen/Qwen3-1.7B adapter_name_or_path: saves/qwen3-1.7b/lora/sft template: qwen3 infer_backend: huggingface trust_remote_code: true
llamafactory-cli chat my_infer.yaml # interactive chat with the tuned model llamafactory-cli api my_infer.yaml # OpenAI-compatible API server
Serve the merged export as a standalone endpoint — vLLM serves the export directory directly, while Ollama needs an import first (a `Modelfile` with `FROM /path/to/export`, then `ollama create`; supported model architectures only) — then register the endpoint with PenguinHarness so agents can build, evaluate and tune AI apps on the fine-tuned model end to end.
Make a reply easier to read and act on with rich blocks inside ordinary Markdown — a choice the user picks from, a form that…
Run ACE (Agentic Context Engineering, Zhang et al. 2025) on an agent the sequential offline way - a Reflector reads each training…
Run a PenguinHarness organization as its CEO — turn the mission into a ticket tree, hire HR and finance first, partition the…
The protocol every employee of a PenguinHarness organization follows — read the handbook first, act on [org_trigger] work runs,…
Run finance for a PenguinHarness organization — set and adjust monthly budgets along the reporting line, audit spend daily with…
Run HR for a PenguinHarness organization — guarantee every employee has an enabled calendar event, hire and offboard employees…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.