Token导航 LogoToken导航TokenDH.com
前端设计需要联网github未标认证来源可访问许可证需确认审计通过

frappe-agent-validator冰沙 Agent 验证器

Agent Skill

frappe-agent-validator 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

593

周安装

24

GitHub Stars

87

下载量

186
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:frappe-agent-validator(冰沙 Agent 验证器)
来源仓库:https://github.com/openaec-foundation/erpnext_anthropic_claude_development_skill_package
仓库路径:skills/frappe-agent-validator
安装命令:
npx skills add https://github.com/openaec-foundation/erpnext_anthropic_claude_development_skill_package --skill frappe-agent-validator
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/openaec-foundation/erpnext_anthropic_claude_development_skill_package --skill frappe-agent-validator

简介

用于处理 GitHub 仓库、Issue 和 Pull Request 协作信息。

  • 支持代码变更追踪、仓库状态整理和协作事项归纳,提升开发效率。
  • 可结合原始 README 和安装命令进一步验证功能细节和使用限制。
  • 安装前建议确认权限范围和维护状态,避免触发不必要的网络请求。
  • 使用时需注意信息时效性,优先基于最新提交和历史记录进行分析。

SKILL.md

Frappe Code Validator Agent

Validates Frappe/ERPNext code against the complete 61-skill knowledge base, catching errors BEFORE deployment.

Purpose: Catch errors before deployment, not after

When to Use This Agent

CODE VALIDATION TRIGGERS
|
+-- Code has been generated and needs review
|   "Check this Server Script before I save it"
|   --> USE THIS AGENT
|
+-- Code is causing errors
|   "Why isn't this working?"
|   --> USE THIS AGENT
|
+-- Pre-deployment validation
|   "Is this production-ready?"
|   --> USE THIS AGENT
|
+-- Code review for best practices
|   "Can this be improved?"
|   --> USE THIS AGENT
|
+-- Ops/deployment validation
|   "Is my bench setup correct?"
|   --> USE THIS AGENT

Validation Workflow

STEP 1: IDENTIFY CODE TYPE
  Client Script | Server Script | Controller | hooks.py |
  Jinja | Whitelisted | Bench/Ops | DocType JSON

STEP 2: RUN TYPE-SPECIFIC CHECKS
  Apply checklist for identified code type

STEP 3: CHECK UNIVERSAL RULES
  Error handling | Security | Performance | User feedback

STEP 4: VERIFY VERSION COMPATIBILITY
  v14/v15/v16 features | Deprecated patterns

STEP 5: VALIDATE AGAINST SKILL CATALOG
  Cross-reference with relevant frappe-* skills

STEP 6: GENERATE VALIDATION REPORT
  Critical errors | Warnings | Suggestions | Corrected code

See references/workflow.md for detailed steps.

Critical Checks by Code Type

Server Script Checks

CheckSeverityPatternFix
Import statementsFATALimport X or from X import YUse frappe.utils.X() directly
Wrong doc variableFATALself.field or document.fieldUse doc.field
Wrong event for purposeERRORValidation code in on_updateMove to validate event
try/except blocksWARNINGtry:... except:Use frappe.throw() for validation
No null checksWARNINGdoc.field.lower()Add if doc.field: guard

Client Script Checks

CheckSeverityPatternFix
Server-side API callsFATALfrappe.db.get_value()Use frappe.call()
Missing async handlingFATALlet x = frappe.call()Use callback or async/await
No refresh after set_valueERRORfrm.set_value() aloneAdd frm.refresh_field()
Using cur_frmWARNINGcur_frm.doc.fieldUse frm parameter
No form state checkWARNINGMissing __islocal/docstatusAdd state guards

Controller Checks

CheckSeverityPatternFix
self.* in on_updateFATALself.field = X in on_updateUse self.db_set()
Circular saveFATALself.save() in lifecycle hookRemove self.save()
Missing super()ERROROverride without super()Add super().method()
v16 extend_doctype_classERRORMissing super() in mixinALWAYS call super() first
No type annotationsSUGGESTIONMissing type hints (v16)Add type annotations

hooks.py Checks

CheckSeverityPatternFix
Invalid Python syntaxFATALSyntax errorsFix dict/list structure
Wrong event namesFATALTypo in event nameUse correct event names
Invalid function pathsFATALWrong dotted pathVerify path exists
v16-only hooks on v14/v15ERRORextend_doctype_classUse doc_events instead
Missing required_appsWARNINGNo dependency declarationAdd all dependencies

Ops/Bench Checks

CheckSeverityPatternFix
No migrate after hooksFATALhooks.py changed, no migrateRun bench migrate
Wrong bench command syntaxERRORIncorrect CLI argsCheck frappe-ops-bench
Missing backup before upgradeERRORUpgrade without backupALWAYS backup first
Production without supervisorWARNINGNo process managerUse supervisor/systemd
No SSL in productionWARNINGHTTP-only deploymentConfigure SSL/TLS

DocType JSON Checks

CheckSeverityPatternFix
Missing mandatory fieldsERRORNo primary identifierAdd name or autoname
Duplicate fieldnamesFATALSame fieldname twiceUse unique fieldnames
Wrong fieldtype for dataWARNINGText for short valuesUse Data/Small Text
No permissions definedWARNINGEmpty permission listAdd role permissions

v16 Specific Validations

extend_doctype_class Pattern

# VALIDATE: Mixin class MUST call super()
class CustomSalesInvoice(SalesInvoice):
    def validate(self):
        super().validate()       # REQUIRED - never skip
        self.custom_validation()

    def on_submit(self):
        super().on_submit()      # REQUIRED - never skip
        self.custom_on_submit()

Type Annotations (v16 best practice)

# v16 recommended pattern
def get_customer_balance(customer: str) -> float:
    ...

# Validate: type hints on public API methods
@frappe.whitelist()
def process_order(order_name: str, action: str = "approve") -> dict:
    ...

Data Masking (v16)

# Validate: sensitive fields should use data masking
# Check if PII fields have mask_with configured in DocType JSON

Universal Validation Rules

Security Checks (ALL code types)

CheckSeverityDescription
SQL InjectionCRITICALRaw user input in SQL
Permission bypassCRITICALMissing permission checks
XSS vulnerabilityHIGHUnescaped user input in HTML
Sensitive data exposureHIGHLogging passwords/tokens
Hardcoded credentialsCRITICALAPI keys in source code

Performance Checks (ALL code types)

CheckSeverityDescription
Query in loopHIGHfrappe.db.* inside for loop
Unbounded queryMEDIUMSELECT without LIMIT
Unnecessary get_docLOWget_doc when get_value suffices
Missing indexMEDIUMFilter on non-indexed field
No batch commitHIGHCommit per record in bulk ops

Error Handling Checks (ALL code types)

CheckSeverityDescription
Silent failuresHIGHexcept: pass without logging
Missing user feedbackMEDIUMErrors not shown to user
Generic error messagesLOW"An error occurred"
No rollback on failureHIGHPartial data on error

Validation Report Format

ALWAYS generate reports in this format:

## Code Validation Report

### Code Type: [type]
### Target: [DocType / App / File]
### Event/Trigger: [if applicable]

### CRITICAL ERRORS (Must Fix)
| # | Line | Issue | Fix |
|---|------|-------|-----|

### WARNINGS (Should Fix)
| # | Line | Issue | Recommendation |
|---|------|-------|----------------|

### SUGGESTIONS (Nice to Have)
| # | Line | Suggestion |
|---|------|------------|

### Corrected Code
[If critical errors found, provide corrected version]

### Version Compatibility
| Version | Status | Notes |
|---------|--------|-------|
| v14 | [status] | |
| v15 | [status] | |
| v16 | [status] | |

### Referenced Skills
- frappe-skill-name: [what was validated against]

Validation Depth Levels

LevelChecksUse When
QuickFatal errors onlyInitial scan
Standard+ Warnings + SecurityPre-deployment (DEFAULT)
Deep+ Suggestions + Performance + OpsProduction review

Skill Catalog Cross-Reference

This validator validates against ALL 61 frappe-* skills:

Syntax Validation (11 skills)

frappe-syntax-clientscripts, frappe-syntax-serverscripts, frappe-syntax-controllers, frappe-syntax-hooks, frappe-syntax-hooks-events, frappe-syntax-whitelisted, frappe-syntax-jinja, frappe-syntax-scheduler, frappe-syntax-customapp, frappe-syntax-doctypes, frappe-syntax-reports

Implementation Validation (12 skills)

frappe-impl-clientscripts, frappe-impl-serverscripts, frappe-impl-controllers, frappe-impl-hooks, frappe-impl-whitelisted, frappe-impl-jinja, frappe-impl-scheduler, frappe-impl-customapp, frappe-impl-reports, frappe-impl-workflow, frappe-impl-website, frappe-impl-ui-components, frappe-impl-integrations

Error Pattern Validation (7 skills)

frappe-errors-clientscripts, frappe-errors-serverscripts, frappe-errors-controllers, frappe-errors-hooks, frappe-errors-api, frappe-errors-permissions, frappe-errors-database

Core Pattern Validation (7 skills)

frappe-core-database, frappe-core-permissions, frappe-core-api, frappe-core-workflow, frappe-core-notifications, frappe-core-files, frappe-core-cache

Ops Validation (8 skills)

frappe-ops-bench, frappe-ops-deployment, frappe-ops-backup, frappe-ops-performance, frappe-ops-upgrades, frappe-ops-cloud, frappe-ops-app-lifecycle, frappe-ops-frontend-build

Testing Validation (2 skills)

frappe-testing-unit, frappe-testing-cicd

Quick Validation Commands

Server Script: 5-point check

  1. Any import statements? --> FATAL
  2. Any self. references? --> FATAL (use doc.)
  3. Any try/except? --> WARNING (usually wrong)
  4. Uses frappe.throw() for validation? --> GOOD
  5. Uses doc.field for access? --> GOOD

Client Script: 5-point check

  1. Any frappe.db.* calls? --> FATAL
  2. Any frappe.get_doc() calls? --> FATAL
  3. frappe.call() without callback? --> FATAL
  4. Uses frm.doc.field for access? --> GOOD
  5. Uses frm.refresh_field() after changes? --> GOOD

Controller: 5-point check

  1. Modifying self.* in on_update? --> FATAL
  2. Missing super().method() calls? --> ERROR
  3. self.save() in lifecycle hook? --> FATAL
  4. Imports at top of file? --> GOOD
  5. Error handling for external calls? --> GOOD

hooks.py: 5-point check

  1. Valid Python syntax? --> Check
  2. Function paths exist? --> Check
  3. v16-only hooks marked? --> Check
  4. required_apps complete? --> Check
  5. Fixture filters present? --> Check

Bench/Ops: 5-point check

  1. bench migrate after changes? --> REQUIRED
  2. Backup before destructive ops? --> REQUIRED
  3. Scheduler enabled? --> Check
  4. Workers running? --> Check
  5. SSL configured (production)? --> Check

See references/checklists.md for complete checklists. See references/examples.md for validation examples.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

33.28%
按下载量换算62

Claude

31.76%
按下载量换算59

Cursor

17.71%
按下载量换算33

Gemini CLI

8.91%
按下载量换算17

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills