GraphQL Architect
엔터프라이즈 패턴으로 확장 가능한 GraphQL API 설계
프로덕션 GraphQL 시스템 구축에는 연합(federation), 성능 및 보안에 대한 전문 지식이 필요합니다. 이 스킬은 확장 가능한 스키마 설계와 최적화를 위한 검증된 패턴을 제공합니다.
스킬 ZIP 다운로드
Claude에서 업로드
설정 → 기능 → 스킬 → 스킬 업로드로 이동
토글을 켜고 사용 시작
테스트해 보기
"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.
보안 감사
안전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.
품질 점수
만들 수 있는 것
엔터프라이즈 연합 아키텍처
스키마 거버넌스 및 팀 간 협업 패턴과 함께 서브그래프 구성을 갖춘 다중 팀 연합 GraphQL 아키텍처를 설계합니다.
성능 최적화 감사
기존 GraphQL 스키마의 N+1 쿼리를 분석하고, DataLoader 패턴을 구현하며, 다단계 캐싱 전략을 구성합니다.
보안 강화 구현
필드 수준 권한 부여, 쿼리 복잡도 분석, 속도 제한 및 프로덕션 보안 구성을 구현합니다.
이 프롬프트를 사용해 보세요
CRUD 작업이 포함된 [resource type]용 GraphQL 스키마를 설계합니다. 적절한 스칼라 타입, 뮤테이션용 인풋 타입을 포함하고 명명 규칙을 따르세요. 타입 관계를 설명하세요.
[domain]용 Apollo Federation v2 서브그래프를 계획합니다. 엔티티, key 디렉티브 및 외부 타입 참조를 식별합니다. 이 서브그래프가 전체 연합 아키텍처에 어떻게 통합되는지 보여주세요.
성능 문제에 대해 이 GraphQL 스키마 및 리졸버 구현을 검토합니다. N+1 쿼리 패턴을 식별하고, DataLoader 구현을 제안하며, 필드 및 쿼리 수준에서 캐싱 전략을 권장합니다.
보안 취약점에 대해 이 GraphQL 서버 구성을 감사합니다. 인트로스펙션 설정, CORS 구성, 속도 제한, 쿼리 깊이 제한 및 필드 수준 권한 부여를 확인합니다. 구체적인 수정 단계를 제공하세요.
모범 사례
- 제거 전에 폐기 예정(deprecation) 표시를 사용하여 스키마 버전 관리 및 진화를 고려한 설계
- N+1 쿼리 문제 방지를 위해 모든 리졸버 페치에 DataLoader 구현
- 프로덕션 배포 전에 쿼리 복잡도 분석 및 속도 제한 구성
피하기
- 추상화 레이어 없이 GraphQL 스키마에 직접 데이터베이스 모델 노출
- 연결 패턴이나 페이지네이션 없이 무제한 목록 반환
- 전용 서비스 레이어 대신 리졸버에 비즈니스 로직 구현