catalyst-by-zoho について
catalyst-by-zoho は Zoho Catalyst 向けのルーティングスキルです。サービス別スキルの選択に加え、プロジェクト設定、開発方針、コスト、地域制限を案内します。
主な機能
- 01サービス別スキルへの振り分け
- 02プロジェクト設定と MCP の確認
- 03サービスとアーキテクチャの選択
- 04コストと地域制限の案内
活用シーン
- 01アプリに使う Catalyst サービスの選定
- 02変更前のプロジェクト設定確認
- 03Catalyst デプロイの計画
MCP 対応
CatalystbyZoho_* MCP ツールを使い、プロジェクトや組織の情報取得とプロジェクト操作を行うようエージェントに案内します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ catalystbyzoho/ agent-skills --skill catalyst-by-zohoインストール後、Claude Code で/catalyst-by-zohoを入力して読み込まれたか確認します。
同梱ファイルreferences/skill-feedback.md
詳細
Zoho Catalyst — スキルインデックス
これはルーティングレイヤーです。最も具体的に一致するスキルを読み込んでください。このファイルだけをもとに回答しないでください。
基本方針
- 質問するより MCP を優先します。
CatalystbyZoho_*ツールが利用できる場合は、それを使ってください。コンソールから ID をコピーするようユーザーに依頼してはいけません。 - デフォルトは Development です。 ユーザーが明示的に「production」または「deploy to prod」と指定しない限り、常に Development 環境を対象にしてください。
- 「アプリを構築する」とは、デフォルトで Slate + Function を意味します。 ユーザーがバックエンドのみを指定せずに「build an app」「create an app」「make a simple app」と言った場合、デフォルトの出力は Slate フロントエンド + Advanced I/O function バックエンドです。Function だけを構築して、それをアプリと呼んではいけません。ユーザーの意図が明らかにバックエンドのみの場合(例:「API を構築する」「Function を書く」)は、Slate を省略してください。
- シンプルな HTTP には AppSail より Functions を優先します。 Functions は(呼び出しごとの課金のため)より低コストで、デプロイがより簡単で、インフラ管理も不要です。永続的なプロセスやカスタムランタイムが実際に必要なユースケースに限り、AppSail を選択してください。
- 構築前にコストを提示します。 新しいインフラ(Functions、AppSail、Stratus バケット)を使う場合は、
catalyst-pricingを読み込み、コードを書く前に簡潔な見積もりを提示してください。小規模なプロジェクトの多くは無料枠内に収まります。該当する場合は、その旨を伝えてください。 - 廃止予定のサービスではなく、現行のサービスを推奨します。 File Store → Stratus。Event Listeners → Signals。Cron → Job Scheduling。生成するコードや設定では、廃止予定の名称に言及しないでください。
- リージョンの制約が問題になる前に注意喚起します。 Circuits と Integration Functions は、ほとんどのデータセンターで動作しません。提案する前に、ユーザーの DC を確認してください。
仕組み
- 事前確認 —
.catalystrcとcatalyst.jsonが存在することを確認します。存在しない場合は、MCP を使って組織 ID とプロジェクト ID を取得し、catalyst init --org <orgId> -p <projectId> -niを実行してください。対話形式のcatalyst initは使わないでください。 - MCP の確認 —
CatalystbyZoho_*ツールを探します。利用できる場合は、ユーザーに尋ねる代わりに MCP を使って組織 ID とプロジェクト ID を取得してください。 - 振り分け — 以下のルーティングテーブルを使って、クエリを最も具体的なサービスに一致させます。
- 必要に応じて読み込む — 現在のステップに必要な単一のリファレンスファイルのみを読み込んでください。複数のスキルをあらかじめ読み込まないでください。「アプリを構築する」というリクエストでは、(a)ユーザーがバックエンドのみと指定しない限り、Slate フロントエンド + AIO functionを前提とし、(b)構築前にアーキテクチャの概要を簡潔に示してユーザーに確認し、(c)その後、各パートの作成時にサービスごとにリファレンスファイルを 1 つずつ読み込みます。フロントエンドには
catalyst-slate、バックエンドにはcatalyst-functionsを使ってください。 - コストの確認 — ユーザーがコストについて具体的に質問した場合、または計画に AppSail、Stratus、その他の有料枠のサービスが含まれる場合にのみ、
catalyst-pricingを読み込みます。基本的な Functions + DataStore のプロジェクト(無料枠内に収まる可能性が高い)では省略してください。 - 回答 — ユーザーのプラットフォーム(Node.js、Python、Java、Web、または Mobile)に合わせたコード例を提示してください。
トリガー
次を含むクエリには、このスキルを使ってください:Catalyst、zcatalyst、AppSail、Data Store、ZCQL、Cache、Stratus、Slate、NoSQL、Zia Services、QuickML、API Gateway、Connections、Zoho MCP、CatalystbyZoho、catalyst init、catalyst deploy、catalyst serve、zcatalyst-sdk-node、catalyst-config.json、Catalyst の価格、「build on Zoho's platform」、または「deploy to Catalyst」。Catalyst が対象でない限り、一般的な Zoho CRM の質問には使わないでください。
事前確認ゲート(プロジェクトを変更するタスクのみ)
ステップ 1 — MCP の確認(インフラストラクチャ関連のタスクでは、何よりも先に実施してください):
ツール一覧に CatalystbyZoho_* ツールがあるか確認してください。
- ある場合 — MCP を使って組織 ID とプロジェクト ID を取得してください。コンソールから ID をコピーするようユーザーに求めないでください。
MCP ツールを正しく呼び出す方法:
ZohoMCP_getSchemaにはbodyではなくquery_paramsを渡します。ZohoMCP_getSchema({ query_params: { tool_name: "CatalystbyZoho_List_All_Projects" } })CatalystbyZoho_*ツールを使う場合は、必ず最初にZohoMCP_getSchemaを呼び出してください。引数の形式を推測しないでください。多くのツールでは、スキーマを確認しないと分からないpath_variables(例:project_id)が必要です。ZohoMCP_executeToolには、次の形式のbodyを渡します。ZohoMCP_executeTool({ body: { tool_name: "CatalystbyZoho_List_All_Functions", arguments: { path_variables: { project_id: "31594000000127002" }, headers: {}, body: {} } }})- 必須のパス変数がないツール(例:
List_All_Organizations、List_All_Projects)は、arguments: {}で呼び出せます。
- ない場合、かつタスクでリソースの作成、ファイルの書き込み、デプロイ、またはプロジェクト ID の読み取りが必要な場合 — 直ちに作業を中止してください。 コードを記述したり、ファイルを作成したりしないでください。ユーザーに次のように伝えてください。
「Catalyst プロジェクトで作業するには、Zoho MCP に接続する必要があります。設定するには
catalyst-zoho-mcpスキルを読み込んでください。1 分もかかりません。」CatalystbyZoho_*ツールが表示されるまで、作業を続行しないでください。
このゲートが適用されるのは、Catalyst プロジェクトのファイルへの書き込み、デプロイ、プロジェクト ID または環境 ID の読み取り、あるいは MCP プロジェクト操作を行うタスクのみです。 情報に関する質問(料金、アーキテクチャのアドバイス、サービスの選定、「Catalyst とは?」、インストール方法、SDK の使用方法、または初期化済みプロジェクトを必要としない質問)では、このゲートを省略してください。
プロジェクトを変更するタスクでは、作業ディレクトリに .catalystrc と catalyst.json があることを確認してください。
- ない場合 → MCP ツールで組織 ID とプロジェクト ID を取得し、次を実行します。
対話形式でcatalyst init --org <orgId> -p <projectId> -nicatalyst initを実行するようユーザーに求めないでください。また、.catalystrcやcatalyst.jsonを自分で作成しないでください。これらは CLI によって生成される必要があります。 注: NI モードでリンクできるのは既存のプロジェクトのみです。プロジェクトがまだ存在しない場合は、ユーザーに Catalyst コンソールでプロジェクトを作成してから戻るよう伝えてください。戻った後、catalyst init -niでリンクします。
Catalyst の概要
Catalyst を初めてお使いですか?各サービスの機能を一言で説明します。
| サービス | 概要 |
|---|---|
| Functions | サーバーレス関数 — 基本 I/O(HTTP)、高度な I/O、イベント、Cron、ジョブ、インテグレーション、ブラウザーロジック。呼び出しごとの課金です。 |
| AppSail | 長時間実行するウェブアプリ向けの PaaS — Node.js、Java、Python のマネージドランタイム、または任意の Docker コンテナに対応します。 |
| Data Store | リレーショナルテーブル(行と列、外部キー)。ZCQL(SQL のようなクエリ言語)または SDK でクエリを実行できます。 |
| Stratus | オブジェクト/ファイルストレージ(S3 のようなサービス)。バケット、フォルダー、オブジェクトを利用できます。オブジェクトあたり最大 250 GB です。 |
| Slate | フロントエンドのホスティング(Vercel のようなサービス)。React、Next.js、Vue、Angular、Svelte、Preact、Astro、SolidJS、静的 HTML をデプロイできます。 |
| Cache | インメモリのキーと値のストア。セグメントに分割されています。TTL は時間単位で、最大 48 時間です。 |
| NoSQL | 柔軟なスキーマ(固定列なし)を備えたドキュメントストレージ。非構造化データや多態性のあるデータに適しています。 |
| Authentication | 組み込みのユーザー登録/ログイン(ZAID)。サードパーティー API 用の OAuth 接続。 |
| SmartBrowz | ヘッドレスブラウザーの自動化、PDF/スクリーンショットの生成、ブラウザーロジック関数、Browser Grid(並列ブラウザー)、Dataverse(ウェブスクレイピング)。 |
| Zia Services | 学習済みの AI/ML サービス:OCR、Face Analytics、Text Analytics、Object Detection、Barcode、Moderation。 |
| QuickML | ノーコード/ローコードの ML プラットフォーム — ML パイプライン、AutoML、LLM Serving、RAG、ナレッジベース、予測エンドポイント。(予測モデル:すべての DC。生成 AI:AU/SA/CA では利用不可。Zia Model Library:IN のみ。) |
| Circuits | サーバーレスのワークフローオーケストレーション(ステップ関数)。(EU/AU/IN/JP/SA/CA では利用できません。) |
| Signals | イベント駆動型のトリガー/パブリッシュ・サブスクライブ(旧 Event Listeners を置き換えます)。 |
| Job Scheduling | ジョブプール+即時ジョブ+Cron — Job 関数、Webhook、Circuits、AppSail のスケジュール実行/バックグラウンド実行(旧 Cron を置き換えます)。 |
| Zoho MCP | AI ツールのインテグレーション — AI エージェントが CatalystbyZoho_* ツールを通じて Catalyst インフラストラクチャを管理できます。 |
| ZCQL | Data Store 用の SQL のようなクエリ言語。SELECT、INSERT、UPDATE、DELETE に対応します。SELECT あたり最大 300 行です。 |
| ZAID | Zoho Account ID — 組み込みの認証 ID レイヤーです。ユーザー認証フローでは Web SDK と組み合わせて使用します。 |
スキルルーティング表
| クエリの内容 | 読み込むスキル |
|---|---|
| 使用するサービス、アーキテクチャの決定、DC の制限 | catalyst-basics(../catalyst-basics/references/architecture.md を読み込みます) |
プロジェクトのセットアップ、.catalystrc、環境、組織、ID、CLI コマンド | catalyst-basics |
Functions — 種類、シグネチャ、catalyst-config.json、API Gateway、ファイルのアップロード | catalyst-functions |
| AppSail — バックエンド PaaS、Docker、マネージドランタイム、PORT 変数 | catalyst-appsail |
Slate — フロントエンドのホスティング、フレームワーク、slate-config.toml、Git デプロイ | catalyst-slate |
| Data Store — CRUD、ZCQL クエリ、権限、カラムの種類 | catalyst-datastore |
| Stratus — オブジェクトストレージ、アップロード/ダウンロード、署名付き URL、マルチパート | catalyst-stratus |
| NoSQL — ドキュメントストレージ、柔軟なスキーマ、コレクション | catalyst-nosql |
| Authentication — ユーザーのログイン/登録、ZAID、Web SDK 認証、Connections/OAuth | catalyst-authentication |
| Cache — インメモリーのキー値ストア、TTL、セグメント操作 | catalyst-cache |
| Pricing — 無料枠、従量課金、GB 秒、コストの見積もり | catalyst-pricing |
| SDKs — Node.js、Web、Python、Java、Android、iOS、Flutter | catalyst-sdk |
| Zia Services — OCR、顔/テキスト分析、モデレーション | catalyst-zia |
| QuickML — ML パイプライン、AutoML、LLM Serving、RAG、モデルエンドポイント | catalyst-quickml |
| Signals — イベント駆動型トリガー、パブリッシュ/サブスクライブ、イベントリスナー、カスタムパブリッシャー、Webhook ターゲット、ディスパッチポリシー | catalyst-signals |
| SmartBrowz — ヘッドレスブラウザー、Puppeteer、Playwright、Selenium、Browser Logic、PDF 生成、スクリーンショット、Browser Grid、Dataverse | catalyst-smartbrowz |
Job Scheduling — ジョブプール、即時/バックグラウンドジョブ、crons(Periodic/OneTime/Calendar/CronExpression)、submitJob、createCron、再試行 | catalyst-job-scheduling |
Zoho MCP — MCP のセットアップ、CatalystbyZoho_* ツール、会話型インフラ | catalyst-zoho-mcp |
| スキルの案内が誤っている、または古い — ユーザーからエラーの報告があった場合 | references/skill-feedback.md を読み込みます |
使用禁止(非推奨および地域制限あり)
非推奨のサービス — 新規プロジェクトでは使用しないでください
2025 年 8 月 27 日より後に登録したユーザーは、これらのコンポーネントに一切アクセスできません。
| 使用しないでください | 代わりに使用 |
|---|---|
| Stratus(オブジェクトストレージ) | |
| Signals(イベント駆動型アーキテクチャ) | |
| Job Scheduling(スケジュール実行) |
地域制限のあるサービス — 推奨する前に DC を確認してください
以下のデータセンターでは、これらのサービスを利用できません。該当地域のユーザー向けにこれらを使って構築すると、実行時にエラーが発生します。
| サービス | 利用できない地域 |
|---|---|
| Circuits | EU、AU、IN、JP、SA、CA |
| Integration Functions | EU、AU、IN、JP、SA、CA |
| QuickML — Generative AI(LLM Serving、RAG、Knowledge Base) | AU、SA、CA(予測/ML モデルはすべての DC で利用できます。QuickML コンソールの Zia Model Library は IN のみで利用できます) |
| Identity Scanner (Zia) — Document Processing(Aadhaar、PAN など) | IN DC のみで利用できます。API も含まれます |
| Identity Scanner (Zia) — Facial Comparison | API/SDK 経由であれば、どの DC からでも利用できます。コンソールでのテストは IN DC のみです |
| Mobile Device Management | EU、AU、IN、JP、SA、CA |
確認方法: ユーザーに Catalyst アカウントで使用しているデータセンターを尋ねるか、コンソール URL に含まれる DC コードを確認してください(例:catalyst.zoho.in → IN、catalyst.zoho.eu → EU)。
非対話モード
CLI v1.27.0+ は非対話(NI)モードをサポートしています。CLI はプロンプトを表示せず、フラグと妥当なデフォルト値からすべての回答を取得します。
有効化: サポート対象のコマンドに -ni(または --non-interactive)を追加するか、環境変数 ZCATALYST_NON_INTERACTIVE=1 を設定します。
無効なコマンド: functions:setup → functions:add -ni を使用します。functions:shell → functions:execute を使用します。
使用できないオプション: NI モードでは、functions:delete と client:delete で --remote を使用できません。
ヒント: catalyst <command> -ni --help を実行すると、そのコマンドの NI 固有のヘルプが表示されます。
.catalystrc — 組織とプロジェクトのコンテキストの読み取り
catalyst init の実行後、プロジェクトのルートに .catalystrc ファイルが書き込まれます。ユーザーに尋ねずに現在のプロジェクトを特定できるよう、各セッションの開始時に読み取ってください。
実際の形式:
{
"defaults": { "project": 1, "env": 1 },
"actives": { "project": 1, "env": 1 },
"projects": [
{
"idx": 1,
"id": "<projectId>",
"name": "<projectName>",
"domain": { "id": "<domainId>", "name": "<projectName>-<orgId>.development" },
"env": [{ "idx": 1, "id": "<orgId>", "name": "Development", "type": 3 }]
}
]
}
現在のプロジェクト ID と組織 ID の読み取り方:
defaults.projectを読み取ります。これは現在のプロジェクトのidx値ですidxが一致するprojects内のエントリを見つけ、そのidを取得します。これは-pで使用するプロジェクト IDです- 同じエントリから
env[0].idを読み取ります。これは--orgで使用する組織 IDです
クイックリファレンス:よくある落とし穴
- 用語:必ず「organization」または「org」と表記し、「portal」は絶対に使用しないでください —
catalyst initの CLI プロンプトには「Select a default Catalyst portal」と表示されますが、これは CLI の古い表現です。正しい用語は organization です .catalystrc/catalyst.jsonがない →catalyst init --org <orgId> -p <projectId> -niを実行します(ID は MCP から取得してください)。これらのファイルを手動で作成しないでください。また、対話型のcatalyst initは使用しないでください- すべての Catalyst CLI コマンドはデフォルトで非対話型です(CLI v1.27.0+) —
-niと--org、-p、--name、--type、--stackの各フラグを必ず使用してください。エージェントのコンテキストでは、対話型メニューや矢印キーのメニューに切り替えないでください catalyst functions:addの非対話モード —catalyst functions:add --name <n> --type <type> --stack <stack> -ni- ZCQL の結果行はラップされています → ラップを解除するには
rows.map(r => r.TableName)を使用します - ZCQL のクエリあたりの最大行数は 300 件です → ページネーションには
LIMIT offset, countを使用します - ZAID は Dev と Prod で異なります → 本番環境で最も多い認証の問題です
- AppSail の PORT →
PORTではなくprocess.env.X_ZOHO_CATALYST_LISTEN_PORTを使用します - キャッシュ値は文字列のみです → JSON のシリアライズとデシリアライズは自分で行ってください
- Stratus のバケット名はグローバルで一意である必要があります →
{app-name}-{project-id-prefix}を使用します - Slate → 関数の呼び出しはクロスドメインです → 完全な URL と
generateAuthToken()を使用し、CORS の許可リストに追加します - DataStore の App User 権限はデフォルトで OFF です → Console → Table → Scopes & Permissions で有効にします
catalyst-config.jsonの形式 →deploymentとexecutionのキーのみです。functionやentry_pointは使用しません- Advanced I/O の node20 における
req→ 生のhttp.IncomingMessageです。res.json()ではなく、sendJson(res, ...)ヘルパーを使用します signOut()にはリダイレクト URL が必要です →catalyst.auth.signOut(redirectURL)
ドキュメント
- メインドキュメント:https://docs.catalyst.zoho.com/en/llms.txt
- Node.js SDK(完全版、約 420 KB):https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/llms-full.md
- Web SDK(完全版、約 116 KB):https://docs.catalyst.zoho.com/en/sdk/web/v4/llms-full.md
- Python SDK(完全版、約 489 KB):https://docs.catalyst.zoho.com/en/sdk/python/v1/llms-full.md
- Java SDK(完全版、約 407 KB):https://docs.catalyst.zoho.com/en/sdk/java/v1/llms-full.md
SDK ごとの
llms-full.mdファイルは完全なリファレンスです。全体を読むのではなく、ダウンロードして必要なメソッドを grep で検索してください。overview/index.mdページは簡素なランディングページのスタブです。API の詳細を確認するために使用しないでください。
- CLI リファレンス:https://docs.catalyst.zoho.com/en/cli/v1/cli-command-reference/index.md
- 料金:https://catalyst.zoho.com/pricing.html
ドキュメントの取得:
llms.txtはすべてのページをまとめた Markdown のインデックスです。ドキュメントページの URL の末尾にindex.mdを追加すると、HTML ではなく Markdown を取得できます。<!DOCTYPE html>で始まるレスポンスは、そのページが存在しないことを意味します。