graphql-expert-best-practices by wispbit-ai/skills
npx skills add https://github.com/wispbit-ai/skills --skill graphql-expert-best-practicesGraphQL API 的全面性能优化与最佳实践指南。包含解析器优化、查询性能、数据获取模式和模式设计的规则,按影响优先级排序,以指导自动化重构和代码生成。
在以下情况下参考本指南:
| 优先级 | 类别 | 影响程度 | 前缀 |
|---|---|---|---|
| 1 | 查询优化 | 关键 | dataloader- |
| 2 | 模式设计 | 关键-高 | schema- |
| 3 | 变更设计 | 关键-高 |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
mutation- |
| 4 | 分页 | 高 | pagination- |
| 5 | 安全 | 关键-中 | security- |
| 6 | 运维 | 中 | operations- |
dataloader-n-plus-one - 使用 DataLoader 批量查询,防止 N+1 性能问题query-unique-identifiers - 使用唯一标识符而非复合参数,简化 API 接口schema-no-json-filters - 禁止任意 JSON 过滤标量,防止 NoSQL 注入漏洞schema-no-binary-data - 避免在模式中使用大型二进制数据,防止负载膨胀和内存问题schema-stable-identifiers - 使用全局稳定的不透明标识符,防止信息泄露和枚举攻击schema-structured-types - 使用结构化类型而非非结构化 String/JSON 字段,提高类型安全性schema-split-types-by-role - 按角色拆分类型,防止隐私字段泄露并消除运行时授权schema-prefer-deprecation - 优先使用弃用而非版本控制,实现持续 API 演进schema-field-overload - 避免查看者与用户之间的字段重载,防止安全问题并提高 API 清晰度schema-minimize-nullable-args - 最小化可为空参数,提高 API 清晰度和类型安全性schema-no-duplicate-fields - 防止通过嵌套对象访问重复字段,维护单一数据源mutation-no-file-uploads - 避免通过 GraphQL 上传文件,防止内存耗尽和安全漏洞mutation-single-input-object - 使用单个输入对象参数而非多个标量,提高 API 可演进性mutation-union-result-types - 返回包含专用成功和特定错误类型的联合类型,实现类型安全的错误处理mutation-explicit-actions - 围绕显式操作而非通用更新模式设计变更mutation-separate-input-types - 为创建和更新操作分离输入类型,提高类型安全性mutation-avoid-validation-scalars - 避免自定义验证标量,防止多请求错误循环pagination-no-default-totalcount - 避免在连接中默认包含 totalCount,防止性能下降security-complexity-limits - 要求设置复杂度和查询节点限制,防止资源耗尽攻击security-disable-introspection - 在生产环境中禁用自省,防止模式泄露operations-require-client-headers - 要求客户端标识头信息,便于调试和监控阅读各个规则文件以获取详细说明和代码示例:
rules/dataloader-n-plus-one.md
rules/query-unique-identifiers.md
rules/schema-no-json-filters.md
rules/schema-no-binary-data.md
rules/schema-stable-identifiers.md
rules/schema-structured-types.md
rules/schema-split-types-by-role.md
rules/schema-prefer-deprecation.md
rules/schema-field-overload.md
rules/schema-minimize-nullable-args.md
rules/schema-no-duplicate-fields.md
rules/mutation-no-file-uploads.md
rules/mutation-single-input-object.md
rules/mutation-union-result-types.md
rules/mutation-explicit-actions.md
rules/mutation-separate-input-types.md
rules/mutation-avoid-validation-scalars.md
rules/pagination-no-default-totalcount.md
rules/security-complexity-limits.md
rules/security-disable-introspection.md
rules/operations-require-client-headers.md
每个规则文件包含:
每周安装量
91
代码仓库
GitHub 星标数
6
首次出现
2026年2月10日
安全审计
安装于
opencode91
cursor85
claude-code80
codex25
kimi-cli25
gemini-cli24
Comprehensive performance optimization and best practices guide for GraphQL APIs. Contains rules for resolver optimization, query performance, data fetching patterns, and schema design, prioritized by impact to guide automated refactoring and code generation.
Reference these guidelines when:
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Query Optimization | CRITICAL | dataloader- |
| 2 | Schema Design | CRITICAL-HIGH | schema- |
| 3 | Mutation Design | CRITICAL-HIGH | mutation- |
| 4 | Pagination | HIGH | pagination- |
| 5 | Security | CRITICAL-MEDIUM | security- |
| 6 | Operations | MEDIUM | operations- |
dataloader-n-plus-one - Use DataLoader to batch queries and prevent N+1 performance issuesquery-unique-identifiers - Use unique identifiers over composite parameters to simplify API surfaceschema-no-json-filters - Ban arbitrary JSON filter scalars to prevent NoSQL injection vulnerabilitiesschema-no-binary-data - Avoid large binary data in schema to prevent payload bloat and memory issuesschema-stable-identifiers - Use globally stable opaque identifiers to prevent information leakage and enumeration attacksschema-structured-types - Use structured types over unstructured String/JSON fields to improve type safetyschema-split-types-by-role - Split types by role to prevent privacy field leakage and eliminate runtime authorizationschema-prefer-deprecation - Prefer deprecation over versioning to enable continuous API evolutionRead individual rule files for detailed explanations and code examples:
rules/dataloader-n-plus-one.md
rules/query-unique-identifiers.md
rules/schema-no-json-filters.md
rules/schema-no-binary-data.md
rules/schema-stable-identifiers.md
rules/schema-structured-types.md
rules/schema-split-types-by-role.md
rules/schema-prefer-deprecation.md
rules/schema-field-overload.md
rules/schema-minimize-nullable-args.md
rules/schema-no-duplicate-fields.md
rules/mutation-no-file-uploads.md
rules/mutation-single-input-object.md
rules/mutation-union-result-types.md
rules/mutation-explicit-actions.md
rules/mutation-separate-input-types.md
rules/mutation-avoid-validation-scalars.md
rules/pagination-no-default-totalcount.md
rules/security-complexity-limits.md
rules/security-disable-introspection.md
rules/operations-require-client-headers.md
Each rule file contains:
Weekly Installs
91
Repository
GitHub Stars
6
First Seen
Feb 10, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode91
cursor85
claude-code80
codex25
kimi-cli25
gemini-cli24
lark-cli 共享规则:飞书资源操作指南与权限配置详解
39,000 周安装
拉取请求自动化:GitHub/GitLab PR模板、代码审查分配与合并工作流最佳实践
160 周安装
健康检查端点实现指南:Kubernetes探针、负载均衡器监控与微服务健康检查
160 周安装
KPI仪表板设计指南:从业务目标到数据可视化,打造高效绩效监控系统
160 周安装
n8n MCP工具专家指南:构建自动化工作流的完整教程与最佳实践
165 周安装
AI上下文管理器 - 优化LLM内存架构与对话历史管理,提升RAG系统效率
163 周安装
Coolify Manager 技能:管理 Coolify 部署,诊断 WordPress 问题,自动化运维
164 周安装
schema-field-overload - Avoid field overloads for viewer vs user to prevent security issues and improve API clarityschema-minimize-nullable-args - Minimize nullable arguments to improve API clarity and type safetyschema-no-duplicate-fields - Prevent duplicate fields accessible through nested objects to maintain single source of truthmutation-no-file-uploads - Avoid file uploads through GraphQL to prevent memory exhaustion and security vulnerabilitiesmutation-single-input-object - Use single input object argument instead of multiple scalars to improve API evolvabilitymutation-union-result-types - Return union types with dedicated success and specific error types for type-safe error handlingmutation-explicit-actions - Design mutations around explicit actions rather than generic update patternsmutation-separate-input-types - Separate input types for create and update to improve type safetymutation-avoid-validation-scalars - Avoid custom validation scalars to prevent multi-request error loopspagination-no-default-totalcount - Avoid default totalCount in connections to prevent performance degradationsecurity-complexity-limits - Require complexity and query node limits to prevent resource exhaustion attackssecurity-disable-introspection - Disable introspection in production to prevent schema disclosureoperations-require-client-headers - Require client identification headers for debugging and monitoring