Skip to content

Commit 1911d7c

Browse files
docs(skills): the platform skill counts the eight generator barrels, picklists included (#21337)
Fixes #21018 Clause-②: no This PR is item 4 of #21018, the last item on the card: the Tier H line in `skills/objectstack-platform/SKILL.md` that counts and lists the blank starter's generator barrels. The code half landed on `main` as `bcd68a29f3` (PR #21167), and since that landing the sentence has been false. The claim for this PR is `5945859013` on the card; the dev session is `session_01VvcEokUG1tvVxkceYfR5XB`. ## Premise, checked on `origin/main` (`1caa603730`, then merged `222ecc27f9`) - `packages/create-objectstack/src/templates/blank/objectstack.config.ts` imports eight barrels and hands each to its stack key, in this order: `objects`, `views`, `actions`, `flows`, `dashboards`, `apps`, `skills`, `picklists`. `src/` of the template holds the same eight directories. - `os init` derives its wiring from the roster: `SCAFFOLD_WIRED_BARRELS` (`packages/cli/src/commands/init.ts:602`) maps `GENERATOR_SCAFFOLD_TARGETS`, which is `Object.entries(GENERATORS)` in `generate.ts` — eight generators: `object`, `view`, `action`, `flow`, `dashboard`, `app`, `skill`, `picklist`. - `packages/cli/test/create-objectstack-wiring-parity.test.ts` holds the blank template's import lines and stack-key lines equal to the `os init` rendering, so the template list and the roster cannot drift apart. - So the true sentence is "the eight generator barrels", with `picklists` last — the order the template file uses. The SKILL.md line said seven and listed seven. ## What changed One file, two lines, net zero lines: `skills/objectstack-platform/SKILL.md:194-195`. Before: ```text generic connector executors in `plugins:`; and the seven generator barrels (`objects`, `views`, `actions`, `flows`, `dashboards`, `apps`, `skills`), ``` After: ```text generic connector executors in `plugins:`; and the eight generator barrels (`objects`, `views`, `actions`, `flows`, `dashboards`, `apps`, `skills`, `picklists`), ``` This is the text PR #21167's "Not in this PR" section proposed, byte for byte. ## The `skills/**` readings (both halves) | Reading | Before (`1caa603730`) | After (`82e06107cf`) | Delta | |:---|---:|---:|---:| | `skills/objectstack-platform/SKILL.md`, lines | 489 | 489 | 0 | | `skills/objectstack-platform/SKILL.md`, tokens (`ceil(utf8 bytes / 4)`, the ratchet's convention) | 5827 | 5830 | +3 (ceiling 5833, headroom 3) | | Whole published catalog, all 10 `skills/**/SKILL.md`, lines | 4397 | 4397 | 0 | | Whole published catalog, all 10 `skills/**/SKILL.md`, tokens | 52132 | 52135 | +3 | The 13 added bytes are the word `eight` for `seven` (same length) plus `, \`picklists\``. No re-wrap, no content removed, no ceiling moved. `node scripts/check-skills-token-ratchet.mjs` reads `skills/objectstack-platform/SKILL.md is 5830 tokens (ceiling 5833; headroom 3)` on `82e06107cf`. ## The sweep of `skills/**` Every file under `skills/` was grepped for a count word (six to nine) near barrel / generator / template / scaffold, for the word `barrel`, for `picklist`, and for `src/` directory listings. Only `SKILL.md:194-195` states a count or list that PR #21167 made false. The other hits, each left alone: - `skills/objectstack-platform/SKILL.md:210-235`, the "Project Structure Conventions" tree: a generic convention listing (`objects`, `views`, `apps`, `flows`, `actions`, `dashboards`, `reports`, `datasets`, `i18n`, `handlers`, each marked optional). It never enumerated the template's barrels (it omitted `skills` already), so it states no count or list that is now wrong. - `skills/objectstack-platform/references/bootstrap.md:55-72` and `:163-180`: illustrative config examples with four barrels and one barrel. Examples, not a roster. - `skills/objectstack-platform/evals/config-plugins-ops.json:7`: an eval's expected output for a CRM config ("barrel imports … same for views / flows"). Not a roster. - `skills/objectstack-platform/SKILL.md:44-45`: the stack-key list already names `picklists` and `picklistExtensions`. Correct. ## Changeset None, declared with the `skip-changeset` label. The diff publishes nothing from any released package: no `package.json` under `packages/` or `apps/` names a skills path in its `files[]` (positive control: `@objectstack/spec`'s `files[]` lists `dist`, `json-schema`, …), and `create-objectstack` installs the catalog at scaffold time with `npx skills add objectstack-ai/objectstack/skills` (`packages/create-objectstack/src/skills-install.ts`), reading this repository directly rather than a bundled copy. ## Gates - `node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack --commands`, run with no paths, derived 25 families from the change set (1 path). The list is identical before and after the `origin/main` merge. - All 25 were run on the final head `82e06107cf`, each exit code captured before any pipe: 25 exit 0. `--ran` reconciliation: `✓ dispatch-gates --ran: 25 derived famil(ies) accounted for — 25 run, 0 NOT-MEASURED`. - On the pre-merge head `84fc471b7f` the same 25 were run once before: 24 exit 0 and one `PREREQUISITE NOT MET` (exit 3, `@objectstack/lint` `check:doc-formula-expressions`, the package was not built). After `pnpm exec turbo run build --filter=@objectstack/formula --filter=@objectstack/lint` under the verify lock it exited 0; the merged-head run above includes it green. - Also attempted, outside the derived 25: `pnpm --filter @objectstack/spec run check:skill-examples`. It refused with `PREREQUISITE NOT MET` (exit 3: `packages/client-react/dist` holds no declarations). NOT MEASURED locally; it is declared to CI. The diff changes no `ts`/`tsx` fence, which is the only surface that gate reads. - `scripts/pm/check-skill-line-ratchet.mjs` is not applicable: its header excludes the published `skills/` catalog by design; the token ratchet above is the catalog's gate. - `pnpm lint` is CI's run; this diff touches one Markdown file, which is outside eslint's population (`eslint.config.mjs` lints `ts`/`tsx`/`js`/`mjs`), so nothing here moves a lint verdict. ## Acceptance notes - `skills/objectstack-platform/references/operations.md:26` reads "`os generate KIND` | Scaffold an object / view / flow / agent from a template" (KIND spelled there as a placeholder in angle brackets), while `skills/objectstack-ai/SKILL.md:344` says `os g agent` is retired. Pre-existing, not a count or list PR #21167 touched, and outside this claim's purpose; noted, not filed. - The "Project Structure Conventions" tree in the same SKILL.md (see the sweep) lists neither `skills/` nor `picklists/`. It is a generic convention list with no count, so it is not false; noted for a future prose pass, not changed here. - The branch carries one merge commit of `origin/main` (`222ecc27f9`, two commits touching `scripts/pm/fleet-write/*` and `scripts/pm/issue-*.mjs`, none touching `skills/` or a gate this diff derives). The PR's net diff against `origin/main` is the one file, +2 / −2. - Tier H: this PR stays a draft; it lands only after an authorized approval is on record, through the owning seat. ## 维护者速读(草稿) ### 改了什么 平台技能包 `skills/objectstack-platform/SKILL.md` 里描述 blank 模板的那一句:把「七个生成器目录」改成「八个」,并在列表末尾补上 `picklists`。改两行、删两行,净零行;整个技能包行数不变(4397 行),token 读数 5827 → 5830(上限 5833,余量 3)。 ### 为什么改 上一个 PR(代码半,#21167)落地后,`npm create objectstack` 新建的项目实际接了 8 个目录,多出的是 `src/picklists`(共享选项列表,`os generate picklist` 的产物)。技能文本还写 7 个:AI 读了会少认一个目录,不知道新生成的选项列表落在哪里、挂在哪个 stack 键下。 ### 风险与代价(含回滚) 只改一句说明文字,不改任何代码,不发任何 npm 包。技能目录由 `npx skills add` 从仓库直接拉取,所以合并后新建的项目立刻读到新句子;已建项目不受影响。回滚就是 revert 这一个 commit。本地派生的 25 个门禁全绿;`skills/**` 的 token 棘轮没动上限。 ### 席位意见 (留空,席位定稿时填写) ### 你要做的 在本 PR 上给一个 Approve(`skills/**` 是受管面 Tier H,需要维护者的批准记录);之后由席位负责落地,不用你再操作。 --- _Generated by [Claude Code](https://claude.ai/code/session_01VvcEokUG1tvVxkceYfR5XB)_ Co-authored-by: Claude <noreply@anthropic.com>
1 parent 97239c3 commit 1911d7c

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

‎skills/objectstack-platform/SKILL.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,8 +191,8 @@ what the platform owns.
191191

192192
- Bundled with `create-objectstack` — no network fetch
193193
- One example object; `requires: ['automation', 'triggers']` plus the three
194-
generic connector executors in `plugins:`; and the seven generator barrels
195-
(`objects`, `views`, `actions`, `flows`, `dashboards`, `apps`, `skills`),
194+
generic connector executors in `plugins:`; and the eight generator barrels
195+
(`objects`, `views`, `actions`, `flows`, `dashboards`, `apps`, `skills`, `picklists`),
196196
each `src/*/index.ts` handed to the stack key of its name through
197197
`exportsOf` — the scaffolded `AGENTS.md` says how to add to them. The
198198
memory driver and the Hono server are NOT in the file — the CLI

0 commit comments

Comments
 (0)