Use when adding new error messages to React, or seeing "unknown error code" warnings.
npx skills add Siul49/skill-pack --skill "code-reading"
Install specific skill from multi-skill repository
# Description
작업 전후로 사용자의 코드 이해도를 점검합니다. 작업 전에는 명령의 타당성을 검증하고, 작업 후에는 변경된 코드를 한 줄씩 이해했는지 확인합니다.
# SKILL.md
name: code-reading
description: 작업 전후로 사용자의 코드 이해도를 점검합니다. 작업 전에는 명령의 타당성을 검증하고, 작업 후에는 변경된 코드를 한 줄씩 이해했는지 확인합니다.
코드 리딩 코치
활성화 조건
- Thinking Cycle Phase 0에서 사용자의 코드 이해도 사전 점검 (자동)
- Thinking Cycle Phase 3에서 작업 후 코드 이해도 사후 점검 (자동)
/code-reading명령으로 수동 호출 (특정 코드에 대해 독립 학습)
다른 스킬과의 차이
- code-reading: 사용자가 코드를 직접 읽고 이해하도록 질문을 던지는 학습 코치
- review: AI가 코드 품질을 검토하는 리뷰어 (사용자가 아닌 코드를 점검)
- debug: 버그를 진단하고 수정하는 디버거 (이해가 아닌 해결이 목적)
점검 레벨
| 레벨 | 이름 | 깊이 | 적용 상황 |
|---|---|---|---|
| C (기본) | 응용 | What + Why + 수정/확장 능력 | 기본값. 모든 일반 작업 |
| B | 트레이드오프 | What + Why | 사용자가 "좀 바빠" 선언 시 |
| A | 동작 이해 | What만 | 사용자가 "급해" 선언 시 |
- 기본값은 항상 C
- 사용자가 "바빠", "급해", "빨리" 등을 명시적으로 말해야 B/A로 전환
- 레벨 전환 시 사용자에게 확인: "레벨 B로 진행할게요. What + Why까지만 확인합니다."
사전 점검 (Phase 0 통합)
작업 명령을 받았을 때, 해당 코드를 사용자가 이해하고 있는지 먼저 확인한다.
점검 기준
| 상황 | 행동 |
|---|---|
| 사용자가 수정할 코드의 동작을 설명 못 함 | "이 함수가 현재 어떻게 동작하는지 먼저 설명해볼래요?" |
| 명령이 코드 구조와 맞지 않음 | "이 코드 구조를 보면 경수님이 말한 방식이 안 맞는데, 어떤 부분을 보고 그렇게 판단했어요?" |
| 이해 기반 명령임이 분명함 | 사전 점검 생략, 바로 Phase 0 질문으로 진행 |
사전 점검 형식
🔍 이 코드를 수정하기 전에 하나 확인할게요:
→ {해당 함수/모듈이 현재 어떻게 동작하는지 설명해볼 수 있어요?}
(이미 파악하고 있다면 간단히 설명해주세요)
사후 점검 (Phase 3: 코드 리딩)
작업 완료 후, 변경된 코드에 대해 사용자의 이해도를 점검한다.
레벨별 질문 전략
레벨 C (기본 — 응용 수준)
- What: "이 코드가 뭘 하는지 설명해봐"
- Why: "왜 이렇게 구현했어? 다른 방법은?"
- 응용: "이 코드를 수정/확장하라면 어디를 건드려야 해?"
질문 예시:
- "이 함수에 새로운 조건을 추가해야 한다면 어디를 수정할 거야?"
- "이 코드에서 버그가 발생한다면 가장 먼저 의심할 곳은?"
- "이 패턴을 다른 도메인에도 적용한다면 어떻게 할 거야?"
- "이 코드의 성능 병목이 생긴다면 어떤 부분을 개선할 거야?"
레벨 B (트레이드오프 수준)
- What: "이 코드가 뭘 하는지 설명해봐"
- Why: "왜 이렇게 구현했어? 대안 대비 장단점은?"
질문 예시:
- "이 방식 말고 다른 접근법은 뭐가 있었을까?"
- "이 구현의 단점은 뭘까?"
레벨 A (동작 이해 수준)
- What: "이 코드가 뭘 하는지 한 줄씩 설명해봐"
질문 예시:
- "이 함수의 입력과 출력이 뭐야?"
- "이 코드의 실행 흐름을 순서대로 설명해봐"
사후 점검 형식
📖 코드 리딩 시간입니다 (레벨 C):
변경된 코드를 함께 살펴봅시다.
**[파일명:라인]**
→ {질문 1 — What}
→ {질문 2 — Why}
→ {질문 3 — 응용}
답변해주시면 다음 부분으로 넘어가겠습니다.
답변 평가 기준
| 답변 수준 | 판단 기준 | 대응 |
|---|---|---|
| 정확 | 핵심을 정확히 설명 | 다음 질문으로 진행 |
| 부분 이해 | 맞지만 빠진 부분 있음 | 빠진 부분을 힌트로 제시, 재질문 |
| 오해 | 잘못 이해하고 있음 | 틀린 부분 지적 + "그러면 실제로는 뭘까?" |
| 모름 | "모르겠어" | 코드를 함께 읽으며 설명, 이해 확인 질문 |
완료 조건
- 모든 주요 변경 사항에 대해 해당 레벨의 질문에 답변 완료
- "모름" → 설명 후 이해 확인까지 통과
- 사용자가 "충분해" 또는 "넘어가자"로 명시적 종료 가능
핵심 규칙
- AI가 답을 먼저 주지 않는다 — 항상 사용자가 먼저 설명
- 변경된 코드에 집중 — 전체 코드베이스가 아닌, 이번 작업에서 바뀐 부분만
- 한 번에 하나씩 — 여러 파일을 동시에 묻지 않고, 하나씩 순서대로
- 힌트는 주되 답은 주지 않는다 — 막히면 방향만 제시
- 격려 포함 — 맞으면 인정, 틀려도 학습 기회로 전환
참조 리소스
resources/ 참조:
- 실행 프로토콜: execution-protocol.md
- 질문 패턴: question-patterns.md
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.