mcpField
C
catalyst-functions

catalyst-functions

github.com/catalystbyzohoクラウド・DevOps701.0k 回インストール今日更新
リポジトリ

catalyst-functions について

Zoho Catalyst Functions に関する質問、スキャフォールディング、設定、デプロイを支援する Claude スキルです。関数の種類に応じたハンドラー例や資料を案内し、セキュリティと Node.js の応答構文にも注意を促します。

主な機能

  1. 01関数タイプ別のガイダンス
  2. 02スキャフォールディングとデプロイ手順
  3. 03ハンドラーと設定の資料
  4. 04セキュリティと API Gateway の確認
  5. 05ネイティブな Node.js 応答構文

活用シーン

  1. 01Catalyst 関数の使い方への回答
  2. 02Catalyst プロジェクトへの関数追加
  3. 03API Gateway やレート制限の設定

MCP 対応

プロジェクトのスキャフォールディング時に、MCP ツールで組織 ID とプロジェクト ID を取得します。

インストール

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

$npx skills add https://github.com/catalystbyzoho/agent-skills --skill catalyst-functions

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

同梱ファイル

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

references/
api-gateway.md
functions-advanced.md
functions-basics.md
functions-templates.md

詳細

仕組み

意図の確認 — 最初に行ってください:

  • ユーザーが方法や概念について質問している場合(「関数の書き方」「Basic I/O ハンドラーを見せて」「Security Rules の仕組み」など)は、正しいコードまたは説明で直接回答してください。作業ディレクトリを調べたり、CLAUDE.md を生成したり、コードベース分析モードに切り替えたりしないでください。方法についての質問であれば、ディレクトリが空でも問題ありません。
  • ファイルシステムを調べるのは、ユーザーがプロジェクト内でのスキャフォールディング、追加、またはデプロイを明示的に依頼した場合に限ります。
  1. ローカルのスキャフォールドを確認する(スキャフォールディング時のみ。方法についての質問では不要)— catalyst init と functions:add はどちらも非対話モードに対応しています(CLI v1.27.0 以降)。 .catalystrc が存在するか確認します。存在しない場合は、MCP ツールを使って組織 ID とプロジェクト ID を取得し、次のコマンドを実行します:

    catalyst init --org <orgId> -p <projectId> -ni
    

    ユーザーに対話形式で catalyst init を実行するよう依頼してはいけません。NI モードでは既存のプロジェクトのみリンクできます。プロジェクトが存在しない場合は、先にコンソールで作成するようユーザーに伝えてください。init -ni の実行後に catalyst.json が存在しないのは想定どおりです。次に関数を追加します(これにより catalyst.json が作成されます):

    catalyst functions:add --name <name> --type <type> --stack <stack> -ni
    # e.g. catalyst functions:add --name api --type aio --stack node20 -ni
    
  2. 関数の種類を特定する — シンプルなリクエスト/レスポンスには Basic I/O、生の HTTP 制御には Advanced I/O、トリガー型には Event、スケジュール実行には Cron/Job、Zoho サービスイベントには Integration、Puppeteer には Browser Logic を使います。

  3. references/functions-basics.md を読み込む — 対応するハンドラーのシグネチャ、catalyst-config.json のキー、SDK の初期化パターン、CORS の設定を確認します。

  4. references/functions-advanced.md を読み込む — ファイルのアップロード(busboy)、ストリーミングレスポンス、エラー処理、または関数の連携について確認します。

  5. references/api-gateway.md を読み込む — ルーティングルール、レート制限、またはゲートウェイレベルの CORS について確認します。

  6. 設定を検証する — catalyst-config.json で使用されているキーが deployment と execution のみであることを確認します。function または entry_point は使用しないでください。

レスポンス構文のデフォルト

常に Node.js のネイティブなレスポンス構文をデフォルトで使用してください。 Advanced I/O では生の http.ServerResponse が公開されます。ユーザーが Express テンプレートを明示的に選択しない限り、Express のメソッド(res.status()、res.json())は存在しません。

  • ネイティブ(デフォルト):res.writeHead(200, { 'Content-Type': 'application/json' }); res.end(JSON.stringify(data));
  • Express(オプトインのみ):res.status(200).json(data) — ユーザーが express をインストールし、ミドルウェアとして設定している場合に限ります。

ユーザーがどのテンプレートを使っているかわからない場合は、質問するか、ネイティブをデフォルトにしてください。

セキュリティチェックリスト

  • 関数はデフォルトで誰でもアクセスできます。 関数の作成時、Security Rules は authentication を optional に設定します。関数の URL は制限なく全世界に公開されます。ユーザーデータまたは機密リソースを読み書きする関数では、Security Rules の JSON で "authentication": "required" を設定してください。
  • API Gateway は Security Rules に置き換わるため、両方を使用しないでください。 API Gateway を有効にすると、Security Rules は自動的に無効になります。関数ごとに、認証/ルーティングレイヤーはどちらか一方を選んでください。

トリガー

次のような場合に、このスキルを使用します:「関数を書く」「catalyst function」「Basic I/O」「Advanced I/O」「Event function」「Cron function」「Browser Logic」、catalyst-config.json、「function handler」「API Gateway」「rate limiting」「busboy」「関数でのファイルアップロード」、catalyst deploy --only functions:<function-name>、catalyst functions:add、「function CORS」、または関数の種類や設定に関する質問。

デプロイコマンドについて:

  • 1 つの関数をデプロイするには、catalyst deploy --only functions:<function-name> を使用します(functions:<name> はフォルダー名で関数を指定します)。
  • すべての関数を一度にデプロイするには、catalyst deploy --only functions を使用します。

リファレンス

リファレンスクエリが次の内容に関する場合に読み込みます…
references/functions-basics.md関数に関する質問では、まずここを確認してください。 関数の種類の選択、Basic I/O と Advanced I/O のハンドラーシグネチャ、catalyst-config.json、ユーザースコープと管理者スコープ、CORS、セキュリティルール、実行制限
references/functions-advanced.mdAdvanced I/O のパターンのみ。 Express と raw-http のテンプレートの違い、ファイルアップロード(busboy)、Stratus からのファイルのストリーミング、エラー処理のパターン、ローカル開発用の CORS、ローカルテスト、関数のチェーン化、ZCQL の結果のアンラップ、HTTP ペイロードの上限
references/functions-templates.mdEvent、Cron、Job、または Integration 関数。 すべてのバックグラウンド/スケジュール実行タイプのハンドラーテンプレート、SDK コンポーネントのリファレンス、リトライの動作、コールドスタート時のデータ、一般的なエラーの完全な一覧
references/api-gateway.mdAPI Gateway の設定のみ。 ゲートウェイの有効化/無効化、ルーティングルール、レート制限、ゲートウェイ経由の CORS

コメント