implement-trpc-query
Installation
SKILL.md
tRPC 按需查询接口设计规范
本 Skill 指导在 tRPC 架构下,通过标准化的 include 和 fields 参数,为查询接口添加按需数据加载与字段裁剪能力,无需引入 GraphQL。
使用说明
- 阅读 按需查询设计指南,了解参数设计规范与执行流程
- 参考 Router 实现示例 了解完整实现
- 参考 Schema 定义示例:BattleSchema.ts、BattleExtendedSchema.ts、GetBattleInputSchema.ts
- 使用 检查清单 验证实现是否符合规范
核心规范
- 双参数设计:
include(扩展字段加载)+fields(响应裁剪),职责分离 - 三步执行流程:基础查询 → include 扩展加载 → fields 字段裁剪
- 枚举 include 选项:使用
z.enum([...])明确声明支持的扩展字段名 - 权限校验:扩展字段按需进行权限检查(不加载即不暴露)
- 一级限制:仅支持一级扩展,禁止嵌套 include(如
user.friends.votes) - 降级安全:
fields包含未加载的 include 字段时,静默忽略并记录 warning
Related skills
More from forge-town/skills
create-skills
Use when 需要创建新技能或更新现有技能,将领域知识、工作流程、脚本和工具集成打包为可复用 Skill;生成的新技能须使用中文编写。触发词:创建新技能、更新skill、新建技能包、扩展AI能力。
36page-best-practice
Must follow when 创建或审查前端页面结构,确保遵循 Anatomy 规范,正确分离 Wrapper、Content 和 Optional Store 模块。触发词:创建页面、页面结构规范、前端页面解剖规范。
32store-best-practice
Must follow when 使用 Zustand 创建或重构状态管理 Store,确保遵循 slice 模式、Provider 设置和类型安全规范。触发词:创建store、zustand规范、状态管理最佳实践、store设计审查。
30check-all-items
自动扫描并执行所有以best-practice结尾的技能,检查项目是否符合最佳实践。通过自动发现机制确保所有相关最佳实践都被检查,并强制执行标准化验证指令提升输出稳定性。
22use-store-not-props-best-practice
Must follow when 设计组件数据流——优先通过 Store 访问全局状态,不得通过 Props 层层传递;适用于代码审查和新功能设计阶段。触发词:用store替代props、组件传参规范。
18implement-split
Use when 需要将大型组件或模块按最佳实践拆分为多个独立文件,系统性地执行代码拆分与重构,确保拆分后各模块结构符合规范。触发词:拆分组件、实现文件拆分、代码模块拆分重构、component-split。
18