modu-ai/tutor-research
| 학습 질문을 받으면 공식 문서(context7)와 웹검색을 동시에 병렬로 조사해, 출처가 검증된 최신 학습 근거를 종합해 드립니다. 개인 튜터가 자료를 미리 조사해 오는 역할입니다. 질문을 리서치 축으로 분해해 context7(라이브러리·SDK·CLI 공식 문서)과 WebSearch(최신 트렌드·튜토리얼·비교)를 병렬 실행하고, 출처를 교차검증한 뒤 learning-material로 넘길 종합본을 만듭니다.
npx skills add https://github.com/modu-ai/cowork-plugins --skill tutor-research
학습 질문을 받아 여러 경로를 병렬로 조사해 신뢰할 수 있는 최신 학습 근거를 종합한다. 두 축을 동시에 가동한다: ① context7 MCP — 라이브러리·SDK·프레임워크·CLI의 버전별 공식 문서, ② WebSearch — 최신 변경사항·튜토리얼·개념 비교·실무 사례. 출처를 교차검증해 환각을 차단하고, learning-material이 바로 쓸 수 있는 구조화된 종합본을 만든다.
조사, 리서치, 최신 정보, 공식 문서, context7, 병렬 조사, 정확한 내용, 알려줘, 비교, 차이, 어떻게 동작
질문을 답하기 위한 하위 축으로 분해한다.
[HARD] 독립적인 조사는 한 턴에 병렬로 실행한다(직렬 금지). 오케스트레이터는 다음을 동시에 호출한다.
resolve-library-id → get-library-docs (해당 라이브러리·토픽)Agent(Explore) 또는 Agent(general-purpose) 리서처를 하위 축마다 병렬 fan-out — 각 에이전트가 한 축을 맡아 조사 결과를 반환광범위·다면적 주제(소스 교차검증이 핵심)일 때는 번들된 /deep-research <질문> 워크플로우를 제안할 수 있다. 단, 토큰 비용이 단발 검색보다 크다는 점을 먼저 알린다.
[한 턴 안에서 병렬 호출]
├─ context7: get-library-docs(<라이브러리>, topic=<핵심 토픽>)
├─ WebSearch: "<주제> 2026 최신"
├─ WebSearch: "<개념 A> vs <개념 B> 차이 언제 사용"
└─ (선택) Agent(Explore): 사용자 프로젝트 내 관련 코드 패턴
> GLM 백엔드 주의: moai glm 또는 moai cg의 GLM 페인에서는 WebSearch·WebFetch가 z.ai MCP 도구로 라우팅된다. .claude/rules/moai/core/glm-web-tooling.md의 라우팅 표를 따른다.
learning-material이 바로 소비할 수 있는 구조화된 Markdown을 만든다.
## 리서치 종합: <주제>
- 학습자 수준: <입문/초급/중급/고급>
### 핵심 개념 (요약)
- 개념 1 — 한 줄 정의 + 근거 출처
- ...
### 도식 후보 (mermaid 소스 초안)
- 개념 관계도 / 플로우 / 시퀀스 중 적합한 것 1-2개 초안
### 예제·코드 (출처·버전 표기)
- 공식 문서 기준 최소 예제
### 자주 헷갈리는 점 / 비교
- A vs B, 언제 무엇을 쓰나
### 출처
- 공식 문서: <context7 라이브러리·버전>
- 웹: <검증된 URL 목록>
예시 1: "claude code 서브에이전트 동작 방식 최신 정보로 조사해줘"
→ context7(claude code docs) + WebSearch(최신 변경) 병렬 → 종합본 + 시퀀스 도식 초안
예시 2: "React 19 use 훅, 공식 문서 기준으로 설명 준비해줘"
→ context7(React 19) 중심 + WebSearch(실무 예) → 예제·비교 종합
예시 3: "영어 가정법 과거완료, 정확한 규칙과 예문 조사해줘"
→ WebSearch(문법 규칙·예문) 병렬 → 규칙 표 + 예문 종합 (라이브러리 무관 → context7 생략)
moai-education:research-assistantmoai-business:market-analyst/deep-research 워크플로우Take modu-ai/tutor-research from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.