catalyst-datastore — Claude Code skill: Catalyst Data Store work
An agent skill that walks you through ZCQL, CRUD and role permissions in the Zoho Catalyst cloud database.
npx skills add catalystbyzoho/agent-skills --skill catalyst-datastore -a claude-codeWhat catalyst-datastore does
The skill covers Catalyst Data Store: creating tables, running ZCQL queries, inserting, updating and deleting rows, role permissions and result pagination. It ships an MCP setup procedure and a reference file, references/datastore-basics.md, holding ZCQL syntax, column types and the usual failure modes.
Before any operation the skill checks that CatalystbyZoho_* tools are present. If they are not, everything stops and you set up the MCP connection first through the catalyst-zoho-mcp skill. Once the tools show up, the agent calls CatalystbyZoho_List_All_Organizations, then CatalystbyZoho_List_All_Projects to fix project context, and only then touches tables.
Two things break code quietly. ZCQL results arrive wrapped, so reading them without unwrapping, as in rows.map(r => r.TableName), gives you the wrong shape. App User write permissions are off by default: SELECT works, while INSERT, UPDATE and DELETE have to be enabled per table. A single ZCQL query also returns at most 300 rows, so larger sets need LIMIT offset, count.
What it helps with
- create a Catalyst Data Store table without clicking through the console
- write a ZCQL query and unwrap the returned rows
- enable write permissions for the App User role
- page through more than 300 rows
- pick the right column types and handle boolean values
Example prompts for the agent
- create an orders table in Catalyst Data Store
- run a ZCQL query and unwrap the result
- enable Insert and Update for App User on the orders table
How to install catalyst-datastore
1Skills CLI (Vercel)
npx skills add catalystbyzoho/agent-skills --skill catalyst-datastore -a claude-code2Manually: put the files in place
~/.claude/skills/catalyst-datastore/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/catalyst-datastore/
1Skills CLI (Vercel)
npx skills add catalystbyzoho/agent-skills --skill catalyst-datastore -a codex2Manually: put the files in place
.agents/skills/catalyst-datastore/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add catalystbyzoho/agent-skills --skill catalyst-datastore -a cursor2Manually: put the files in place
.cursor/skills/catalyst-datastore/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install catalystbyzoho/agent-skills catalyst-datastore2Manually: put the files in place
.github/skills/catalyst-datastore/SKILL.md1Skills CLI (Vercel)
npx skills add catalystbyzoho/agent-skills --skill catalyst-datastore -a gemini-cli2Platform CLI
gemini skills install https://github.com/catalystbyzoho/agent-skills --path skills/catalyst-datastoreManually: put the files in place
.devin/skills/catalyst-datastore/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add catalystbyzoho/agent-skills --skill catalyst-datastore -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about catalyst-datastore
How do I install catalyst-datastore in Claude?
Run npx skills add catalystbyzoho/agent-skills --skill catalyst-datastore -a claude-code. The skill lands in ~/.claude/skills/catalyst-datastore/SKILL.md.
What does catalyst-datastore do?
It documents working with the Zoho Catalyst cloud database: table creation, ZCQL queries, CRUD, role permissions and pagination. The agent loads it whenever it writes code that reads or writes Data Store data.
What do I need before using it?
An MCP connection exposing CatalystbyZoho_* tools. Without them the skill halts and points you to catalyst-zoho-mcp for setup.
Source text
SKILL.md · Apache-2.0
--- name: catalyst-datastore description: "Catalyst Data Store — relational cloud database with ZCQL, CRUD operations, table permissions, and result pagination. Requires MCP connection — check for CatalystbyZoho_* tools before any operation. Trigger on 'Data Store', 'ZCQL', 'create table', 'executeZCQLQuery', 'table permissions', 'ROWID', 'boolean column', 'boolean always true', 'truthy string', 'boolean stored as string', or 'DataStore data types'. You MUST load this skill whenever writing code that reads or writes Data Store data — ZCQL result wrapping, boolean-as-string behavior, and App User permissions are non-obvious and cause silent bugs if skipped." metadata: version: "2.1.1" --- ## PREREQUISITES — READ THIS FIRST **Before ANY Data Store operation, you MUST verify MCP connectivity.** - Search for `CatalystbyZoho_*` tools in your available tool list. - **If NOT found:** STOP. Do NOT write any code, scaffold files, or instruct Console steps. Load `catalyst-zoho-mcp` skill and guide the user through MCP setup. Do NOT proceed until the user confirms `CatalystbyZoho_*` tools are visible. - **If found:** Run `CatalystbyZoho_List_All_Organizations` → `CatalystbyZoho_List_All_Projects` to set project context, then continue to "How It Works". ### Execution Checklist (MUST follow in order) - [ ] Step 0: Confirm `CatalystbyZoho_*` tools visible → if none found → STOP, set up MCP first - [ ] Step 1: Run `CatalystbyZoho_List_All_Organizations` - [ ] Step 2: Run `CatalystbyZoho_List_All_Projects` - [ ] Step 3: For table creation → `CatalystbyZoho_Create_Table` | For existing tables → `CatalystbyZoho_List_All_Tables` - [ ] Step 4: Proceed with the operation --- ## How It Works 1. **Create or locate the table via MCP** — Creating a table? Use `CatalystbyZoho_Create_Table` directly. Do NOT instruct the user to open the Catalyst Console or create the table manually. Reading/writing data? Use `CatalystbyZoho_List_All_Tables` to get table IDs. Never ask the user to copy table IDs. 2. **Load `references/datastore-basics.md`** — for CRUD operations, ZCQL syntax, result unwrapping, and permissions setup. 3. **Unwrap ZCQL results** — Always remind: `rows.map(r => r.TableName)`. Raw ZCQL results are wrapped; accessing without unwrapping is the #1 Data Store bug. 4. **Permissions** — App User permissions are OFF by default. If the query involves a logged-in user reading data, check Console → Table → Scopes & Permissions. 5. **Pagination** — ZCQL max 300 rows per query. Use `LIMIT offset, count` for larger datasets. ## Hallucination Guards **Never assert project-specific values from an empty or unread directory.** If the working directory has no project files, do not invent or assume timezone, table names, project ID, environment names, or any other project-specific detail. Ask the developer to supply them. - Timezone: do not state a timezone for ZCQL date queries unless you have read it from a real project config file. Ask the developer what timezone their project uses. - Table names / column names: only use names returned by `CatalystbyZoho_List_All_Tables` or explicitly provided by the user. **Default to native Node.js response syntax.** When writing function code alongside Data Store operations, use `res.writeHead()` + `res.end()` — not Express methods (`res.status()`, `res.json()`), unless the user explicitly chose the Express template. ## Security Checklist - **App User write permissions are off by default.** The App User role has SELECT enabled by default, but INSERT, UPDATE, and DELETE must be manually enabled per table. Go to Console → Table → Scopes and Permissions → App User role → check Insert/Update/Delete for any table your authenticated users need to write. - **App Administrator has all permissions by default.** Never assign the App Administrator role to regular end-users — it grants full read/write/delete access to all tables. ## Triggers Use this skill for: "Data Store", "ZCQL", "catalyst table", "create table", "query data", `executeZCQLQuery`, "table permissions", "App User permissions", "ROWID", "CREATEDTIME", "Data Store CRUD", "JOIN in ZCQL", "pagination ZCQL", "data store column types", "insert row", "update row", "delete row", or "relational data on Catalyst". ## References | Reference | Load when the query is about… | |-----------|-------------------------------| | `references/datastore-basics.md` | CRUD, ZCQL queries, result unwrapping, pagination, column types, App User permissions setup, CREATEDTIME timezone gotcha, emoji limitation |
© catalystbyzoho · Apache-2.0 · catalystbyzoho/agent-skills