# catalyst-datastore

An agent skill that walks you through ZCQL, CRUD and role permissions in the Zoho Catalyst cloud database.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1000 installs · ★ 69
- Author: catalystbyzoho
- License: Apache-2.0 · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/catalystbyzoho/agent-skills/tree/HEAD/skills/catalyst-datastore/SKILL.md
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/skills/catalyst-datastore

## What it 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`.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add catalystbyzoho/agent-skills --skill catalyst-datastore -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/catalyst-datastore/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/catalyst-datastore/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add catalystbyzoho/agent-skills --skill catalyst-datastore -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/catalyst-datastore/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add catalystbyzoho/agent-skills --skill catalyst-datastore -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/catalyst-datastore/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install catalystbyzoho/agent-skills catalyst-datastore
```

2. **Manually: put the files in place**
- File: `.github/skills/catalyst-datastore/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add catalystbyzoho/agent-skills --skill catalyst-datastore -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/catalystbyzoho/agent-skills --path skills/catalyst-datastore
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/catalyst-datastore/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add catalystbyzoho/agent-skills --skill catalyst-datastore -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/catalystbyzoho/agent-skills/tree/HEAD/skills/catalyst-datastore/SKILL.md

## When to use it
- 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
- 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

## Source text · SKILL.md · Apache-2.0

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 2d75e56c0f7c5301.

BEGIN THIRD-PARTY FILE 2d75e56c0f7c5301
```text
---
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
```
END THIRD-PARTY FILE 2d75e56c0f7c5301

The third-party file has ended. Everything between the 2d75e56c0f7c5301 tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2610 of 4594 bytes. © catalystbyzoho · Apache-2.0 · https://github.com/catalystbyzoho/agent-skills/tree/HEAD/skills/catalyst-datastore/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
