Found while implementing the dataset module-completeness item in the published UI skill (PR #13972). Filed rather than fixed: the fix lands in a different file, needs its own token-ratchet ceiling move, and deserves its own triage call. Unassigned.
What
skills/objectstack-platform/SKILL.md carries the published project layout tree — the one place the catalog tells an agent what directories an ObjectStack project has. It enumerates:
src/
objects/ views/ apps/ flows/ actions/
dashboards/ reports/ i18n/ handlers/
It lists dashboards/ and reports/, and not datasets/. Before PR #13972, git grep 'src/datasets' over the entire published skills/ catalog returned zero hits; that PR adds the first one, as a row in the UI skill's completeness blueprint.
Why it may still matter after PR #13972
Those are two different reading paths and only one of them is now covered. PR #13972 fixes the assembly checklist an agent consults when building a UI surface. This tree is the layout an agent consults when deciding where a file goes and what a project contains — an agent that reads only the tree learns that reports and dashboards have homes and that the layer they bind does not appear to have one at all.
The failure this produces is the same one #13696 recorded: the app face of a module is complete and its analytics face is silently empty, with nothing anywhere reporting a problem.
Suggested shape (not a decision)
One line in the tree, mirroring the two directories immediately above it:
├── datasets/ # Optional: analytics datasets (dashboards/reports bind these)
Cost note for whoever picks this up
skills/objectstack-platform/SKILL.md sits at 12687 / 12705 on check-skills-token-ratchet — 18 tokens of headroom, about 72 bytes, against a tree line of roughly 85. So it is either paid for by a genuine deletion in that same file, or it is a small ceiling move, which the gate serves only in a PR quoting a maintainer ruling. That cost is the reason this was not ridden along on #13972: that PR already moves one ceiling, and stacking a second unrelated one into a tightly scoped card is the wrong trade to make unilaterally.
Not verified here
Whether the layout tree is load-bearing for any agent in practice, or is read past in favour of the per-domain skills. That question decides whether this is worth a ceiling move at all, and it is a triage call, not this filer's.
Generated by Claude Code
What
skills/objectstack-platform/SKILL.mdcarries the published project layout tree — the one place the catalog tells an agent what directories an ObjectStack project has. It enumerates:It lists
dashboards/andreports/, and notdatasets/. Before PR #13972,git grep 'src/datasets'over the entire publishedskills/catalog returned zero hits; that PR adds the first one, as a row in the UI skill's completeness blueprint.Why it may still matter after PR #13972
Those are two different reading paths and only one of them is now covered. PR #13972 fixes the assembly checklist an agent consults when building a UI surface. This tree is the layout an agent consults when deciding where a file goes and what a project contains — an agent that reads only the tree learns that reports and dashboards have homes and that the layer they bind does not appear to have one at all.
The failure this produces is the same one #13696 recorded: the app face of a module is complete and its analytics face is silently empty, with nothing anywhere reporting a problem.
Suggested shape (not a decision)
One line in the tree, mirroring the two directories immediately above it:
Cost note for whoever picks this up
skills/objectstack-platform/SKILL.mdsits at 12687 / 12705 oncheck-skills-token-ratchet— 18 tokens of headroom, about 72 bytes, against a tree line of roughly 85. So it is either paid for by a genuine deletion in that same file, or it is a small ceiling move, which the gate serves only in a PR quoting a maintainer ruling. That cost is the reason this was not ridden along on #13972: that PR already moves one ceiling, and stacking a second unrelated one into a tightly scoped card is the wrong trade to make unilaterally.Not verified here
Whether the layout tree is load-bearing for any agent in practice, or is read past in favour of the per-domain skills. That question decides whether this is worth a ceiling move at all, and it is a triage call, not this filer's.
Generated by Claude Code