一键导入
action-finder
先选定 CRUD 模板(CIDED/CIDRA/CID),再映射为 camelCase 动作名,并推断领域相关的额外动作(例如 payOrder)。 适用于实体动作与 API 命名等场景。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
先选定 CRUD 模板(CIDED/CIDRA/CID),再映射为 camelCase 动作名,并推断领域相关的额外动作(例如 payOrder)。 适用于实体动作与 API 命名等场景。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | action-finder |
| description | 先选定 CRUD 模板(CIDED/CIDRA/CID),再映射为 camelCase 动作名,并推断领域相关的额外动作(例如 payOrder)。 适用于实体动作与 API 命名等场景。 |
| license | MIT |
| metadata | {"version":"1.1.0","author":"agno-docs","tags":["crud","entity","actions","api"]} |
使用本技能时,须首先为给定实体选定模板(例如 CIDED),再将该模板映射为 camelCase 动作名,并在适当时进一步推断与领域相关的额外动作。
关键要求:必须生成 camelCase 动作名(例如 createUser、listUsers、payOrder),不得将模板槽位标签(如 Create、Index)直接作为输出;否则会导致记录失败。
用户必须知晓所采用的模式。在列出任何动作之前,先按下列形式输出一小段说明(若用户使用中文书写,可相应使用中文叙述,但模板代号请仍使用英文):
**Template:** CIDED (Create, Index, Details, Edit, Delete)
**Rationale:** ……一行理由……
Template: 之后的代号必须为 CIDED、CIDRA 或 CID 之一——不得使用 CRUD 一词。上述三种代号定义于 crud-templates.md。action_finder_log(..., template_selected=...) 时须使用相同代号:CIDED、CIDRA 或 CID,不得填写 CRUD。read*、update*)。对 CIDED 而言,「读」应拆分为 list(Index,集合)与 get(Details,单条),「更新」对应 edit(Edit):应使用 list{Entity}s、get{Entity}、edit{Entity}——详见下表。list…,详情 → Details → get…,编辑 → Edit → edit…)。read_file,路径为 /skills/action-finder/references/crud-templates.md,在命名动作之前确认 CIDED、CIDRA、CID 的含义。payOrder、cancelOrder、shipOrder;Subscription:renewSubscription、pauseSubscription)。此类动作凭产品与领域常识推断,而非从模板文件中逐字抄写。关键要求:将模板中的角色转换为 camelCase 函数名:
create{Entity}(例如 createUser)。list{Entity}s(复数,例如 listUsers)。get{Entity}(例如 getUser)。edit{Entity}(例如 editUser)。delete{Entity}(例如 deleteUser)。reject{Entity}(例如 rejectRequest)。approve{Entity}(例如 approveRequest)。不得将 "Create"、"Index"、"Details" 等标签本身作为动作列表输出。
选择 CIDED 即表示模板槽位为 Create、Index、Details、Edit、Delete——而非笼统的「通用 CRUD」。在写入任何推断动作之前,须为每一槽位各输出恰好一个 camelCase 名称(共五个)。
| 模板槽位 | 英文动词 | camelCase 模式 | 禁止用法 |
|---|---|---|---|
| Create | create | create{Entity} | — |
| Index | list(集合) | list{Entity}s 或 list{PluralEntity} | 将列表操作写成 read*、fetch*、query* |
| Details | get(单条) | get{Entity} | 将单条读取写成 read* |
| Edit | edit | edit{Entity} | 将编辑槽位写成 update*、patch*、save* |
| Delete | delete | delete{Entity} | — |
记录前自检(CIDED):
create*、list*、get*、edit*、delete*。create / read / update / delete 类动词结尾,说明将 Index 与 Details 合并成了一个 read*——须修正:拆成 list* 与 get*。read、update、fetch 或 patch 作为操作动词开头,须替换为上表约定(list*、get*、edit*)。错误示例(仍为「泛 CRUD」,未按 CIDED 槽位):
createExamRecord, readExamRecord, updateExamRecord, deleteExamRecord ← 仅四项;read/update 动词错误
正确示例(符合 CIDED 槽位):
createExamRecord, listExamRecords, getExamRecord, editExamRecord, deleteExamRecord
随后再于上述五项之后追加推断动作(例如 publishExamRecord)。
read* 与 update* 不是 CIDED 的槽位名。 Index 对应 list*;Details 对应 get*;Edit 对应 edit*。API 提供的 action_finder_log 工具对 CIDED 会拒绝包含 read* / update* / fetch* / patch*,或缺少 list* / get* / edit* 的记录。read* 同时表示两者。Entity 或语义清晰的对象名(payOrder、refundOrder、archiveThread)。createUser、listUsers、getUser、editUser、deleteUser(除非用户明确要求角色/密码等,否则可不加额外项,例如 resetUserPassword)。createRequest、listRequests、getRequest、rejectRequest、approveRequest;若流程允许,可选 withdrawRequest。payOrder、cancelOrder、refundOrder 等,视系统描述而定。createLog、listLogs、getLog(只读场景通常不含 delete/edit)。action_finder_log(推荐):传入全部最终动作(模板 + 推断),例如 action_finder_log(entity_name="Order", template_selected="CIDED", actions=["createOrder", "listOrders", "getOrder", "editOrder", "deleteOrder", "payOrder", "cancelOrder"]),或execute 工具配合主机真实路径(shell 内不能使用虚拟路径 /skills/...)。API 会将 AI_API_SKILLS_ROOT 设为技能目录。示例(Windows cmd):execute(command='python "%AI_API_SKILLS_ROOT%\\action-finder\\scripts\\log.py" Order CIDED createOrder listOrders getOrder editOrder deleteOrder payOrder cancelOrder')%AI_API_SKILLS_ROOT%\\action-finder\\scripts\\ 下同样方式调用 log.bat。先按模板槽位顺序列出由模板导出的 camelCase 动作,再列出推断动作。
示例:
**Template:** CIDED (Create, Index, Details, Edit, Delete)
**Rationale:** 该实体具备常规持久化生命周期,需支持列表、查看、编辑与删除。
自模板映射的操作:
- createOrder
- listOrders
- getOrder
- editOrder
- deleteOrder
推断的额外操作:
- payOrder
- cancelOrder
示例(中文界面,模板仍须显式写出):
**Template:** CIDED (Create, Index, Details, Edit, Delete)
**Rationale:** 考试试卷作为标准业务实体,需要列表、详情、编辑与删除。
自模板映射的操作:
- createExamPaper ← Create
- listExamPapers ← Index
- getExamPaper ← Details
- editExamPaper ← Edit
- deleteExamPaper ← Delete
推断的额外操作:
- publishExamPaper
- duplicateExamPaper
action_finder_log 或配合 log.py 的 execute 来持久化结果。crud-templates.md,明确选定 CIDED/CIDRA/CID 后再映射槽位——不得在未命名模板的情况下,将问题压缩为笼统的五词 CRUD 列表。action_finder_log。日志文件位于 API 主机上的 skills/action-finder/scripts/history.yaml。/skills/action-finder/references/crud-templates.md — 需要时使用 read_file 加载。每一轮完整执行须调用一次 action_finder_log,或使用 execute 调用 log.py / log.bat,传入实体名、所选模板与最终 camelCase 动作列表。
错误(模板标签):actions=["Create", "Index", "Details", "Edit", "Delete"]。
错误(已选 CIDED 却仍用泛 CRUD 动词):actions=["createExamRecord", "readExamRecord", "updateExamRecord", "deleteExamRecord"] —— 缺少 list* 与 get*;CIDED 下 read* / update* 会被 action_finder_log 拒绝。
正确(CIDED 的 camelCase,含模板与推断):actions=["createOrder", "listOrders", "getOrder", "editOrder", "deleteOrder", "payOrder"]。
正确(考试记录 / ExamRecord):actions=["createExamRecord", "listExamRecords", "getExamRecord", "editExamRecord", "deleteExamRecord"]。