frappe-impl-reports

Enforce correct Script and Query report structures with safe SQL patterns.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill prevents Frappe report implementations from failing in production by enforcing correct report return signatures, safe SQL patterns, and practical performance guardrails.

Core Features & Use Cases

  • Guides Script Reports and Query Reports correctly: teaches the right file layout, execute() return value order, and parameterized SQL with docstatus-safe filtering.
  • Prevents empty or broken report output: covers column fieldtype/alias formatting and common anti-patterns that cause missing data or display issues.
  • Improves performance at scale: recommends prepared reports for heavy datasets, efficient SQL practices, and chart/summary patterns for dashboards.

Quick Start

Ask the AI to generate a Script Report named Sales Summary with correct columns, parameterized filters, and a bar chart plus a report summary for total revenue and customer count.

Frequently Asked Questions about frappe-impl-reports

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

FAQPage Schema
How do I build a Frappe Script Report with the correct execute() return order?

A Frappe Script Report requires execute() to return columns, data, message, chart, and no_data in a fixed order. Enforcing this structure prevents broken report output and ensures filters and column definitions display reliably.

Why does my Frappe Query Report return empty or broken output?

Frappe Query Reports return empty output due to incorrect column fieldtype formatting, missing aliases, or unsafe SQL execution. Applying parameterized SQL with docstatus filters fixes missing data and resolves display issues.

What is the best way to optimize SQL in Frappe reports for large datasets?

Optimize SQL in Frappe reports by avoiding SELECT * and N+1 queries. For large datasets, implement prepared reports to handle heavy data processing efficiently and prevent production performance bottlenecks.

How do I add a dashboard chart and report summary to a Frappe Script Report?

Add dashboard charts and report summaries to a Frappe Script Report by returning chart and summary data in proper formats within execute(). This enables visualizations like bar charts and total revenue metrics alongside the data.

Does my Frappe report need parameterized SQL filters for docstatus?

Yes, Frappe reports require parameterized SQL with docstatus filters. This enforces safe execution patterns by preventing SQL injection and ensuring queries only retrieve correctly submitted documents.