frappe-syntax-doctypes

Generate valid Frappe DocType JSON definitions with correct fieldtypes and naming rules.

163|53|Updated Jan 14, 2026
One-click install
npx skills add https://github.com/Impertio-Studio/Frappe_Claude_Skill_Package --skill frappe-syntax-doctypes-impertio-studio
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: frappe-syntax-doctypes
Source: https://github.com/Impertio-Studio/Frappe_Claude_Skill_Package/tree/main/skills/source/syntax/frappe-syntax-doctypes
Command: npx skills add https://github.com/Impertio-Studio/Frappe_Claude_Skill_Package --skill frappe-syntax-doctypes-impertio-studio

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill prevents invalid Frappe DocType JSON definitions by guiding you to choose correct fieldtypes, set safe naming rules, and configure hierarchy structures properly, reducing broken schemas that fail in production.

Core Features & Use Cases

  • DocType JSON schema correctness: Defines and validates the top-level DocType properties (e.g., is_tree, is_virtual, issingle, istable) so the data model matches the intended behavior.
  • Fieldtype and property guardrails: Helps you select appropriate fieldtypes and configure critical field properties (e.g., reqd, unique, options, fetch_from/fetch_if_empty, depends_on with eval:) to avoid silent runtime issues.
  • Naming rule safety: Ensures autoname/naming_rule patterns are set correctly (and recommends safer options over Autoincrement in production).
  • Child tables and tree/virtual patterns: Covers Child DocType (Table/Table MultiSelect), Tree DocTypes (NestedSet), and Virtual DocTypes (with required controller methods) to ensure the framework wiring is correct.
  • Customization-ready decisions: Reinforces how to extend existing DocTypes safely using Custom Fields and Property Setters rather than modifying core JSON.

Quick Start

Use the frappe-syntax-doctypes skill when you are defining or editing a DocType’s JSON (including fields, naming, child tables, tree setup, or virtual DocType controller requirements).

Frequently Asked Questions about frappe-syntax-doctypes

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

FAQPage Schema
How do I generate a valid Frappe DocType JSON schema with correct fieldtypes?

To generate a valid Frappe DocType JSON schema, you must define correct fieldtypes, set safe naming rules, and configure structural flags like is_tree or is_virtual to ensure the data model matches intended behavior and avoids silent runtime issues.

What's the best way to configure Frappe child tables and NestedSet tree DocTypes?

Configuring Frappe child tables and NestedSet tree DocTypes requires setting the correct top-level structural flags like istable or is_tree, and ensuring field properties properly reference child DocTypes to maintain framework wiring correctness.

How do autoname and naming_rule patterns work in Frappe DocType JSON?

Frappe autoname and naming_rule patterns define how records are named within the DocType JSON, and it is recommended to use safer options over Autoincrement in production environments to prevent broken schemas.

Why are missing search_index and in_standard_filter properties problematic in Frappe DocTypes?

Missing search_index and in_standard_filter properties in Frappe DocTypes are anti-patterns that cause silent runtime issues, because they prevent the framework from properly indexing fields and applying standard list view filters.

Can I extend existing Frappe DocTypes safely without modifying core JSON?

You can safely extend existing Frappe DocTypes by using Custom Fields and Property Setters rather than directly modifying the core JSON, which preserves the base schema and prevents upgrade conflicts.

Do I need controller methods for Frappe virtual DocTypes?

Frappe virtual DocTypes require specific controller methods to function correctly, because the is_virtual flag dictates non-physical data storage and the framework needs explicit code to handle data retrieval and manipulation.