You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/docs/ai/skills-reference.mdx
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -45,12 +45,12 @@ ObjectStack ships **9 domain-specific skills**. Each is self-contained — an AI
45
45
46
46
| # | Skill | Domain | Path | What it covers |
47
47
| :--- | :--- | :--- | :--- | :--- |
48
-
| 1 |[Platform](#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). |
48
+
| 1 |[Platform](#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 operations (CLI commands, migrations, deployment, test harnesses via LiteKernel). |
49
49
| 2 |[Data](#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. |
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).
64
+
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 operations (CLI commands, migrations, deployment, test harnesses via LiteKernel).
65
65
66
66
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.
67
67
@@ -89,7 +89,7 @@ Do not use for querying data (see objectstack-query) or for plugin / kernel hook
Design ObjectStack automation — Flows (visual logic), Triggers, Approvals, state machines, scheduled jobs, and webhooks.
121
121
122
-
Use when the user is adding `*.flow.ts` / `*.workflow.ts`, wiring an event-driven rule, or modelling an approval chain.
122
+
Use when the user is adding `*.flow.ts`, wiring an event-driven rule, or modelling an approval chain.
123
123
124
-
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.
124
+
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 / edge guards: load objectstack-formula alongside.
@@ -131,9 +131,9 @@ Do not use for data lifecycle hooks at the object layer (see objectstack-data) o
131
131
132
132
**Domain**`ai` · **Path**`skills/objectstack-ai/`
133
133
134
-
Design ObjectStack AI agents, tools, skills, conversations, model registry entries, and MCP integrations.
134
+
Design ObjectStack AI skills, tools, knowledge sources, conversations, model registry entries, and MCP integrations.
135
135
136
-
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.
136
+
Use when the user is adding `*.skill.ts` / `*.tool.ts`, configuring an LLM provider, wiring agent tools, or indexing ObjectStack data as a knowledge source for RAG. Agents themselves are platform-internal (`ask` / `build`) — third parties extend them via skills and tools, not by authoring `*.agent.ts`.
137
137
138
138
Do not use for general LLM prompting questions unrelated to ObjectStack metadata.
source: 'GENERATED from packages/spec/src/ui/react-blocks.ts — data props from the spec zod schemas, binding/controlled/callback from the React overlay.',
108
+
source: "GENERATED from the REACT_BLOCKS definition in the '@objectstack/spec/ui' module — data props from the spec zod schemas, binding/controlled/callback from the React overlay.",
105
109
note: "Props each component accepts in kind:'react' page source. Reference blocks by their PascalCase tag. kind: data=declarative config (from the spec schema) · binding=connects to data · controlled=React state · callback=React function. These blocks are for DATA. Live data: const adapter = useAdapter(); adapter.find/findOne/create/update. STYLING (ADR-0065) — a page's source is runtime metadata, so the console's build-time Tailwind NEVER scans it: utility classNAMES silently produce no CSS. Do NOT use Tailwind className in page source. (a) Layout/chrome: inline style={} with hsl(var(--token)) theme colors — e.g. color:'hsl(var(--foreground))', background:'hsl(var(--card))', border:'1px solid hsl(var(--border))', and px/flex for layout. (b) Overlays: render <ObjectForm formType='drawer'|'modal' open onOpenChange> (a pre-styled Sheet/Dialog) — never hand-roll a fixed inset-0 backdrop.",
L.push("description: Props each injected component accepts in kind:'react' page source (ADR-0081). GENERATED from packages/spec/src/ui/react-blocks.ts — do not edit by hand.");
119
+
L.push("description: Props each injected component accepts in kind:'react' page source (ADR-0081). GENERATED from the REACT_BLOCKS definition in the '@objectstack/spec/ui' module — do not edit by hand.");
116
120
L.push('---');
117
121
L.push('');
118
122
L.push('{/* GENERATED by packages/spec/scripts/build-react-blocks-contract.ts — do not edit. */}');
The `/skills` subpath matters: it is the published catalog boundary — pointing
13
+
the skills CLI at the repo root would also pick up repo-internal skills (#3101).
14
+
15
+
Each skill is self-contained: a `SKILL.md` with YAML frontmatter, plus a
16
+
`references/_index.md` that points into the authoritative Zod sources in
17
+
`node_modules/@objectstack/spec/src/...` (the published `@objectstack/spec`
18
+
package ships these `.zod.ts` sources, so the pointers resolve in consumer
19
+
apps too).
7
20
8
21
> **Always read the spec source for exact field shapes.** Skills give shape and
9
22
> intent; the Zod schemas are the truth.
@@ -16,12 +29,12 @@ authoritative Zod sources in `node_modules/@objectstack/spec/src/...`.
16
29
17
30
| Skill | Domain | What it covers |
18
31
|:------|:-------|:---------------|
19
-
|[Platform](./objectstack-platform/SKILL.md)|`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). |
32
+
|[Platform](./objectstack-platform/SKILL.md)|`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 operations (CLI commands, migrations, deployment, test harnesses via LiteKernel). |
20
33
|[Data](./objectstack-data/SKILL.md)|`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. |
|[AI](./objectstack-ai/SKILL.md)|`ai`| Design ObjectStack AI agents, tools, skills, conversations, model registry entries, and MCP integrations. |
36
+
|[Automation](./objectstack-automation/SKILL.md)|`automation`| Design ObjectStack automation — Flows (visual logic), Triggers, Approvals, state machines, scheduled jobs, and webhooks. |
37
+
|[AI](./objectstack-ai/SKILL.md)|`ai`| Design ObjectStack AI skills, tools, knowledge sources, conversations, model registry entries, and MCP integrations. |
25
38
|[API](./objectstack-api/SKILL.md)|`api`| Design the server-side API surface that an ObjectStack runtime exposes — REST/GraphQL endpoints, auth providers, realtime channels, error envelopes, batch/versioning contracts. |
26
39
|[i18n](./objectstack-i18n/SKILL.md)|`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. |
27
40
|[Formula](./objectstack-formula/SKILL.md)|`expression`| Author CEL expressions used across ObjectStack — formula fields, field conditional rules (`visibleWhen`, `readonlyWhen`, `requiredWhen`), validation / sharing / visibility predicates, flow conditions, and dynamic seed values. |
@@ -37,8 +50,13 @@ authoritative Zod sources in `node_modules/@objectstack/spec/src/...`.
37
50
```
38
51
skills/<skill-name>/
39
52
├── SKILL.md # frontmatter + prose guide
40
-
└── references/
41
-
└── _index.md # pointers into @objectstack/spec sources
53
+
├── references/
54
+
│ └── _index.md # generated pointers into @objectstack/spec sources
55
+
│ # (pnpm --filter @objectstack/spec gen:skill-refs — do not hand-edit)
0 commit comments