cookbook-add-model

Add a new model to the SGLang Cookbook (docs/, Mintlify), config-driven format — instantiate the model-agnostic template into a per-model config (+ benchmarks) JSX under src/snippets/configs/, an MDX page, the docs.json nav entry, NEW-tag hygiene, and the homepage vendor card. Interactive, multi-phase. Run with /cookbook-add-model.

Install
npx skills add 'https://github.com/sgl-project/sglang/tree/main/.claude/skills/cookbook-add-model'
Download bundle ↓
main · a9fb1c3Scanned 2026-09-17

Contributors

GitHub-linked commit authors for this SKILL.md at the saved revision. Co-authors and history before file renames are not included.

File history ↗
View on GitHub
← Back to SKILL.md

Diffusion cookbook authoring contract

Use this contract for every model page under docs/cookbook/diffusion/<Vendor>/<Model>.mdx.

Opening structure

Import and render the shared tag widget immediately after frontmatter:

import { DiffusionModelTags } from '/src/snippets/diffusion/model-tags.jsx';

<DiffusionModelTags tags={["video + audio", "text-to-video", "reference control", "4–15 seconds"]} />

Use 4–6 tags, ordered from broad to specific:

  1. output modality or product class;
  2. primary request modes;
  3. the capability that differentiates the model;
  4. an important scale, latency, duration, resolution, or architecture fact.

Do not spend tags on generic claims such as native, fast, high quality, or SGLang. Attention backends, Cache-DiT, and online quantization are feature overlays, not model identity, unless a published checkpoint is intrinsically tied to that format.

The page must start with ## 1. Quick start: keep installation to one runnable command, add at most one short orientation paragraph, and render the scoped command builder before detailed capability tables or deployment commentary. A reader should reach a generated Serve command without scrolling through model background first.

Follow it with ## 2. Model capabilities and 2–3 short paragraphs:

  • paragraph 1: what the model does and where it is genuinely strong;
  • paragraph 2: when to choose it and the most important limitation or tradeoff;
  • optional paragraph/table: checkpoint or mode routing that a user must understand before serving.

Keep the capability lead between roughly 45 and 180 words. Replace marketing superlatives with concrete capabilities. A reader should learn more than “this is a powerful image/video model,” but should not have to read the architecture section to choose the right model.

Scoped command builder

New diffusion pages use templates/diffusion-config.jsx.tmpl and opt into the shared commandBuilder renderer. Setup, Server, and Request choices share one semantic selection and one command composer; do not create a second command engine or assemble fragments in MDX.

Classify every dimension by lifecycle:

  • scope: "base": the visible Setup tab—hardware-independent required decisions such as checkpoint weights and request mode. Hardware, Nodes × GPUs/node, and the recommended verified deployment are supplied by the shared builder.
  • scope: "serve": startup flags such as placement, attention, precision, encoder scheduling, and graph execution. They modify only the complete Serve command.
  • scope: "request": sampling fields such as quality and outputs. They modify only the complete Request command.

Keep the topology registry small and honest. verifiedRecipes contains only exact end-to-end runs on that hardware and resource shape. autoTopology(selection) may construct a legal custom shape, but resolveDeployment must mark it unverified unless it exactly matches a recipe. validateTopology returns static errors for impossible world-size, head, partition, or placement combinations; errors disable both Copy actions. Never silently label a nearby GPU or topology as verified.

Expose topology-dependent best values explicitly. A Server row may remain Auto, but its summary and generated flag must show the effective policy—for example, encoder auto resolving to replicate across nodes. Reserve disabled for combinations that cannot work (a kernel the platform does not ship, a mode the checkpoint cannot serve); an option that runs but has not been through a verification round should declare soft instead, which keeps it selectable and labels the pick as unverified. Keep torch.compile and similarly narrow experiments in the detailed prose until they have a broadly compatible recipe.

Each dimension should provide a concise description, an optional quality label, and a learnMore anchor. Each option should provide at most two lines of decision-relevant explanation, its exact flags/stripPrefixes/env/hints, and a disabled (with disableReason), soft (with softReason), or verifiedWhen predicate when support is conditional — the reason strings are user-facing: blocked options flash theirs under the row on tap and expose it as a tooltip. The builder stores all semantic choices in the URL hash; active scope, expanded state, head address, and node rank stay local.

Legacy configs without commandBuilder continue to use the old matrix renderer. Do not migrate an existing page opportunistically; use the new schema for new diffusion models and deliberate model-by-model migrations.

Review checklist

  • tags render before section 1 and describe the model rather than the runtime;
  • Quick start puts installation and the generated commands before detailed model background;
  • the capability section explains strength and boundary without marketing filler;
  • checkpoint variants and request modes are unambiguous;
  • Setup keeps both commands visible as a deployment overview; Server and Request each show only the command controlled by that scope;
  • command bodies grow naturally up to their collapsed limit and do not reserve empty height;
  • topology-dependent recommended defaults are explicit in the setting summary and generated command;
  • legal custom topologies are Unverified and copyable; statically illegal combinations block Copy;
  • attention, quantization, caching, compile, and similar orthogonal features have explicit quality contracts and verified scopes;
  • unverified hardware or performance claims are absent;
  • node docs/scripts/check_cookbook_configs.mjs and Mintlify validation pass.
Referenced from SKILL.md