frappe-syntax-jinja

Rewrite Frappe Jinja templates with correct syntax, context, and formatting.

Updated May 31, 2026
One-click install
npx skills add https://github.com/anonymousminati/Res-POS --skill frappe-syntax-jinja-anonymousminati
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: frappe-syntax-jinja
Source: https://github.com/anonymousminati/Res-POS/tree/main/.claude/skills/syntax/frappe-syntax-jinja
Command: npx skills add https://github.com/anonymousminati/Res-POS --skill frappe-syntax-jinja-anonymousminati

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps you write reliable Jinja templates for Frappe without syntax errors, broken context access, or formatting mistakes that make print formats, email templates, and portal pages fail.

Core Features & Use Cases

  • Template syntax guidance: Use the right Jinja constructs for expressions, control flow, macros, includes, and filtering.
  • Frappe-specific context: Work correctly with doc, child tables, translation strings, formatting helpers, and portal page variables.
  • Production-safe patterns: Avoid common anti-patterns such as queries inside loops, unsafe HTML rendering, missing defaults, and raw field values.
  • Version-aware output: Apply the right guidance for Frappe v14-v16, including Chrome PDF rendering behavior in v16.
  • Use case: Rewrite a broken invoice print format, build a customer portal page, or fix an email template so it renders correctly and safely.

Quick Start

Use this skill to review my Frappe Jinja template and rewrite it with the correct context, formatting, and safety patterns.

Frequently Asked Questions about frappe-syntax-jinja

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

FAQPage Schema
How do I fix syntax errors in Frappe Jinja print formats?

Frappe v16 PDF rendering uses Chrome, which requires strict HTML and CSS compatibility; templates must apply safe rendering practices to avoid broken layouts and formatting errors.

Why does my ERPNext email template fail to render correctly?

ERPNext email templates fail due to broken context access, missing defaults, or unsafe HTML rendering; rewriting with correct Jinja constructs and translation wrappers ensures reliable output.

How do I iterate child tables in Frappe Jinja templates?

Iterate child tables in Frappe Jinja templates by using proper control flow loops with doc-aware context access, avoiding anti-patterns like queries inside loops to ensure safe formatting.

Does Frappe v16 Chrome PDF rendering affect Jinja template compatibility?

Frappe v16 PDF rendering uses Chrome, which requires strict HTML and CSS compatibility; templates must apply safe rendering practices to avoid broken layouts and formatting errors.

What are common anti-patterns when writing Frappe portal page templates?

Common Frappe portal page anti-patterns include unsafe HTML rendering, missing defaults, raw field values, and queries inside loops; production-safe patterns eliminate these formatting and context errors.