Skip to content

os g agent scaffolds into a surface ADR-0063 withdrew, and there is no generator for skills — the one that replaced it #10359

Description

@os-elon

Found while deriving the project-layout map for #10218 (PR #10357). Not fixed there — that card's file surface is content/docs/getting-started/quick-start.mdx only.

What the tree says

packages/cli/src/commands/generate.ts declares seven generators. Their defaultDir values:

linetypedefaultDir
18objectsrc/objects
48viewsrc/views
75actionsrc/actions
98flowsrc/flows
130agentsrc/agents
154dashboardsrc/dashboards
172appsrc/apps

content/docs/deployment/cli.mdx:1046 documents the agent row, so the generator is advertised, not vestigial.

Why that reads as a defect

packages/spec/src/stack.zod.ts — the agents key's own docblock, ADR-0063 §2:

agents: PLATFORM-INTERNAL (ADR-0063 §2). The kernel ships exactly two agents — ask (data product) and build (authoring product) — bound by surface, never picked from a roster. Tenant/app-package custom agents were withdrawn (ADR-0040 §3 reversed): an agent declared here parses, but the runtime catalog filters non-platform agent records, so it is not a supported extension surface. Author skills instead.

So os g agent writes a file that parses, publishes, and is then filtered out of the runtime catalog. The author gets no error at any step — os validate passes, publish passes, the agent simply never appears. That is the silent-strip failure mode the #4001 campaign spent itself closing, arriving through the scaffolder instead of through a schema key.

The symmetric half: there is no os g skill, and skills is what ADR-0063 names as the third-party extension primitive. The generator roster points at the withdrawn surface and omits the live one.

Corroborating evidence from the examples

No example ships src/agents/, and none writes agents: or skills: in its objectstack.config.ts — checked across examples/app-showcase, examples/app-crm, examples/app-todo, examples/embed-objectql. src/agents/ exists in this repo only as the generator's defaultDir and as the doc row describing it.

Options, not a prescription

  1. Retire the agent generator and add a skill one.
  2. Keep agent but make it print the ADR-0063 status at generation time, so the author learns before publishing rather than after.
  3. Keep both and treat the scaffold as legitimate for the two platform agents — which would need a reason why an app author would scaffold one.

Which of these is right depends on whether ADR-0063's withdrawal is settled or staged; I did not chase that down, and the answer changes the fix.

Filed unassigned. Related but distinct: #10355 (ai/agents.mdx documenting a tombstoned agent.tools) is the same ADR-0063 family at a different site.


Generated by Claude Code

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions