From d2619baed1ae7830a59383c3aa81543c99c9d67b Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 11 Oct 2026 11:56:44 +0000 Subject: [PATCH] docs(skills): give the protocol rule's CORRECT data-table fence the required `data` (objectui#12135) The "CORRECT" `data-table` example under "Rule: No Schema Property Invention" in `skills/objectui/rules/protocol.md` carried `columns` only. `DataTableSchema` declares `data: z.array(z.any())` as required, so both authoring faces refused the node the skill tells an agent to copy ("data: Invalid input: expected array, received undefined"). The fence gains a one-row inline `data`, the same shape the file's own "Provider rows into a data-table" table teaches as the supported route. Re-derived over every json/jsonc fence under skills/objectui/** with the strict and tolerant faces from the built @object-ui/types dist: 70 fences, 48 node documents, 9 refused by the strict face at base, 8 of them deliberate counter-examples; this fence was the only "CORRECT"-labelled one. After the edit: 8 refused, all counter-examples. The os:check markers on json/jsonc fences stay: scripts/check-skill-examples.mjs reads them (JSON_FENCE_LANGUAGES) and holds the marked json population under a shrink-only MARKED_FLOOR of 70, so removing any would red that gate. Empty-frontmatter changeset: skills/** ships through `npx skills add` and sits in no package's files[]. Co-authored-by: Claude Claude-Session: https://claude.ai/code/session_011u73oxZ5X95qrARPTeoU6v --- .changeset/12135-protocol-correct-fence-data.md | 4 ++++ skills/objectui/rules/protocol.md | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/12135-protocol-correct-fence-data.md diff --git a/.changeset/12135-protocol-correct-fence-data.md b/.changeset/12135-protocol-correct-fence-data.md new file mode 100644 index 0000000000..a9002ad027 --- /dev/null +++ b/.changeset/12135-protocol-correct-fence-data.md @@ -0,0 +1,4 @@ +--- +--- + +No package released: one teaching fence in the published `skills/objectui` bundle, which ships through `npx skills add` and sits in no package's `files[]`. The "CORRECT" `data-table` example under "Rule: No Schema Property Invention" in `skills/objectui/rules/protocol.md` gains the inline `data` array `DataTableSchema` declares as required, so the node the skill tells an agent to copy is one both authoring faces accept instead of one `objectui validate` refuses with `data: Invalid input: expected array, received undefined` (objectui#12135). diff --git a/skills/objectui/rules/protocol.md b/skills/objectui/rules/protocol.md index d314286a83..ffd2a86080 100644 --- a/skills/objectui/rules/protocol.md +++ b/skills/objectui/rules/protocol.md @@ -184,7 +184,8 @@ key under `props` never reaches a `ui:*` / `page:*` renderer at all. ```jsonc { "type": "data-table", - "columns": [{ "header": "Name", "accessorKey": "name" }] // ✅ declared by DataTableSchema, read off the node + "columns": [{ "header": "Name", "accessorKey": "name" }], // ✅ declared by DataTableSchema, read off the node + "data": [{ "name": "Ada Lovelace" }] // ✅ required by DataTableSchema: the rows live inline on the node } ```