agentsclimarketplace

Frappe audit

Skill prilk-consulting/frappe-agent-kit/skills/frappe-audit

Production-grade Frappe Framework & ERPNext skills, agents, and scaffolding commands for Claude Code

Install
npx -y skills add prilk-consulting/frappe-agent-kit --skill frappe-audit

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Full audit of a Frappe app with parallel specialist delegation. Reviews security (permissions, injection, guest endpoints), schema quality (DocType JSON), and code conventions (hooks, patches, client scripts). Use when the user says audit my app, review this Frappe app, app health check, or pre-release review.

SKILL.md

3.6 KB, 774 tokens by cl100k_base, as published. Nobody here has run it

Frappe App Audit

Audit a Frappe app end-to-end by delegating to specialist subagents, then aggregate a prioritized report.

Usage

Use this skill when:

  • User asks to audit, review, or health-check a Frappe app
  • Pre-release or pre-handover review of a custom app
  • Inheriting an unfamiliar codebase and needing a risk map

Process

  1. Locate the app: resolve [app name] to apps/<app>/ in the current bench. If no argument, list apps in apps/ (minus frappe/erpnext core unless explicitly requested) and ask which to audit.
  2. Inventory (inline, fast):
    • hooks.py — verify every registered handler path resolves by running the bundled script from the bench root: ./env/bin/python <this skill's dir>/scripts/resolve_hooks.py <app> (exit 3 = broken hooks; each is automatically a High finding)
    • modules.txt, patches.txt — modules and patch history
    • **/doctype/*/ — DocType JSON + controllers
    • public/js/, www/, templates/ — client and web surface
    • install.py / setup.py — install/migrate wiring
  3. Delegate to specialist agents (run in parallel; if subagents are unavailable, run the same checklists inline sequentially):
    • frappe-security — permission enforcement, injection, guest surface
    • frappe-schema — DocType JSON quality and data-model design
    • frappe-quality — code conventions, hooks correctness, patch safety
  4. Verify findings: drop anything a specialist flagged that doesn't reproduce on a second read of the cited file/line. No speculative findings in the final report.
  5. Aggregate into AUDIT-REPORT.md with severity buckets.

Report format

# Audit: <app> @ <git rev>

## Summary
<3-5 sentences: overall health, the one thing to fix first>

## Critical   <!-- security holes, data-loss risks, migrate-breaking -->
- [ ] <finding> — `file.py:123` — <why it matters> — <fix>

## High       <!-- permission gaps, broken hooks, non-idempotent installs -->
## Medium     <!-- convention violations, missing tests, perf smells -->
## Low        <!-- style, naming, minor cleanups -->

Every finding cites file:line, states the concrete impact, and proposes the specific fix — not "consider improving."

Severity guide

SeverityExamples
Criticalallow_guest=True on state-changing method; f-string SQL with user input; get_all in a whitelisted method leaking rows across users; patch that destroys data on re-run
HighWhitelisted method without has_permission check; ignore_permissions=True without justification; hook path that doesn't resolve; after_install not idempotent; secrets committed in code
Mediumget_list/get_all confusion in non-leaking spots; missing queue= on enqueue; client-side-only validation; untranslated user-facing strings; missing tests for submittable doctypes
LowNaming conventions, file organization, two doctypes' scripts in one JS file, print()-instead-of-log_error

Scope discipline

  • Audit the app as it is — do NOT edit files during the audit.
  • Report only what's actually broken or risky; this is not a rewrite proposal.
  • If the app extends other apps' DocTypes, check it only manages its OWN custom fields.

What ships with it: 1 file

2.8 KB alongside SKILL.md, 1 of them executable

scripts/

Keep looking

Skills are one crate of 326,970. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.