بنقرة واحدة
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"]。