# 중급 · 폴더 위임 — 실습 입력

## 작업 폴더는 직접 만듭니다

이 폴더에 있는 것이 **입력 전부**입니다. 작업 폴더는 학습자가 만듭니다.

1. 빈 폴더를 하나 만듭니다.
2. `CLAUDE.md`를 그 폴더 **루트**에 넣습니다. Claude Code가 매 명령마다 읽습니다.
3. `input/`을 통째로 복사합니다. **input 안의 파일은 수정하지 않습니다.**
4. `working/`과 `output/` 빈 폴더를 만듭니다.

```
내작업폴더/
  CLAUDE.md     상시 규칙
  input/        원본 — 읽기 전용
  working/      판단의 흔적 (계획 · 변경 로그 · 검토 기록)
  output/       산출물 (보고서 · 지도 · 대시보드)
```

## 규칙은 CLAUDE.md에, 절차는 스킬에 (선택)

`CLAUDE.md`는 **매 명령마다** 읽힙니다. 그래서 안 변하는 규칙 — 원본 보존·개인정보·
추정 표시 — 을 둡니다. 반대로 프롬프트 A–L처럼 **그 일을 할 때만 필요한 절차**는
**스킬**로 두면 필요할 때만 꺼내집니다. 오늘은 붙여넣어도 되지만, 같은 절차를
다음 달에도 쓸 것이라면 스킬로 옮겨 두는 편이 낫습니다.

| 쓰는 도구 | 두는 곳 |
|---|---|
| Claude Code · Claude Desktop | 작업 폴더 안에 `.claude/skills/<이름>/SKILL.md` |
| claude.ai (웹) | `Settings → Capabilities`에서 **코드 실행**을 켠 뒤, `Customize → Skills`에 스킬 폴더를 ZIP으로 올립니다 |

```markdown
---
name: 민원-품질검사
description: 민원 CSV의 중복·결측·이상치를 점검하고
  working/cleaning_log.md에 건수와 이유를 남긴다
---

① input/ 원본은 열기만 한다
② 중복·결측·범위 이탈을 각각 센다
③ 건수·행번호·이유를 로그에 남긴다
④ 사람 확인을 기다린다
```

**`name`과 `description`만이 발동을 결정합니다.** 절차 본문은 발동에 영향을 주지
않습니다. 그래서 어려운 쪽은 절차가 아니라 "언제 이것을 꺼내야 하는가"를 한 줄로
쓰는 일이고, 그것이 이 과정에서 내내 연습한 `[맥락]` 쓰기와 같습니다.
직접 쓰기 어려우면 Claude에게 `skill-creator`로 만들어 달라고 하면 됩니다.

## input 파일

| 파일 | 내용 | 규모 |
|---|---|---|
| `complaints_200.csv` | 무단투기 민원 원본 (오염·개인정보 포함) | 212행 × 16열 |
| `cctv_existing_30.csv` | 기존 CCTV — 설치연도·화소·촬영방향·야간성능 | 30행 × 10열 |
| `district_profile.csv` | 행정동 현황 — 인구·세대·상가·원룸비율·분리수거함 | 7행 × 12열 |
| `project_conditions.txt` | 사업조건 — 예산 3천만원 · 단가 9종 · 제약 6개 | 텍스트 |

민원 파일에는 신고자 연락처와 생년이 들어 있습니다.
**안전 정제 단계 전에는 지도·보고서·대시보드에 쓰지 않습니다.** 좌표는 가상입니다.

## 웹앱을 만들기 전에 — PRD 한 장

블록마다 **BUILD APP** 프롬프트가 나옵니다. 그 프롬프트는 즉흥적으로 쓴 요청이 아니라
**PRD**(Product Requirements Document, 제품 요구사항 문서) — *만들기 전에 무엇을 만들지
적어 두는 한 장* — 을 그대로 옮긴 것입니다. 붙여넣기 전에 일곱 칸이 다 찼는지 확인합니다.

| 칸 | 무엇을 적나 | 프롬프트에서는 |
|---|---|---|
| ① 목적 | 이 화면이 어떤 결정을 돕는가 — 한 문장 | 슬라이드 하단 한 줄 |
| ② 사용자 | 누가 언제 어디서 보는가 | `[맥락]` |
| ③ 입력 | 파일 이름과 컬럼 이름을 그대로 | 입력 스트립 + `[맥락]` |
| ④ 핵심 기능 | 기능마다 답하는 질문을 붙여서 | `[지시]` ①~⑤ |
| ⑤ 판정 규칙 | 경계를 숫자로 — 확신도 0.5 · 반경 200m · 3천만원 | `[지시]` 안의 숫자 |
| ⑥ 성공 기준 | 분 · 건수 · 횟수로 잴 수 있게 | **비어 있음 — 직접 채웁니다** |
| ⑦ 제외 범위 | 이번에 넣지 않을 것 둘 이상 | `[제약]` |

**⑥ 성공 기준만 비워 두었습니다.** 블록마다 "이것이 되면 성공"을 한 줄로 적고 나서
프롬프트를 붙여넣습니다. 이 칸이 비면 "만들었다"와 "실제로 쓰인다"를 구분할 수 없습니다.
일곱 칸 중 하나라도 못 적겠으면, 앱을 만들지 말고 PRD를 먼저 고칩니다.

## 이 폴더에 없는 것

완성본 웹앱과 정답키는 들어 있지 않습니다.
**교안의 프롬프트로 직접 만드는 것이 과제입니다.**

데이터는 전부 교육용 가상(합성) 자료입니다.

