Skip to content

skills/objectstack-data 的 hook 示例仍教裸 : Hook 字面量 —— 应改用 defineHook()(#4269 后续) #4274

Description

@os-zhuang

#4269 / PR #4273 落地了 defineHook()(作者侧工厂,defineDatasource 范式),content/docs/protocol/objectql/schema.mdx 的示例与 object.zod.ts 的处方均已指向工厂。但 skills 还在整体教旧姿势:

  • skills/objectstack-data/SKILL.md:401(const accountHook: Hook = {…} + 尾部 export default accountHook)
  • skills/objectstack-data/rules/hooks.md:33
  • skills/objectstack-data/references/data-hooks.md 10+ 处(87、425、678、702、728、756、791、819 …)

skills 是 AI 作者的第一入口(check-skill-examples.ts 的设计动机),裸字面量示例会让 #4269 的「import 即校验」闭环在最主要的受众上落空:AI 照 skill 写出的 hook 拿到 tsc 绿就报告完成,约束级错误(snake_case name、别名/处方)仍要等到部署。

改法机械:const x: Hook = {…}; export default xexport default defineHook({…})(import 自 @objectstack/spec/data),并在 hooks.md 规则里加一句「工厂优先于裸字面量」(与 datasource/schema.mdx 同款措辞)。所有片段受 os:check 门禁覆盖,改完 pnpm --filter @objectstack/spec run check:skill-examples 必须绿。

#4269 有意把范围限定在「文档一处注记」,skills 的整面翻新在此单独跟进,避免范围蔓延。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions