测试与安全

catalyst-functions

catalystbyzoho/…t-skills

Catalyst serverless functions — all 7 types (Basic I/O, Advanced I/O, Event, Cron, Job, Integration, Browser Logic), handler signatures, catalyst-config.json, Security Rules, API Gateway routing, file uploads, busboy, Express middleware, environment variables, function URL, and function testing. Requires MCP connection — check for CatalystbyZoho_* tools before any operation. Trigger on 'write a function', 'catalyst function', 'API Gateway', 'Security Rules', 'function not found', 'function returns 401', 'busboy', 'middleware', 'function URL', 'environment variable in function', 'duplicate CORS headers', 'CORS error in browser', 'Access-Control-Allow-Origin multiple values', 'function URL 404', 'execute suffix', 'function timeout', 'function hangs', or any function type question. Do NOT use for persistent servers, long-running processes, or Docker deployments — use catalyst-appsail instead.

  • 1070 次安装
  • 70 星标
  • 收录于

安装命令

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

SKILL.md

How It Works

Intent check — do this first:

  • If the user is asking a how-to or conceptual question ("how do I write a function", "show me a Basic I/O handler", "how does Security Rules work"), answer directly with the correct code or explanation. Do NOT inspect the working directory, do NOT generate a CLAUDE.md, do NOT switch into codebase-analysis mode. Empty directory = fine for how-to questions.
  • Only inspect the filesystem when the user explicitly asks to scaffold, add, or deploy something in their project.
  1. Verify local scaffold (only when scaffolding, not for how-to questions) — both catalyst init and functions:add support non-interactive mode (CLI v1.27.0+). Check whether .catalystrc exists. If missing, use MCP tools to get the org ID and project ID, then run:
    catalyst init --org <orgId> -p <projectId> -ni
    
    Never ask the user to run catalyst init interactively. NI mode can only link an existing project — if none exists, tell the user to create one in the console first. catalyst.json does not exist yet after init -ni — that is expected. Add functions next (this creates catalyst.json):
    catalyst functions:add --name <name> --type <type> --stack <stack> -ni
    # e.g. catalyst functions:add --name api --type aio --stack node20 -ni