ObjectStackObjectStack

AI Skills Reference

Reference for every ObjectStack AI skill — domain-scoped knowledge modules that teach AI assistants the protocol's schemas and constraints

AI Skills Reference

ObjectStack ships a set of domain-specific skills that teach AI assistants (Claude Code, GitHub Copilot, Cursor, …) the protocol's schemas, patterns, and constraints. This guide is the complete catalog.

New to skills? Read AI Skills System first for the conceptual overview, then return here for the per-skill reference.


Installing skills

Skills install into a project from the skills.sh registry, reading the skills/ directory of the objectstack-ai/framework repository.

New projects — installed automatically. create-objectstack runs the install step for you during scaffolding:

npm create objectstack@latest my-app

Existing projects — install the whole bundle:

npx skills add objectstack-ai/framework --all

Run the same command again at any time to pull the latest versions — --all is idempotent, so updating is one command regardless of how many skills the bundle contains. To choose which skills to add instead of the full set, run npx skills add objectstack-ai/framework without --all.

Skills are versioned as one bundle. You do not track or update each skill individually — --all always installs the matching set for the @objectstack/spec version in your project.


ObjectStack ships 9 domain-specific skills. Each is self-contained — an AI assistant loads only the ones a task needs.

Quick Reference

#SkillDomainPathWhat it covers
1Platformplatformskills/objectstack-platform/Bootstrap, configure, extend, and operate ObjectStack runtimes. Covers project setup (defineStack, drivers, adapters, scaffolding), plugin and service development (PluginContext, DI, kernel hooks like kernel:ready and data:*), and operations (CLI commands, migrations, deployment, test harnesses via LiteKernel).
2Datadataskills/objectstack-data/Design ObjectStack data schemas — objects, fields, field conditional rules, relationships, validations, indexes, lifecycle hooks, permissions, row-level security — and the seeds (defineSeed()) that load fixtures and reference data alongside them.
3Queryqueryskills/objectstack-query/Construct ObjectQL queries — filters, sorting, pagination, aggregation, joins/expansion, window functions, and full-text search.
4UIuiskills/objectstack-ui/Author ObjectStack UI metadata — Views (list/form/kanban/calendar/gantt), Apps (navigation), Pages (structured plus the HTML and React source-authoring tiers, ADR-0080/0081), Dashboards, Reports, Charts, Actions, and package Docs (src/docs/*.md).
5Automationautomationskills/objectstack-automation/Design ObjectStack automation — Flows (visual logic), Workflows (declarative rules), Triggers, Approvals, scheduled jobs, and webhooks.
6AIaiskills/objectstack-ai/Design ObjectStack AI agents, tools, skills, conversations, model registry entries, and MCP integrations.
7APIapiskills/objectstack-api/Design the server-side API surface that an ObjectStack runtime exposes — REST/GraphQL endpoints, auth providers, realtime channels, error envelopes, batch/versioning contracts.
8i18ni18nskills/objectstack-i18n/Author ObjectStack translation bundles — object/field labels, view text, app navigation strings, automation messages — and configure locale fallback, coverage reporting, and the per-locale source layout.
9Formulaexpressionskills/objectstack-formula/Author CEL expressions used across ObjectStack — formula fields, field conditional rules (visibleWhen, readonlyWhen, requiredWhen), validation / sharing / visibility predicates, flow conditions, and dynamic seed values.

Platform

Domain platform · Path skills/objectstack-platform/

Bootstrap, configure, extend, and operate ObjectStack runtimes. Covers project setup (defineStack, drivers, adapters, scaffolding), plugin and service development (PluginContext, DI, kernel hooks like kernel:ready and data:*), and operations (CLI commands, migrations, deployment, test harnesses via LiteKernel).

Use when the user is writing objectstack.config.ts, building a plugin or driver, wiring a framework adapter, running os CLI commands, or planning deployment.

Do not use for data schema design (see objectstack-data) or query patterns (see objectstack-query); data lifecycle hooks (beforeInsert / afterUpdate) belong in objectstack-data — only kernel / service-level events live here.

Tags: project, defineStack, driver, adapter, plugin, kernel, service, DI, lifecycle, cli, deploy, ops


Data

Domain data · Path skills/objectstack-data/

Design ObjectStack data schemas — objects, fields, field conditional rules, relationships, validations, indexes, lifecycle hooks, permissions, row-level security — and the seeds (defineSeed()) that load fixtures and reference data alongside them.

Use when the user is creating or modifying *.object.ts / *.seed.ts files, picking field types, modelling relationships, writing beforeInsert/afterUpdate hooks, configuring per-object access control, or authoring bootstrap / demo data. Use for visibleWhen / readonlyWhen / requiredWhen rules that belong on fields.

Do not use for querying data (see objectstack-query) or for plugin / kernel hooks (see objectstack-platform). CEL expressions in formulas / validations / sharing rules / dynamic seed values: load objectstack-formula alongside.

Tags: object, field, validation, index, relationship, hook, schema, permission, rls, security, seed, fixture


Query

Domain query · Path skills/objectstack-query/

Construct ObjectQL queries — filters, sorting, pagination, aggregation, joins/expansion, window functions, and full-text search.

Use when the user is writing a query DSL expression, picking pagination strategy, or designing a list view's filter spec.

Do not use for defining objects / fields / relationships (see objectstack-data) or for designing the API endpoint that exposes a query (see objectstack-api).

Tags: query, filter, sort, paginate, aggregate, ObjectQL, full-text


UI

Domain ui · Path skills/objectstack-ui/

Author ObjectStack UI metadata — Views (list/form/kanban/calendar/gantt), Apps (navigation), Pages (structured plus the HTML and React source-authoring tiers, ADR-0080/0081), Dashboards, Reports, Charts, Actions, and package Docs (src/docs/*.md).

Use when the user is adding *.view.ts / *.app.ts / *.dashboard.ts / *.action.ts / src/docs/*.md files or designing a Studio-rendered UI surface, including dataset-bound dashboard/report widgets.

Do not use for: data schema (see objectstack-data), interactive screen flows / wizards (those are *.flow.ts with type: 'screen' — see objectstack-automation), the React renderer implementation (lives in packages/client-react, not metadata), or Studio's own admin UI (that ships with the platform). CEL expressions in visibility/conditional rules: load objectstack-formula alongside.

Tags: view, app, page, dashboard, report, chart, action, widget, doc


Automation

Domain automation · Path skills/objectstack-automation/

Design ObjectStack automation — Flows (visual logic), Workflows (declarative rules), Triggers, Approvals, scheduled jobs, and webhooks.

Use when the user is adding *.flow.ts / *.workflow.ts, wiring an event-driven rule, or modelling an approval chain.

Do not use for data lifecycle hooks at the object layer (see objectstack-data) or for kernel / plugin events (see objectstack-platform). CEL expressions in flow conditions / workflow predicates: load objectstack-formula alongside.

Tags: flow, workflow, trigger, approval, state-machine, scheduled, webhook


AI

Domain ai · Path skills/objectstack-ai/

Design ObjectStack AI agents, tools, skills, conversations, model registry entries, and MCP integrations.

Use when the user is adding *.agent.ts / *.tool.ts / *.skill.ts, configuring an LLM provider, wiring agent tools, or designing an embedding/RAG flow on top of ObjectStack data.

Do not use for general LLM prompting questions unrelated to ObjectStack metadata.

Tags: agent, tool, skill, conversation, llm, embedding, mcp


API

Domain api · Path skills/objectstack-api/

Design the server-side API surface that an ObjectStack runtime exposes — REST/GraphQL endpoints, auth providers, realtime channels, error envelopes, batch/versioning contracts.

Use when the user is adding *.endpoint.ts, configuring auth providers, defining custom routes, or extending the REST/GraphQL generator.

Do not use for: consuming an ObjectStack API from a client (that is just standard HTTP — no skill needed); the auto-generated CRUD endpoints (those follow from objectstack-data); request-side query syntax (see objectstack-query). CEL expressions in route guards or auth predicates: load objectstack-formula alongside.

Tags: rest, graphql, endpoint, auth, realtime, server


i18n

Domain i18n · Path skills/objectstack-i18n/

Author ObjectStack translation bundles — object/field labels, view text, app navigation strings, automation messages — and configure locale fallback, coverage reporting, and the per-locale source layout.

Use when the user is adding *.translation.ts files, wiring a new locale, or resolving missing-translation warnings.

Do not use for general i18n library questions unrelated to ObjectStack bundles.

Tags: i18n, translation, locale, l10n, bundle, coverage


Formula

Domain expression · Path skills/objectstack-formula/

Author CEL expressions used across ObjectStack — formula fields, field conditional rules (visibleWhen, readonlyWhen, requiredWhen), validation / sharing / visibility predicates, flow conditions, and dynamic seed values.

Use when the user is writing an F, P, or cel tagged-template literal, or asks "how do I express X as a formula / predicate".

Do not use for SQL fragments (driver-native), cron schedules (cron dialect), or L2 hook bodies (those belong in objectstack-data).

Tags: cel, formula, predicate, condition, validation, visibility, seed-dynamic


Skill anatomy

Every skill is a directory under skills/:

skills/objectstack-{domain}/
├── SKILL.md              # required — frontmatter (name, description, domain, tags) + prose guide
├── references/           # generated & optional — present only when the skill maps to Zod sources
│   └── _index.md         # pointers into @objectstack/spec Zod sources
├── rules/                # optional — detailed implementation rules
└── evals/                # optional — AI comprehension test cases

SKILL.md is the only required file. The references/_index.md index is generated by packages/spec/scripts/build-skill-references.ts and points into the published @objectstack/spec schemas in node_modules — skills never bundle copies of the schemas, so they stay version-aligned automatically. Skills with no mapped Zod sources (such as Formula) ship without a references/ directory at all.

The catalog above (names, domains, descriptions) is generated from each SKILL.md frontmatter by build-skill-docs.ts. Edit the frontmatter, not this page — then run pnpm --filter @objectstack/spec gen:skill-docs.


Best practices

1. Start with the right skill

Use the Quick Reference table to find the skill that matches your task rather than guessing. When a task spans domains, the per-skill "Do not use for …" notes point you to the right neighbour.

2. Chain skills for complex tasks

Most real-world work spans multiple domains. A typical CRM feature chains:

flowchart LR
    Data --> Query --> UI --> Automation --> API

3. Load Formula alongside its host

Any CEL expression — a validation predicate, a flow condition, a field visibility rule — is covered by Formula. Load it in addition to the host skill (Data, Automation, UI), not instead of it.

4. Respect skill boundaries

If a skill says "delegate to X for Y", follow it. Skills are deliberately focused and composable — keeping them narrow is what lets an assistant load only the context a task needs.


Next steps

On this page