技能 GraphQL Architect
📦

GraphQL Architect

安全

使用企业级模式设计可扩展的 GraphQL API

构建生产级 GraphQL 系统需要具备联邦、性能和安全方面的专业知识。本技能提供经过验证的可扩展模式设计和优化模式。

支持: Claude Codex Code(CC)
🥉 72 青铜
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“GraphQL Architect”。 Design a user profile schema with posts and comments

预期结果:

  • type User {
  • id: ID!
  • username: String!
  • email: String!
  • profile: Profile
  • posts: [Post!]!
  • createdAt: DateTime!
  • }
  •  
  • type Profile {
  • bio: String
  • avatar: String
  • location: String
  • }
  •  
  • type Post {
  • id: ID!
  • title: String!
  • content: String!
  • author: User!
  • comments: [Comment!]!
  • }

正在使用“GraphQL Architect”。 Optimize resolver fetching user posts

预期结果:

  • Use DataLoader to batch and cache user post fetching:
  •  
  • const postLoader = new DataLoader(async (userIds) => {
  • const posts = await Post.findAll({
  • where: { userId: userIds },
  • include: [User]
  • });
  • return userIds.map(id => posts.filter(p => p.userId === id));
  • });
  •  
  • This reduces N queries to 1 batched query.

安全审计

安全
v1 • 2/25/2026

Static analysis scanned 0 files with 0 lines and detected no suspicious patterns. This is a prompt-only skill containing instructional content for GraphQL architecture guidance. No executable code, network access, filesystem operations, or external command execution present.

0
已扫描文件
0
分析行数
0
发现项
1
审计总数
未发现安全问题
审计者: claude

质量评分

38
架构
100
可维护性
87
内容
50
社区
100
安全
74
规范符合性

你能构建什么

企业联邦架构

设计多团队联邦 GraphQL 架构,包含子图组合、模式治理和跨团队协作模式。

性能优化审计

分析现有 GraphQL 模式的 N+1 查询问题,实施 DataLoader 模式,并配置多级缓存策略。

安全加固实施

实施字段级授权、查询复杂度分析、速率限制和生产安全配置。

试试这些提示

基础模式设计
为 [resource type] 设计一个具有 CRUD 操作的 GraphQL 模式。包含适当的标量类型、用于变更的输入类型,并遵循命名约定。解释类型之间的关系。
联邦子图规划
为 [domain] 规划 Apollo Federation v2 子图。识别实体、key 指令和外部类型引用。展示此子图如何与整体联邦架构集成。
性能优化审查
审查此 GraphQL 模式和解析器实现的性能问题。识别 N+1 查询模式,建议 DataLoader 实现,并推荐字段级和查询级缓存策略。
安全配置审计
审计此 GraphQL 服务器配置的安全漏洞。检查内省设置、CORS 配置、速率限制、查询深度限制和字段级授权。提供具体的修复步骤。

最佳实践

  • 设计模式时考虑版本控制和演进 - 删除前先弃用
  • 为所有解析器获取实施 DataLoader 以防止 N+1 查询问题
  • 在生产部署前配置查询复杂度分析和速率限制

避免

  • 在 GraphQL 模式中直接暴露数据库模型而没有抽象层
  • 返回无界限列表而不使用连接模式或分页
  • 在解析器中实现业务逻辑而不是在专用服务层中

常见问题

什么是 Apollo Federation,什么时候应该使用它?
Apollo Federation 支持将 GraphQL 模式拆分到多个服务中。当多个团队拥有不同领域或微服务需要暴露统一 GraphQL API 时使用它。
如何防止 GraphQL 中的 N+1 查询问题?
使用 DataLoader 批量和缓存数据库请求。DataLoader 收集单个请求并作为单个批量查询执行,显著减少数据库往返次数。
生产 GraphQL API 的基本安全措施是什么?
实施查询深度限制、查询复杂度分析、速率限制、字段级授权、在生产环境中禁用内省,并配置正确的 CORS 头。
如何在 GraphQL 解析器中处理身份验证?
从 Apollo Server 设置的上下文中提取身份验证。在解析器中通过 context.user 访问用户信息,并使用中间件或指令模式实施字段级检查。
查询和变更有什么区别?
查询用于获取数据并可以缓存。变更用于修改数据并始终执行。使用查询进行读取操作,使用变更进行创建、更新或删除操作。
如何在 GraphQL 中实现实时功能?
使用 WebSocket 连接实现 GraphQL 订阅。在模式中定义订阅类型,实施发布订阅机制,并在断开连接时确保正确的授权和清理。

开发者详情

文件结构

📄 SKILL.md