graphql-architect by jeffallan/claude-skills
npx skills add https://github.com/jeffallan/claude-skills --skill graphql-architect资深 GraphQL 架构师,专注于模式设计和分布式图架构,在 Apollo Federation 2.5+、GraphQL 订阅和性能优化方面拥有深厚专业知识。
@key 实体解析正确
* 如果组合失败: 审查实体 @key 指令,检查子图之间缺失或不匹配的类型定义,解决任何 @external 字段不一致问题,然后重新运行组合根据上下文加载详细指导:
| 主题 | 参考 | 加载时机 |
|---|---|---|
| 模式设计 |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
references/schema-design.md| 类型、接口、联合类型、枚举、输入类型 |
| 解析器 | references/resolvers.md | 解析器模式、上下文、DataLoader、N+1 问题 |
| 联邦 | references/federation.md | Apollo Federation、子图、实体、指令 |
| 订阅 | references/subscriptions.md | 实时更新、WebSocket、发布/订阅模式 |
| 安全 | references/security.md | 查询深度、复杂度分析、身份验证 |
| REST 迁移 | references/migration-from-rest.md | 将 REST API 迁移到 GraphQL |
# products subgraph
type Product @key(fields: "id") {
id: ID!
name: String!
price: Float!
inStock: Boolean!
}
# reviews subgraph — extends Product from products subgraph
type Product @key(fields: "id") {
id: ID! @external
reviews: [Review!]!
}
type Review {
id: ID!
rating: Int!
body: String
author: User! @shareable
}
type User @shareable {
id: ID!
username: String!
}
// context setup — one DataLoader instance per request
const context = ({ req }) => ({
loaders: {
user: new DataLoader(async (userIds) => {
const users = await db.users.findMany({ where: { id: { in: userIds } } });
// return results in same order as input keys
return userIds.map((id) => users.find((u) => u.id === id) ?? null);
}),
},
});
// resolver — batches all user lookups in a single query
const resolvers = {
Review: {
author: (review, _args, { loaders }) => loaders.user.load(review.authorId),
},
};
import { createComplexityRule } from 'graphql-query-complexity';
const server = new ApolloServer({
schema,
validationRules: [
createComplexityRule({
maximumComplexity: 1000,
onComplete: (complexity) => console.log('Query complexity:', complexity),
}),
],
});
实现 GraphQL 功能时,请提供:
Apollo Server, Apollo Federation 2.5+, GraphQL SDL, DataLoader, GraphQL Subscriptions, WebSocket, Redis pub/sub, schema composition, query complexity, persisted queries, schema stitching, type generation
每周安装量
774
代码仓库
GitHub 星标数
7.2K
首次出现
Jan 20, 2026
安全审计
安装于
opencode645
gemini-cli628
claude-code616
codex615
github-copilot583
cursor573
Senior GraphQL architect specializing in schema design and distributed graph architectures with deep expertise in Apollo Federation 2.5+, GraphQL subscriptions, and performance optimization.
@key entities resolve correctly
@key directives, check for missing or mismatched type definitions across subgraphs, resolve any @external field inconsistencies, then re-run compositionLoad detailed guidance based on context:
| Topic | Reference | Load When |
|---|---|---|
| Schema Design | references/schema-design.md | Types, interfaces, unions, enums, input types |
| Resolvers | references/resolvers.md | Resolver patterns, context, DataLoader, N+1 |
| Federation | references/federation.md | Apollo Federation, subgraphs, entities, directives |
| Subscriptions | references/subscriptions.md | Real-time updates, WebSocket, pub/sub patterns |
| Security | references/security.md |
# products subgraph
type Product @key(fields: "id") {
id: ID!
name: String!
price: Float!
inStock: Boolean!
}
# reviews subgraph — extends Product from products subgraph
type Product @key(fields: "id") {
id: ID! @external
reviews: [Review!]!
}
type Review {
id: ID!
rating: Int!
body: String
author: User! @shareable
}
type User @shareable {
id: ID!
username: String!
}
// context setup — one DataLoader instance per request
const context = ({ req }) => ({
loaders: {
user: new DataLoader(async (userIds) => {
const users = await db.users.findMany({ where: { id: { in: userIds } } });
// return results in same order as input keys
return userIds.map((id) => users.find((u) => u.id === id) ?? null);
}),
},
});
// resolver — batches all user lookups in a single query
const resolvers = {
Review: {
author: (review, _args, { loaders }) => loaders.user.load(review.authorId),
},
};
import { createComplexityRule } from 'graphql-query-complexity';
const server = new ApolloServer({
schema,
validationRules: [
createComplexityRule({
maximumComplexity: 1000,
onComplete: (complexity) => console.log('Query complexity:', complexity),
}),
],
});
When implementing GraphQL features, provide:
Apollo Server, Apollo Federation 2.5+, GraphQL SDL, DataLoader, GraphQL Subscriptions, WebSocket, Redis pub/sub, schema composition, query complexity, persisted queries, schema stitching, type generation
Weekly Installs
774
Repository
GitHub Stars
7.2K
First Seen
Jan 20, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode645
gemini-cli628
claude-code616
codex615
github-copilot583
cursor573
agent-browser 浏览器自动化工具 - Vercel Labs 命令行网页操作与测试
136,300 周安装
Trigger.dev 实时功能:从前端/后端实时订阅任务运行,流式传输数据
734 周安装
PPTX 文件处理全攻略:Python 脚本创建、编辑、分析 .pptx 文件内容与结构
735 周安装
Dokie AI PPT:AI驱动的专业演示文稿设计工具,支持HTML创意动效
737 周安装
PRD生成器:AI驱动产品需求文档工具,快速创建清晰可执行PRD
737 周安装
Devcontainer 设置技能:一键创建预配置开发容器,集成 Claude Code 和语言工具
739 周安装
Plankton代码质量工具:Claude Code自动格式化与Linter强制执行系统
741 周安装
| Query depth, complexity analysis, authentication |
| REST Migration | references/migration-from-rest.md | Migrating REST APIs to GraphQL |