skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
lubusin/frappe-skills199 installs

frappe-project-triage

Detect Frappe project type, installed apps, version, and tooling. Use as the first step when working on any Frappe/ERPNext codebase to understand the project structure before making changes.

How do I install this agent skill?

npx skills add https://github.com/lubusin/frappe-skills --skill frappe-project-triage
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    This skill provides diagnostic procedures for identifying the structure and configuration of Frappe/ERPNext projects. It uses standard shell commands and file inspections to determine project types, versions, and installed apps without performing any high-risk operations.

  • Socketpass

    No alerts

  • Snykpass

    Risk: LOW · No issues

What does this agent skill do?

Frappe Project Triage

Quickly analyze a Frappe project to determine its type, installed apps, version, and available tooling.

When to use

  • First step when opening a new Frappe project
  • Before making any code changes to understand the codebase
  • When debugging to determine which apps/versions are involved
  • To identify the development environment (Bench vs Frappe Manager)

Inputs required

  • Project root path (where apps/, sites/, or app code lives)
  • Access to run shell commands (for version checks)

Procedure

0) Identify project structure

Check for these patterns:

PatternProject Type
apps/ + sites/ directoriesBench installation
docker-compose.yml with frappeFrappe Manager site
pyproject.toml or setup.py with frappeStandalone app
doctype/ directoryInside an app module

1) Detect installed apps

# Inside Bench/FM shell
bench --site <site> list-apps

# Or check apps directory
ls apps/

2) Check Frappe version

# Inside Bench/FM shell
bench version

# Or check from Python
bench --site <site> console
>>> frappe.__version__

3) Identify tooling

File/DirectoryTooling
ProcfileStandard bench
docker-compose.ymlDocker/FM
cypress/UI testing available
.github/workflows/CI configured
package.json with @frappe/*JS build tooling

4) Check development mode

# Check site config
bench --site <site> console
>>> frappe.conf.developer_mode

Verification

  • Project type identified (bench/FM/standalone app)
  • Installed apps listed
  • Frappe version known
  • Development mode status confirmed
  • Available tooling documented

Failure modes / debugging

  • No site found: May be inside an app directory, navigate to bench root
  • bench command not found: Not in bench environment, use fm shell or activate venv
  • Permission errors: Check if running as correct user

Escalation

If project structure is unclear:

  1. Look for hooks.py to identify app root
  2. Look for sites/common_site_config.json for bench root
  3. Check git remote for app repository identification

Output format

After triage, document:

Project Type: [bench|frappe-manager|standalone-app]
Frappe Version: X.Y.Z
Installed Apps: [list]
Developer Mode: [yes|no]
Tooling: [list]
Site Name: <site>

Use this output to route to the appropriate skill:

  • DocType work → frappe-doctype-development
  • API work → frappe-api-development
  • Testing → frappe-testing
  • Enterprise patterns → frappe-enterprise-patterns

Guardrails

  • Never modify code before completing triage - understand the project first
  • Check for custom apps that may override standard behavior
  • Verify site exists before running site-specific commands
  • Check developer_mode before making schema changes (required for DocType modifications)
  • Note Node.js version - frontend builds require compatible Node (typically 18+ for v15)

Common Mistakes

MistakeWhy It FailsFix
Running bench migrate without siteAffects wrong/default siteAlways use --site sitename
Assuming ERPNext is installedImport errors, missing DocTypesCheck list-apps output first
Missing FM shell contextbench commands not foundUse fm shell sitename first
Wrong directory levelCommands fail silentlyNavigate to bench root (where apps/ exists)
Ignoring custom app overridesUnexpected behaviorCheck hooks.py for overrides
Not checking Python versionSyntax/compatibility errorsVerify Python >= 3.10 for v15+

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/lubusin/frappe-skills/frappe-project-triage">View frappe-project-triage on skillZs</a>