mcpField
F
frappe-agent-interpreter

frappe-agent-interpreter

github.com/impertio-studio開発198122 回インストール30 週間前に更新
リポジトリ

frappe-agent-interpreter について

frappe-agent-interpreterは、曖昧なFrappe/ERPNextの開発依頼を実行可能な技術仕様に整理し、61件のスキルカタログに対応付けます。実装前の要件整理に使えます。

主な機能

  1. 01業務上の意図とトリガーの抽出
  2. 02主要な観点に沿った確認質問
  3. 03実装方式の提案
  4. 04要件とスキル依存関係の対応付け
  5. 05バージョン互換性と検証基準の確認

活用シーン

  1. 01不完全なFrappe機能要件の明確化
  2. 02ワークフローの実装方式の選定
  3. 03開発前の技術要件の準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/impertio-studio/frappe_claude_skill_package --skill frappe-agent-interpreter

インストール後、Claude Code で/frappe-agent-interpreterを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
checklists.md
examples.md
workflow.md

詳細

Frappe Code Interpreter Agent

曖昧または不完全な Frappe/ERPNext の開発依頼を、61 種類のスキルカタログ全体に対応付けた、明確で実行可能な技術仕様に変換します。

目的:「ユーザーが望んでいること」と「構築すべきもの」の隔たりを埋めます。

このエージェントを使用する場面

USER REQUEST ANALYSIS
|
+-- Request is vague/incomplete
|   "Make the invoice do something when submitted"
|   --> USE THIS AGENT
|
+-- Request lacks technical specifics
|   "Add approval before order confirmation"
|   --> USE THIS AGENT
|
+-- Multiple implementation paths possible
|   "Automate inventory updates"
|   --> USE THIS AGENT
|
+-- Request has clear technical specs already
|   "Create Server Script on validate for Sales Invoice"
|   --> Skip agent, use relevant frappe-* skills directly

解釈ワークフロー

STEP 1: EXTRACT INTENT
  - What is the business problem?
  - What should happen? When? To what data?
  - Who should be affected (roles/users)?

STEP 2: IDENTIFY TRIGGER CONTEXT
  - Document lifecycle event? (save/submit/cancel)
  - User action? (button click, field change)
  - Time-based? (daily, hourly, cron)
  - External event? (webhook, API call)

STEP 3: DETERMINE MECHANISM
  - Client Script, Server Script, or Controller?
  - Hooks configuration needed?
  - Custom app required?
  - v16 extend_doctype_class applicable?

STEP 4: GENERATE SPECIFICATION
  - DocType(s), event/trigger, mechanism, data flow
  - Error handling requirements
  - Version compatibility (v14/v15/v16)

STEP 5: MAP TO SKILLS
  - List required frappe-* skills from full catalog
  - Note dependencies between skills

詳しい手順については、references/workflow.md を参照してください。

メカニズム選択マトリックス

要件パターンメカニズムカスタムアプリ?
「フォーム上で自動計算する」Client Script + Server Scriptいいえ
「保存前に検証する」Server Script (validate)いいえ
「送信後に通知を送る」Server Script (on_submit)いいえ
「フォームにボタンを追加する」Client Scriptいいえ
「定期レポート/同期」hooks.py scheduler_eventsはい
「ユーザーごとにリストを絞り込む」Server Script (Permission Query)いいえ
「カスタム REST API」Server Script (API) または @frappe.whitelist()場合による
「ロールバックを伴う複雑なトランザクション」Controllerはい
「外部ライブラリが必要(requests)」Controllerはい
「承認ワークフロー」組み込みの Workflow + 任意の Server Scriptいいえ
「印刷書式のカスタマイズ」Jinja template (Print Format)いいえ
「カスタムレポート」Script Report または Query Report場合による
「バックグラウンド処理」frappe.enqueue()はい
「ファイルアップロードの処理」Controller + File hooksはい
「キャッシュの無効化」Cache API + hooksはい
「ウェブサイト/ポータルページ」Web template + routingはい
「UI コンポーネント(ダッシュボードなど)」Page または Custom Pageはい

確認事項のフレームワーク

1. WHAT に関する質問
  • 関連する DocType は何ですか?
  • 変更する必要があるデータは何ですか?
  • どのような結果にすべきですか?
2. WHEN に関する質問
  • フォームの読み込み時ですか?フィールドの変更時ですか?保存の前後ですか?
  • 送信の前後ですか?スケジュール実行ですか?ボタンのクリック時ですか?
3. WHO に関する質問
  • すべてのユーザーですか?特定のロールですか?ドキュメントの所有者のみですか?
4. WHERE に関する質問
  • フォーム内(UI)ですか?データベースのみですか?レポートですか?外部システムですか?
5. ERROR に関する質問
  • 操作をブロックしますか?警告を表示しますか?通知せずにログに記録しますか?
6. VERSION に関する質問(v16 に関する検討事項)
  • 単一バージョンを対象にしますか、それとも複数バージョンとの互換性が必要ですか?
  • extend_doctype_class(v16)を使用できますか、それとも doc_events(v14+)が必要ですか?
  • 型アノテーションが必要ですか?(v16 のベストプラクティス)

出力仕様テンプレート

必ず次の形式で仕様を生成してください。

## Technical Specification

### Summary
[One sentence describing what will be built]

### Business Requirement
[Original user request, clarified]

### Implementation

| Aspect | Value |
|--------|-------|
| **DocType(s)** | [List] |
| **Trigger** | [Event/action] |
| **Mechanism** | [Client Script / Server Script / Controller / etc.] |
| **Version** | [v14 / v15 / v16 / all] |

### Data Flow
1. [Step 1]
2. [Step 2]

### Error Handling
[Strategy]

### Required Skills
- [ ] frappe-skill-name - for [purpose]

### Validation Criteria
[How to verify it works]

スキルカタログ全体(61 スキル)

構文レイヤー(11 スキル)
スキル用途
frappe-syntax-clientscriptsClient Script の JS 構文
frappe-syntax-serverscriptsServer Script の Python サンドボックス構文
frappe-syntax-controllersController クラスの構文
frappe-syntax-hookshooks.py 設定の構文
frappe-syntax-hooks-eventsドキュメントイベントフックの構文
frappe-syntax-whitelisted@frappe.whitelist() の構文
frappe-syntax-jinjaJinja テンプレートの構文
frappe-syntax-schedulerScheduler/enqueue の構文
frappe-syntax-customappアプリ構造の構文
frappe-syntax-doctypesDocType JSON 定義の構文
frappe-syntax-reportsレポート定義の構文
コアレイヤー(7 スキル)
スキル用途
frappe-core-databaseデータベース操作、ORM、raw SQL
frappe-core-permissions権限システム、ロール、ルール
frappe-core-apiREST API、リソース API
frappe-core-workflowワークフローエンジン、状態、遷移
frappe-core-notificationsメール、プッシュ通知、システム通知
frappe-core-filesファイルのアップロード、添付、ストレージ
frappe-core-cacheRedis キャッシュ、キャッシュの無効化
実装レイヤー(12スキル)
スキル用途
frappe-impl-clientscriptsClient Script の実装パターン
frappe-impl-serverscriptsServer Script の実装パターン
frappe-impl-controllersController の実装パターン
frappe-impl-hooksHook の実装パターン
frappe-impl-whitelistedホワイトリスト登録メソッドのパターン
frappe-impl-jinjaJinja テンプレートのパターン
frappe-impl-schedulerスケジュールタスク/バックグラウンドジョブのパターン
frappe-impl-customappカスタムアプリ開発のワークフロー
frappe-impl-reportsレポート作成のパターン
frappe-impl-workflowワークフローの実装パターン
frappe-impl-websiteWebサイト/ポータルの開発
frappe-impl-ui-componentsUI コンポーネントのパターン
frappe-impl-integrations外部システムとの連携
エラーレイヤー(7スキル)
スキル用途
frappe-errors-clientscriptsClient Script のエラーパターン
frappe-errors-serverscriptsServer Script のエラーパターン
frappe-errors-controllersController のエラーパターン
frappe-errors-hooksHook のエラーパターン
frappe-errors-apiAPI のエラーパターン
frappe-errors-permissions権限エラーのパターン
frappe-errors-databaseデータベースエラーのパターン
運用レイヤー(8スキル)
スキル用途
frappe-ops-benchBench CLI コマンド
frappe-ops-deployment本番環境へのデプロイ
frappe-ops-backupバックアップと復元
frappe-ops-performanceパフォーマンスの調整
frappe-ops-upgradesバージョンアップグレードの手順
frappe-ops-cloudクラウドホスティング(FC、AWS など)
frappe-ops-app-lifecycleアプリのバージョン管理とリリース
frappe-ops-frontend-buildフロントエンドアセットのビルド
テストレイヤー(2スキル)
スキル用途
frappe-testing-unit単体テストと統合テスト
frappe-testing-cicdCI/CD パイプラインのセットアップ
エージェントレイヤー(5スキル)
スキル用途
frappe-agent-interpreterこのスキル — 要件の解釈
frappe-agent-validatorデプロイ前のコード検証
frappe-agent-debuggerFrappe の問題のデバッグ
frappe-agent-migratorデータ移行の計画
frappe-agent-architectアーキテクチャの意思決定

スキルの依存関係マップ

メカニズム必須スキル
Client Scriptfrappe-syntax-clientscripts、frappe-impl-clientscripts、frappe-errors-clientscripts
Server Script(Doc Event)frappe-syntax-serverscripts、frappe-impl-serverscripts、frappe-errors-serverscripts
Server Script(API)frappe-syntax-serverscripts、frappe-core-api、frappe-errors-api
Server Script(Scheduler)frappe-syntax-serverscripts、frappe-syntax-scheduler、frappe-impl-scheduler
Server Script(Permission)frappe-syntax-serverscripts、frappe-core-permissions、frappe-errors-permissions
Controllerfrappe-syntax-controllers、frappe-impl-controllers、frappe-errors-controllers
Hooksfrappe-syntax-hooks、frappe-impl-hooks、frappe-errors-hooks
カスタムアプリfrappe-syntax-customapp、frappe-impl-customapp、frappe-ops-bench
Jinja テンプレートfrappe-syntax-jinja、frappe-impl-jinja
データベース操作frappe-core-database、frappe-errors-database
ホワイトリスト登録メソッドfrappe-syntax-whitelisted、frappe-impl-whitelisted
ワークフローfrappe-core-workflow、frappe-impl-workflow
レポートfrappe-syntax-reports、frappe-impl-reports
Webサイト/ポータルfrappe-impl-website、frappe-syntax-jinja
連携frappe-impl-integrations、frappe-impl-customapp
バックグラウンドジョブfrappe-impl-scheduler、frappe-syntax-scheduler
テストfrappe-testing-unit、frappe-testing-cicd
デプロイfrappe-ops-deployment、frappe-ops-bench

よくあるパターンの認識

ユーザーの表現メカニズム主なスキル
"auto-calculate", "automatically fill"クライアントスクリプト + サーバースクリプトfrappe-impl-clientscripts, frappe-impl-serverscripts
"validate", "check before save"サーバースクリプト(validate)frappe-impl-serverscripts
"prevent", "block", "don't allow"サーバースクリプト + frappe.throw()frappe-errors-serverscripts
"send email", "notify"サーバースクリプトまたは通知frappe-core-notifications
"sync", "integrate", "API"コントローラー(カスタムアプリ)frappe-impl-integrations
"every day", "schedule"スケジューラーまたは hooks.pyfrappe-impl-scheduler
"only see their own"権限クエリfrappe-core-permissions
"approval", "authorize"組み込みワークフローfrappe-core-workflow, frappe-impl-workflow
"add button", "custom action"クライアントスクリプトfrappe-impl-clientscripts
"print format", "PDF"Jinja テンプレートfrappe-impl-jinja
"report", "dashboard"スクリプト/クエリレポートfrappe-impl-reports
"deploy", "go live"デプロイワークフローfrappe-ops-deployment
"test", "CI"テストフレームワークfrappe-testing-unit
"cache", "performance"キャッシュ + 最適化frappe-core-cache, frappe-ops-performance

バージョンへの配慮

バージョンとの互換性を必ず考慮してください。

機能v14v15v16
サーバースクリプトのサンドボックスはいはいはい
extend_doctype_classいいえいいえはい
Chrome PDF レンダリングいいえいいえはい
データマスキングいいえいいえはい
UUID 命名規則いいえいいえはい
型アノテーション(ベストプラクティス)いいえいいえはい
スケジューラーティック(秒)2406060
job_id による重複排除いいえはいはい

エージェント出力チェックリスト

解釈を完了する前に、必ず次の項目を確認してください。

  • ビジネス要件が明確で曖昧さがない
  • トリガー/イベントが特定されている
  • メカニズムが根拠とともに選択されている
  • DocType が指定されている
  • データフローが文書化されている
  • エラー処理の方針が定義されている
  • バージョン互換性が記載されている(v14/v15/v16)
  • 完全なカタログから必要な frappe-* スキルが列挙されている
  • 検証基準が定義されている
  • v16 での考慮事項(extend_doctype_class、型アノテーション)が記載されている

詳細なチェックリストについては、references/checklists.md を参照してください。 解釈例については、references/examples.md を参照してください。

コメント