← ClaudeAtlas

jinja-expertlisted

Author, read, and debug Jinja2 templates across the three places Jinja lives in 2026 — HuggingFace `chat_template.jinja` (rendered by `apply_chat_template` for vLLM / sglang), Ansible playbooks + `.j2` files, and Jinja-adjacent Kubernetes workflows (`values.yaml.j2`, `kubernetes.core.k8s + template`, Helm post-renderers). Companion to the `helm` skill — Helm charts are Go `text/template` + Sprig, not Jinja, and this skill makes that disambiguation explicit.
air-gapped/skills · ★ 5 · AI & Automation · score 78
Install: claude install-skill air-gapped/skills
# Jinja Expert **Boundary with `transformers-config-tokenizers-expert`** (same `dev` plugin). Both skills touch `chat_template.jinja`, from opposite sides. This one owns the template *as Jinja* — syntax, scoping, filters, whitespace, why the render is wrong. That one owns *which file wins* and what the loader does with it: `tokenizer_config.json` vs `chat_template.jinja` precedence, structural tokens, which class actually instantiates. "My template renders the wrong text" is here; "my template isn't the one being used" is there. Jinja2 shows up in three mostly-disjoint ecosystems in 2026. Each has its own dialect — different sandbox, different extensions, different filters, different failure modes. Using chat-template idioms in an Ansible playbook will silently misbehave. Using Ansible `!unsafe` in a chat template is a syntax error. This skill is the map. --- ## Which dialect am I in? Pick the row that matches the file under review. The rightmost column points to the next file to read. | Signal | Dialect | Go to | |---|---|---| | File named `chat_template.jinja`; `apply_chat_template`, `tokenizer_config.json`, vLLM/sglang in play; messages/tools/`add_generation_prompt` in scope | **HF chat template** (sandboxed, `loopcontrols`, `tojson ensure_ascii=False`) | `references/chat-template/` | | File ends in `.j2`; inside an Ansible playbook/role/collection; `{{ ansible_managed }}`, `hostvars`, `lookup(...)`, `| default(omit)`; `when:` bare expressions | **Ansible Jinja** (re