admin-crud-mandates 是一份给 AI 用的"管理系统开发默认清单"。它解决的问题是:AI 在做后台增删改查功能时,经常会漏掉一些所有开发者心里都知道"肯定要有"但 AI 不提就想不起来的细节,比如分页、关键字搜索、权限校验、日志、事务等等。 这份 skill 被激活的条件是,用户在对话里涉及到管理系统、后台、列表页、查询、增删改查、CRUD、权限、事务这类场景。只要触发,AI 就会在写代码时强制落实七条硬规则。 第一条是分页。任何返回列表的接口和页面都必须分页,不能因为"目前数据少"就省略。前端要有翻页控件和 URL 同步,后端要在数据库层用 LIMIT 或游标,不能全量拉取再切片。第二条是关键字搜索。任何业务列表都要带搜索框和后端 keyword 参数,明确列出可搜字段,走索引友好的查询。第三条是默认排序。没有确定排序的分页会在翻页时产生重复或漏数据,默认用 createdAt 倒序。第四条是加载态、空状态、错误态三种 UI 必须都写,不能只写数据成功的场景。 第五条是日志。每个接口都要有结构化请求日志,包含 method、path、userId、耗时、状态码、traceId;traceId 要从 HTTP 入口一路贯穿到数据库、外部调用、后台任务;每次业务数据的增删改都要记录,敏感操作还要额外写入独立的 audit_log 表;错误在最外层中间件统一捕获带堆栈;密码、token、完整身份证号永远不能写进日志。第六条是权限。每个 CRUD 操作都要在路由级、接口级、行级三个层面分别校验,不能只靠前端藏按钮就算做权限。第七条是事务和幂等。涉及多表的写操作必须放进事务,create 接口必须有防重机制(幂等键或业务唯一约束),update 接口必须带版本号或 updatedAt 检查,防止并发覆盖。 除了规则本身,这份 skill 还约束了 AI 的沟通方式。AI 不会再反复问用户"要不要加分页、要不要权限",而是直接按默认加上;但会在回复末尾明确列出自己加了哪些默认项,比如"Applied by default: 分页、按 name/email 搜索、行级归属校验、请求日志",让用户一眼看到做了什么,方便用户当场说"这个不需要"然后 AI 再撤掉。 整个设计的核心意图是:把团队里约定俗成的"这种功能本来就应该这样做"变成 AI 的默认行为,减少用户反复提醒同样的事情,也减少 AI 写出"只跑通 demo 但上线就出问题"的代码。
admin-crud-mandates 是一份给 AI 用的"管理系统开发默认清单"。它解决的问题是:AI 在做后台增删改查功能时,经常会漏掉一些所有开发者心里都知道"肯定要有"但 AI 不提就想不起来的细节,比如分页、关键字搜索、权限校验、日志、事务等等。 这份 skill 被激活的条件是,用户在对话里涉及到管理系统、后台、列表页、查询、增删改查、CRUD、权限、事务这类场景。只要触发,AI 就会在写代码时强制落实七条硬规则。 第一条是分页。任何返回列表的接口和页面都必须分页,不能因为"目前数据少"就省略。前端要有翻页控件和 URL 同步,后端要在数据库层用 LIMIT 或游标,不能全量拉取再切片。第二条是关键字搜索。任何业务列表都要带搜索框和后端 keyword 参数,明确列出可搜字段,走索引友好的查询。第三条是默认排序。没有确定排序的分页会在翻页时产生重复或漏数据,默认用 createdAt 倒序。第四条是加载态、空状态、错误态三种 UI 必须都写,不能只写数据成功的场景。 第五条是日志。每个接口都要有结构化请求日志,包含 method、path、userId、耗时、状态码、traceId;traceId 要从 HTTP 入口一路贯穿到数据库、外部调用、后台任务;每次业务数据的增删改都要记录,敏感操作还要额外写入独立的 audit_log 表;错误在最外层中间件统一捕获带堆栈;密码、token、完整身份证号永远不能写进日志。第六条是权限。每个 CRUD 操作都要在路由级、接口级、行级三个层面分别校验,不能只靠前端藏按钮就算做权限。第七条是事务和幂等。涉及多表的写操作必须放进事务,create 接口必须有防重机制(幂等键或业务唯一约束),update 接口必须带版本号或 updatedAt 检查,防止并发覆盖。 除了规则本身,这份 skill 还约束了 AI 的沟通方式。AI 不会再反复问用户"要不要加分页、要不要权限",而是直接按默认加上;但会在回复末尾明确列出自己加了哪些默认项,比如"Applied by default: 分页、按 name/email 搜索、行级归属校验、请求日志",让用户一眼看到做了什么,方便用户当场说"这个不需要"然后 AI 再撤掉。 整个设计的核心意图是:把团队里约定俗成的"这种功能本来就应该这样做"变成 AI 的默认行为,减少用户反复提醒同样的事情,也减少 AI 写出"只跑通 demo 但上线就出问题"的代码。