---
name: dokhae-trainer
description: 국어 비문학 독해력(정확하고 빠르게 읽기)을 훈련한다. 사용자가 "독해 연습/훈련", "비문학 문제 풀기", "수능 비문학", "지문 읽고 문제", "요약 훈련", "핵심 정리 연습", "속독", "읽기 속도 측정", "독해 기록/통계 보기", "약점 분석", "비문학 독해 공부", "reading comprehension 연습"을 원하거나 /dokhae:dokhae 명령을 실행할 때 사용한다. Claude가 난이도별 비문학 지문을 생성하고 문제풀이·요약·속독 3가지 모드로 훈련시키며 누적 통계(stats)도 제공하고, 정답률·읽기 속도·약점 유형을 ~/.claude/dokhae/records.jsonl에 기록해 다음 훈련에 반영한다. 단, 문법·맞춤법 교정, 글쓰기·작문, 어휘 암기, 한국어 회화, 문학(시·소설·희곡) 감상, 그리고 사용자가 제출한 실제 문서의 요약·교정(작문 보조)에는 사용하지 않는다 — 이 스킬은 Claude가 생성한 비문학 지문으로 독해력을 훈련하는 용도다.
---

# 독해 훈련 (dokhae-trainer)

비문학 지문을 생성해 아래 한 모드로 훈련하고, 채점 결과를 기록한다.

## 0. 시작 전: 반드시 공유 사양을 따른다

[`references/_spec.md`](references/_spec.md)는 난이도 척도, 주제 영역, 지문 작성 규칙,
약점 태그, 기록 스키마, **노출 통제 규칙**을 정의한다. **모든 모드는 이 사양을 그대로 따른다.**
특히: 지문을 보여줄 때 문제·정답·해설을 함께 노출하지 않는다.

## 1. 모드 결정

| 모드 | 무엇을 | 언제 |
|------|--------|------|
| **quiz** (문제풀이) | 지문 + 4~6문항을 풀고 채점·오답분석 | "정확하게 읽기", 비문학 문제 연습 |
| **summary** (요약·핵심 추출) | 지문의 요지·문단 핵심을 직접 쓰고 채점 | 핵심 파악·요약 능력 |
| **speed** (속독+이해도) | 읽기 시간을 측정한 뒤 이해도 문제로 검증 | 빠르고 정확한 읽기 균형 |
| **stats** (기록·통계) | 누적 기록을 분석해 추이·약점·추천 제시 | 진행 점검 |

- `/dokhae:dokhae <mode> [level]` 인자나 사용자 발화로 모드가 정해지면 그대로 진행한다.
- **모드가 불분명하면** 위 4개 중 하나를 고르게 사용자에게 짧게 묻는다(같은 질문에서 난이도도 함께 묻는다. 생략 시 기본 3, 기록이 있으면 직전 난이도를 기본값으로).

## 2. 세션 직전: 기록 확인 (stats 외 모든 모드)

1. `$HOME/.claude/dokhae/records.jsonl`이 있으면 **최근 10줄**을 읽는다(10줄 미만이면 전체, 파일이 없으면 새 학습자로 간주).
2. 자주 나온 **약점 태그**와 성과가 낮은 **영역(area)** 을 파악해 이번 세션의 **영역·난이도·문항 유형 구성**에 반영한다
   (영역 선택·약점 태그 규칙은 `_spec.md` 3·5절을 따른다). 특히 quiz에서는 최빈 약점 **유형**을 가중 출제한다(`quiz-mode.md` 3-2).
   기록이 없는 신규 학습자는 `_spec.md` 3절 기본 영역 배분과 균등 유형 구성으로 시작한다.

## 3. 모드별 프로토콜 실행

**모드가 확정되면 곧바로**(세션을 진행하기 전에) 해당 모드의 reference 파일을 읽고, 그 절차·채점 루브릭을 그대로 따른다. 다른 모드의 reference는 읽지 않는다.

- **quiz** → [`references/quiz-mode.md`](references/quiz-mode.md)
- **summary** → [`references/summary-mode.md`](references/summary-mode.md)
- **speed** → [`references/speed-mode.md`](references/speed-mode.md)
- **stats** → [`references/stats-mode.md`](references/stats-mode.md)
- 지문 생성 방법(공통) → [`references/passage-generation.md`](references/passage-generation.md)

## 4. 채점 후: 기록 적재 (stats 외)

`_spec.md` 8절 절차대로 결과를 `records.jsonl`에 JSON 한 줄로 append한다.
적재에 실패하면(권한·디스크 오류 등) 그 JSON 한 줄을 학습자에게 보여 수동 저장할 수 있게 한다.
그다음 약점을 다음 형식으로 요약한다: **`다음 포커스: <태그1>[, <태그2>] — <한 문장 이유>`**.
이어서 학습자에게 "한 세트 더 / 난이도 조정 / 다른 모드 / 종료" 중 무엇을 할지 묻는다.

## 예시

- `/dokhae:dokhae quiz 4` → 심화(L4) 문제풀이. 기록 확인 → 지문만 제시 → 문항 → 채점·오답분석 → 기록.
- `/dokhae:dokhae stats` → 지문 생성 없이 `records.jsonl`을 분석해 추이·약점·추천만 출력.
- `"속독 연습 해줘"` → speed 모드로 직행(자연어가 한 모드를 명확히 가리키면 바로 진행, 둘 이상으로 해석되면 사용자에게 짧게 확인). 난이도 확인 후 시간 측정 핸드셰이크 시작.

## 핵심 원칙

- 채점은 **지문 내부 근거**로 한다. 오답은 "왜 틀렸는지 + 근거 문단/문장"을 반드시 제시한다.
- 모든 약점은 `_spec.md` 5절 **표준 태그**로만 기록한다(통계 일관성).
