Profiles are small JSON files in profiles/. To add or improve one:
- Copy an existing profile in
profiles/toprofiles/<your-id>.jsonand edit it. Follow SCHEMA.md. Theidmust equal the filename. - Keep it vendor-grounded: cite the source for sampling params in
notes(the model card, the vendor docs, or a reproducible benchmark). Biastemperaturelower than the vendor default only when the model is weak at tool calling, and say so. - Be conservative: only set
maxTools/compactionLevelfor models that genuinely struggle with a big tool set or prompt. Do not throttle a capable model, and do not add profiles for frontier models that already call tools well (they intentionally have none). - Close the
promptHintwith the four behavioural lines every profile carries - do not repeat a tool call with the same arguments, do not end a turn on tool calls alone, say what a failed tool actually reported instead of inventing a result, and in a squad run let the system prompt outrank the coordinator's brief. Your model-specific guidance leads; these close. A hint without them is not finished (see the Guidance section of SCHEMA.md), and the whole field has to stay under 1500 characters. - Add your profile to
index.json(the manifest:id,name,file,modelPattern) and bump theupdateddate andlibraryVersion. - Validate: the file must be valid JSON and parse against the schema. Test it in Skales (Settings → LLM Profiles, its own card, or the /profiles page → import by file) against the target model before opening the PR.
- Check the pattern against ids that are NOT yours. Matching is anchored, so a
glob has to carry the vendor prefix (
qwen3.*matchesqwen3.7-maxbut notqwen/qwen3.7-max), and specificity counts literal characters, so a glob only ever makes a pattern broader. A new family often collides with an existing one (magistralcontainsmistral,gemma-4does not matchgemma4) - say innoteswhich pattern wins and why. - Open a PR describing the model, the problem the profile solves, and how you verified it improves tool-calling or output quality.
- Profiles that demonstrably improve reliability for a real, reachable model.
- Clear, reproducible reasoning for every param (no cargo-culting).
- "Tune everything to temperature 0" blanket profiles.
- Profiles for frontier models that already work well.
- Unverified guesses, or params copied without a source.