renderers

Converts chat-style messages into model-ready token sequences for training and inference.

4.0k|507|Updated Jul 14, 2025
One-click install
npx skills add https://github.com/thinking-machines-lab/tinker-cookbook --skill renderers
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: renderers
Source: https://github.com/thinking-machines-lab/tinker-cookbook/tree/main/.claude/skills/renderers
Command: npx skills add https://github.com/thinking-machines-lab/tinker-cookbook --skill renderers

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Renderers convert chat-style messages into token sequences for training and generation, bridging the gap between user prompts and model inputs.

Core Features & Use Cases

  • Renderer base class and API
  • Registry and factory for named renderers
  • TrainOnWhat support and vision input integration
  • Pickleable/serializable renderers for distributed execution
  • Guidance on tool integration and model-family compatibility

Quick Start

Use the renderer registry to obtain a renderer for your model and start building prompts and parses.

Frequently Asked Questions about renderers

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I convert chat messages into token sequences for LLM training?

Renderers convert chat-style messages into token sequences for training and generation, bridging user prompts to model inputs. They provide a base API to format and parse data, ensuring inputs are correctly tokenized for large language models.

How does a renderer registry work for managing different model formats?

A renderer registry provides a centralized factory to obtain named renderers for specific model families. This allows you to dynamically select and manage the correct tokenization strategy, ensuring proper prompt formatting across different language models.

Can I use renderers for model fine-tuning with vision inputs?

Yes, renderers support model fine-tuning workflows and integrate vision inputs. They are designed to handle multimodal data, transforming both text and image-based chat messages into unified token sequences for training and inference.

What is a pickleable renderer and why is it needed for distributed training?

A pickleable renderer is a serializable interface that maintains its state across distributed execution environments. This serialization is required to safely transfer rendering logic across multiple compute nodes during distributed training.

Does the renderer interface support TrainOnWhat settings?

Yes, the renderer interface fully supports TrainOnWhat settings. This integration allows you to precisely control which parts of the chat messages are tokenized and included in the training loss calculation.

What is the best way to customize tokenization for different LLM families?

The best way to customize tokenization is to use the renderer base class and its registry. This allows you to define model-family compatible formatting rules and integrate specific tools, ensuring prompts are parsed correctly for your target architecture.