create-entitylisted
Install: claude install-skill oneworks-ai/app
在用户要求“创建实体”“新增 agent/entity”“按某个角色沉淀实体”“把当前工作流变成实体”时使用这个 skill。
如果用户要求修改已有实体,使用 `update-entity`。
## 目标
把用户的自然语言需求转成可运行、可维护的 OneWorks entity。完成后,项目里应该出现一个清晰命名的实体定义,必要时配套默认 prompt 文件、规则引用、技能引用和继承关系。
## 信息收集
开始前先收敛这些信息;如果用户已经给出,就不要重复询问:
- 实体的职责:它负责什么问题、什么时候应该被选择。
- 使用场景:开发、评审、验证、调研、文档、运维或项目特定流程。
- 输出风格:汇报格式、语气、详略、是否优先列风险或结论。
- 能力边界:它不该做什么,什么时候应该交还给用户或其他实体。
- 可复用资产:是否应继承已有实体,是否需要引用已有 rules、skills、MCP server 或 tool filter。
如果需求仍然模糊,先用一个保守实体落地,再在 final answer 里列出可继续补充的字段。
## 资产检查
创建前先检查当前项目已有资产:
- 本地实体目录:避免实体名冲突,并观察本项目实体写法。
- 本地 rules 目录:优先引用已有规则,不要重复复制规则正文。
- 本地 skills 目录:优先引用已有技能,不要把大型操作流程塞进 entity prompt。
- 插件实体:如果项目启用了插件并配置了 scope,继承时使用 `scope/name`,例如 `std/dev-reviewer`。
不要凭空引用不存在的 rule 或 skill。确实需要新增配套资产时,先确认用户需求是否要求一起创建;否则在结果里说明缺口。
## 实体目录定位
不要硬编码 `.oo`。先解析本地资产根目录和实体目录,再创建文件:
- `__ONEWORKS_PROJECT_BASE_DIR__=.oneworks` 时,本地资产根目录从 `.oo` 变成 `.oneworks`。
- `__ONEWORKS_PROJECT_ENTITIES_DIR__=agents` 时,实体目录从 `<asset-root>/entities` 变成 `<asset-root>/agents`。
- 如果不确定配置,先检查 `.env` 和现有实体目录;仍不确定时使用默认 `.oo/entities/`。
- 后文的 `<entity-dir>` 指解析后的本地实体目录,不一定是 `.oo/entities`。
新实体只能写入当前项目的本地实体目录。不要修改这些上游或受管理位置:
- `node_modules/**`
- `packages/plugins/**`
- `<asset-root>/plugins/**/oneworks/**`
- 任意插件包或 marketplace 同步下来的实体文件
如果用户想“改某个插件实体”,创建一个本地派生实体,并用 `extends: scope/name` 继承插件实体。
## 文件布局
优先使用目录型实体:
```text
<entity-dir>/<entity-name>/README.md
```
当实体提示较长,或需要拆分身份、人格、记忆时,继续使用默认会被加载的文件:
```text
<entity-dir>/<entity-name>/INTRODUCTION.md
<entity-dir>/<entity-name>/PERSONA