# Skills: local serving and fine-tuning join AI App Development, plus deck authoring

Three new built-in skills extend the AI App Development group so agents can stand up and tune the models they build on:

- **vllm** — install and serve models with vLLM's OpenAI-compatible server, including the tool-calling flags agent harnesses need (`--enable-auto-tool-choice --tool-call-parser …`), quantization and memory options, and troubleshooting.
- **ollama** — pull and serve local models with Ollama, its OpenAI-compatible endpoint, and context-length tuning via `OLLAMA_CONTEXT_LENGTH` or a Modelfile.
- **llamafactory** — fine-tune with LlamaFactory (dataset registration, `llamafactory-cli train/export/chat/api` driven by the upstream example YAMLs), then serve the result with vLLM or with Ollama via a Modelfile import.

Both serving skills share a guided workflow: ask the user which model to serve (recommending the small Qwen3.5-0.8B default when they have no preference) and which engine they prefer — Ollama as the approachable default, vLLM when throughput matters — then serve, verify, and register the endpoint with the penguin CLI (models appear in `penguin config model list` only after `model add`). Each skill's icon follows the project's official mark.

The hard root-separation guardrail lives where configuration is taught — the `penguin-cli` skill (now v5) and the `penguin-sdk` skill: configuring Penguin's own model uses the default root, but models configured for an AI app under development must use the app's own project directory (`--root ./penguin_data`) unless the user chose otherwise — never the global `~/.penguin/data`. The serving skills point at that rule rather than restating it.

**bento-slides** joins the Office Productivity group, so an agent asked for a presentation produces a real deck rather than a wall of bullets. A Bento deck is one self-contained `.bento.html` file whose document is plain JSON in a `#bento-doc` script block; the skill teaches the agent to edit that block in place, to fetch the app itself from bento.page when starting from nothing, and — the part that matters — to map source material onto the right feature (charts for numbers, tables for grids, morph transitions for a subject that changes across slides, state slides for drill-downs, ken-burns and count-ups for motion) instead of defaulting to text slides. It carries the gotchas that otherwise cost a round trip: chart series data must be plain numbers, morph needs stable shared element ids, assets are embedded as data URIs, and `docId` is never regenerated on an existing deck. Adapted from the Bento project's own skill (MIT, © 2026 The Bento/Suite authors) with attribution in the skill body; the authoritative schema stays at https://bento.page/agents.md.

The `agenthub-models` skill tracks the AgentHub 0.4.1 upgrade: it documents the new supported-model registry, the config parameters a client may now reject outright, and the Gemini 3.6 / Kimi K3 / GLM-5.2 families with their reasoning-effort knobs, alongside a routing table rewritten from the release's actual client-matching order.
