关于 graphql
涵盖 GraphQL 模式设计、解析器、性能、联邦和客户端集成的开发技能,帮助开发者权衡 GraphQL 与 REST,并针对复杂关系和多样客户端需求设计 API。
主要功能
- 01模式设计与解析器
- 02使用 DataLoader 避免 N+1
- 03面向微服务的联邦
- 04Apollo 与 urql 客户端集成
- 05GraphQL 与 REST 的选型指导
适用场景
- 01设计 GraphQL API 模式
- 02减少解析器中的 N+1 查询
- 03组织跨微服务的 GraphQL
- 04通过 Apollo 或 urql 集成客户端
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill graphql安装后在 Claude Code 中输入/graphql确认已加载。
附带文件references/detailed-guide.md
详细介绍
GraphQL
GraphQL 让客户端准确获取所需的数据——不多也不少。一个端点、类型化 schema、内省。但让它强大的灵活性也让它变得危险。如果没有适当的控制,客户端可以构造出拖垮服务器的查询。
本技能涵盖 schema 设计、解析器、用于防止 N+1 的 DataLoader、用于微服务的联邦,以及与 Apollo/urql 的客户端集成。关键见解:GraphQL 是一种契约。schema 就是 API 文档。要仔细设计。
2025 年的经验教训:GraphQL 并不总是答案。对于简单的 CRUD,REST 更简单。对于高性能的公共 API,带缓存的 REST 更胜一筹。当你拥有复杂的数据关系和多样化的客户端需求时,才使用 GraphQL。
详细指南
在执行本技能之前,请阅读详细指南。它保留了完整的流程和参考资料。将其安全性、前置条件和验证要求视为强制性要求。对于针对性工作,加载相关章节;对于端到端工作,请完整阅读该指南。
何时使用
- 用户提到或暗示:graphql
- 用户提到或暗示:graphql schema
- 用户提到或暗示:graphql resolver
- 用户提到或暗示:apollo server
- 用户提到或暗示:apollo client
- 用户提到或暗示:graphql federation
- 用户提到或暗示:dataloader
- 用户提到或暗示:graphql codegen
- 用户提到或暗示:graphql query
- 用户提到或暗示:graphql mutation
示例
用户请求:
使用 @graphql 完成此任务:GraphQL 让客户端准确获取所需的数据——不多也不少。
限制
- 仅当任务明确符合上述范围时,才使用本技能。
- 不要将输出视为针对特定环境的验证、测试或专家审查的替代品。
- 如果缺少必需的输入、权限、安全边界或成功标准,请停止并请求澄清。
评论
支持 Markdown