---
name: research-consult
description: "research/ 문서를 조회하여 패턴, 규칙, best practice 질문에 답변하고, 코드 조각의 패턴 부합 여부를 빠르게 확인한다. '어떻게 해야 해?', 'best practice가 뭐야?', '이 패턴 맞아?', '어떤 접근이 좋을까?', 'research에서 뭐라고 해?' 등 패턴 질문이나 의사결정 도움 요청에 사용한다. 코드 리뷰는 code-review, 코드 작성은 code-write, 학습은 socratic을 사용한다."
allowed-tools: Read, Glob, Grep
---

# Research Consult — research 기반 패턴 조회 및 Q&A

research/에 축적된 analytics.md와 example.md를 참조하여 질문에 답변한다. 답변의 근거를 항상 research 문서 출처로 명시한다.

## code-review와의 차이

| | research-consult | code-review |
|---|---|---|
| 입력 | 질문 또는 짧은 코드 조각 | 파일 경로 / PR 번호 |
| 목적 | 패턴 확인, 방향 조언, 규칙 조회 | 체계적 품질 점검 |
| 출력 | 답변 + 근거 | severity별 이슈 목록 |
| 코드 수정 | 안 함 | 안 함 (승인 시만) |

사용자가 파일 전체 리뷰를 요청하면 code-review로 안내한다.

## Workflow

### 1. 질문 분석

사용자 질문에서 추출한다:
- **관련 도메인**: React, TypeScript, React Query, Zod, Zustand, Vite, Architecture, Test, UI/UX, Claude Code 등
- **질문 유형**: 패턴 조회 | 규칙 확인 | 방향 조언 | 코드 적합성 확인

도메인이 불분명하면 `research/*/` 구조를 Glob으로 확인하여 후보를 좁힌다.

### 2. research 문서 탐색

관련 도메인의 research 문서를 읽는다:

1. `research/{domain}/` 또는 `research/{domain}/{subtopic}/` 에서 analytics.md 읽기
2. 구체적 예제가 필요하면 example.md도 읽기
3. 하위 주제가 여러 개면 질문과 관련된 것만 선택

복수 도메인이 관련되면 모두 읽는다. 단, 질문에 불필요한 도메인은 읽지 않는다.

### 3. 답변 작성

질문 유형에 따라 분기한다:

**패턴 조회 / 규칙 확인**:
- research 문서에서 관련 규칙을 인용
- DO/DON'T가 있으면 명시
- 출처 표기: `근거: research/{domain}/{subtopic}/analytics.md > 섹션`

**방향 조언**:
- research에 판단 기준이 있으면 해당 기준 제시
- 트레이드오프가 있으면 양쪽 제시하고 research의 권장을 표기
- research에 관련 내용이 없으면 "research에 해당 내용 없음"을 명시하고, 일반 지식으로 보충 시 `[일반 지식]`으로 구분

**코드 적합성 확인** (코드 조각이 제공된 경우):
- 관련 research 규칙과 대조
- 부합: `OK — {규칙}에 부합`
- 위반: `ISSUE — {규칙} 위반` + 수정 방향
- 코드 수정은 하지 않는다

## Output Format

### 패턴 조회 / 방향 조언

```
## 답변
[질문에 대한 답변]

## 근거
- research/{path} > {섹션}: [인용된 규칙/패턴]

## 관련 예제
[example.md에서 관련 예제 — 해당 시에만]
```

### 코드 적합성 확인

```
## 패턴 대조
- OK — {규칙}: [부합 설명]
- ISSUE — {규칙}: [위반 설명] → 수정 방향: [방향]

## 근거
- research/{path} > {섹션}: [인용된 규칙/패턴]
```

## Notes

- research 문서는 읽기 전용이다. 답변 과정에서 수정하지 않는다.
- research에 없는 내용은 `[일반 지식]`으로 출처를 구분한다.
- 사용자가 research와 다른 방향을 택하면 차이점을 알리되 사용자 판단을 존중한다.
- 후속이 필요하면 적절한 스킬을 안내한다: 학습 → socratic, 코드 작성 → code-write, 전체 리뷰 → code-review.
