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-appExisting projects — install the whole bundle:
npx skills add objectstack-ai/framework --allRun 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
| # | Skill | Domain | Path | What it covers |
|---|---|---|---|---|
| 1 | Platform | platform | 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). |
| 2 | Data | data | 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. |
| 3 | Query | query | skills/objectstack-query/ | Construct ObjectQL queries — filters, sorting, pagination, aggregation, joins/expansion, window functions, and full-text search. |
| 4 | UI | ui | 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). |
| 5 | Automation | automation | skills/objectstack-automation/ | Design ObjectStack automation — Flows (visual logic), Workflows (declarative rules), Triggers, Approvals, scheduled jobs, and webhooks. |
| 6 | AI | ai | skills/objectstack-ai/ | Design ObjectStack AI agents, tools, skills, conversations, model registry entries, and MCP integrations. |
| 7 | API | api | 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. |
| 8 | i18n | i18n | 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. |
| 9 | Formula | expression | 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. |
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 casesSKILL.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
- AI Skills System — conceptual overview of the skills architecture
- AI Capabilities — AI agents, RAG pipelines, and intelligent automation
- Plugin Development — build custom plugins
- Development Standards — naming conventions and project structure