frappe-router

SKILL.md

Frappe Router

Route to the appropriate Frappe skill based on your task.

When to use

  • First step when starting any Frappe-related work
  • To determine which specialized skill applies to your task

Procedure

0) Identify task type

Task Skill
Understand project structure, versions, apps frappe-project-triage
Scaffold new app, hooks, architecture, background jobs frappe-app-development
Create/modify DocTypes, fields, controllers frappe-doctype-development
Build REST/RPC APIs, webhooks, integrations frappe-api-development
Customize Desk UI, form scripts, list views, JS API frappe-desk-customization
Build Vue 3 frontends with Frappe UI, portals frappe-frontend-development
UI/UX patterns from CRM/Helpdesk/HRMS frappe-ui-patterns
Create print formats, email templates, Jinja, PDFs frappe-printing-templates
Build reports (Builder, Query, Script) frappe-reports
Create public web forms for data collection frappe-web-forms
Write or run tests frappe-testing
Set up dev environment with Docker/FM frappe-manager
Build CRM/Helpdesk/enterprise systems frappe-enterprise-patterns

1) Run triage first (recommended)

Before deep work, run frappe-project-triage to understand:

  • Project type (bench/FM/standalone)
  • Frappe version
  • Installed apps
  • Available tooling

2) Combine skills as needed

Complex tasks may require multiple skills:

  • New app = frappe-app-development + frappe-doctype-development + frappe-api-development + frappe-testing
  • Feature with UI = frappe-doctype-development + frappe-desk-customization + frappe-api-development
  • Custom frontend = frappe-frontend-development + frappe-api-development
  • Document workflow = frappe-doctype-development + frappe-printing-templates + frappe-reports
  • Enterprise app = frappe-enterprise-patterns + frappe-doctype-development

Quick decision tree

Is this about understanding the project?
  → frappe-project-triage

Is this about creating a new app or app architecture?
  → frappe-app-development

Is this about data models or DocTypes?
  → frappe-doctype-development

Is this about APIs or external access?
  → frappe-api-development

Is this about Desk UI, form scripts, or client-side JS?
  → frappe-desk-customization

Is this about a Vue 3 frontend or portal?
  → frappe-frontend-development

Is this about UI/UX patterns or app design?
  → frappe-ui-patterns

Is this about print formats, PDFs, or Jinja templates?
  → frappe-printing-templates

Is this about reports or data analysis views?
  → frappe-reports

Is this about public web forms?
  → frappe-web-forms

Is this about testing?
  → frappe-testing

Is this about local dev environment?
  → frappe-manager

Is this a complex enterprise system?
  → frappe-enterprise-patterns

Guardrails

  • Always run triage first before making code changes to unknown projects
  • Check Frappe version before recommending features (API availability varies significantly between v13, v14, v15, v16)
  • Don't assume ERPNext - many projects use Frappe Framework without ERPNext
  • Verify site context - commands like bench migrate affect specific sites

Common Mistakes

Mistake Why It Fails Fix
Skipping project triage Applying wrong patterns for version Always run triage first
Using ERPNext-specific code in Frappe-only projects Module not found errors Check installed apps first
Wrong skill for task Incomplete implementation Match task type to skill carefully
Ignoring version differences Deprecated/missing APIs Check version compatibility in skill references
Working on wrong site Changes don't appear Always specify --site flag
Using vanilla JS/jQuery for frontends Ecosystem mismatch Use Frappe UI (Vue 3) via frappe-frontend-development
Custom app shell for CRUD apps Inconsistent UX Follow CRM/Helpdesk patterns via frappe-enterprise-patterns
Weekly Installs
21
GitHub Stars
11
First Seen
Feb 19, 2026
Installed on
opencode20
gemini-cli20
github-copilot20
amp20
codex20
kimi-cli20