基于 SOC 职业分类
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/adobe/data --skill build-data命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
Wire built features into a running application — import peer schemas, lazy-load peers, and mount the root UI.
Build a feature's system-database — the real-time tick loop (systems the scheduler runs each frame). For real-time features only.
Build a feature's services/ layer — async capability contracts (ports to the outside world). Optional.
| name | build-data |
| description | Build a feature's data/ layer — data-type namespaces and the State spec. The first, foundational feature phase. |
| input | feature |
| output | feature |
Create the feature's data/ layer (pure spec; depends on nothing but @adobe/data
and other data/ declarations):
<type>/{<type>.ts, public.ts, <helper>.ts} (+ schema.ts only when a runtime boundary needs it);data/state/ — the State aggregate plus its pure transforms/derivations.Always create data/state/ — even for a shell feature whose only field is a
boolean or enum. A feature with ECS resources/transactions but no State is
incomplete: the transaction must wrap a pure transform, not invent the logic. In rare circumstances, there may be no real state in a feature in which case the state type = {}
The hand-authored type in <type>.ts is the source of truth. The schema is optional up front — add schema.ts only when a runtime boundary (persistence, wire, or an ECS component/resource) needs one, write it to match the type, and pin it with type _Pin = Assert<Equal<Schema.ToType<typeof schema>, <Type>>> so it cannot drift. Schema.ToType is used only in that assertion, never as the exported type.
Helpers are pure and unit-tested. Run this first — every other layer imports data/.
The how is in the auto-loading rules: features/data/index.md, features/data/state.md, and
global/namespace.md.