한국주민운동교육원 트레이너 대상 AI 워크숍. 완도 보조강사 선행학습 1박2일의 강의 0·실습 100·5종 자산 모델을 그대로 가져오되, 도메인을 주민운동(CO) 현장으로 갈아끼운다. 초심자(트레이너)이므로 맨 앞에 짧은 담론(왜), 맨 뒤에 연대지능 동지·기여 마당을 붙인다. 수강료 없음 — 대신 연대지능의 동지로 합류하고 주민운동 도메인 개발에 기여한다.
개요
| 항목 | 내용 |
|---|---|
| 일시 | 7/25(토) 14:00–18:00 (4h) · 7/26(일) 10:00–12:00, 13:30–18:00 (6.5h) — 총 10.5h |
| 장소 | 한국주민운동교육원 교육실 (현장 집합, 전원 노트북) |
| 대상 | 주민운동 트레이너 ~8명 (대부분 AI 초심자) |
| 책임강사 | 김성훈 |
| 보조멘토 | 2~3인 (3인이 8명 밀착 분담) |
| 진행 방식 | 텔레그램 모듈 카드 → 각자 노트북·Claude에 복붙하면서 따라가기 |
| 산출물 | 트레이너 각자 5종 자산 + 연대지능 기여물 1건 + 현장 적용계획 1장 |
| 대가 | 무료 / 연대지능 동지 합류 + 주민운동 도메인 기여 |
사전 준비물 (D-7 발송 + 시작 30분 전 입실 점검)
- 노트북(맥/윈도우, RAM 8GB+, 관리자 권한) · 충전기 · 마우스 권장
- 교육실: 안정 와이파이 · 인당 콘센트 · 빔프로젝터
- 계정 사전 생성: GitHub · Cloudflare · Supabase · Anthropic(Claude Code 또는 API, 결제수단 포함)
- 사전 설치 가이드(발송): VSCode · 옵시디언 · Node.js 18 LTS · Git
- 개인 메모: 내 현장 문제 1개 (M6 자동화에서 씀)
- 챗 Claude 접근 (claude.ai 웹 로그인 또는 모바일 앱) — M1 시작 직후 시동 프롬프트용
⚠️ 초심자 8명 동시 환경설정은 시간을 가장 많이 먹는 구간. D-7 가이드 + 30분 일찍 입실 점검으로 본 세션 전에 최대한 끝낸다.
전체 시간표
Day 1 — 7/25(토) 14:00 ~ 18:00 (4h)
| 시간 | 분 | 모듈 | 산출물 |
|---|---|---|---|
| 14:00 | 30 | 여는 마당 [담론] — 주민운동과 연대지능 / 자기소개·AI 현황·환경 최종점검 | — |
| 14:30 | 70 | M1. Claude Code + CLAUDE.md | claude 작동 + 첫 CLAUDE.md |
| 15:40 | 10 | 휴식 | — |
| 15:50 | 70 | M2. VSCode + Git + GitHub | 내 레포 + 첫 push |
| 17:00 | 55 | M3. 옵시디언 + Quartz 위키 (1부) | 위키 로컬 빌드 |
| 17:55 | 5 | Day1 막힘 카드 1차 | 막힘 메모 (→ 연대지능 환류) |
Day 2 — 7/26(일) 오전 10:00 ~ 12:00 (2h)
| 시간 | 분 | 모듈 | 산출물 |
|---|---|---|---|
| 10:00 | 15 | 복습 · 막힘 해소 | — |
| 10:15 | 30 | M3 (2부) Cloudflare Pages 배포 | 위키 URL 라이브 |
| 10:45 | 70 | M4. Supabase DB (적응형) | DB 테이블 1개 또는 데이터주권·DB 개념 이해 |
| 11:55 | 5 | 오전 회고 → 점심 | — |
Day 2 — 7/26(일) 오후 13:30 ~ 18:00 (4.5h)
| 시간 | 분 | 모듈 | 산출물 |
|---|---|---|---|
| 13:30 | 35 | M5. 한 페이지 사이트 + CF Pages | 사이트 URL |
| 14:05 | 75 | M6. 자동화 1개 [캡스톤] (내 현장 문제) | 작동하는 스크립트 |
| 15:20 | 10 | 휴식 | — |
| 15:30 | 60 | 적용 설계 [트레이너 메타] — 내 교육·현장에 어떻게 쓰고 전파할까 | 적용계획 1장 |
| 16:30 | 60 | 연대지능 동지 마당 [기여] — 현장 지식 공동자산화 · 막힘 환류 · 동지 합의 | 기여물 1건 |
| 17:30 | 30 | 닫는 마당 — 졸업 시연 · 회고 · 후속 동지모임 합의 | — |
🟦 여는 마당 — 주민운동과 연대지능 (30분, 담론)
완도(보조강사)는 담론을 이미 알아 강의 0이었지만, 트레이너 초심자에게는 **‘왜’**가 먼저다. 단 30분, 짧고 굵게.
핵심 메시지
- 주민운동이 곧 연대지능이다 — 의식화(프레이리)·만남(김상봉)·관계와 조직화는 “혼자 똑똑해지는 지능”이 아니라 결사한 사람들 사이에서 작동하며 연대를 키우는 지능. 우리는 이미 그걸 현장에서 해왔다.
- 데이터 주권 — 우리 활동(간담회·주민 명부·의제·사례)이 만든 데이터를 남의 플랫폼이 가져가게 둘 것인가, 우리가 소유·통제할 것인가.
- AI는 학습이 아니라 추론 — 우리에게 필요한 건 모델을 새로 훈련시키는 게 아니라, 좋은 프롬프트·하네스·우리 데이터로 추론 품질을 끌어올리는 것.
- 오늘의 약속 — 너희는 수강생이 아니라 동지다. 이틀 뒤 손에 5종 자산을 들고 나가고, 주민운동 현장 지식을 연대지능에 먹인다.
진행 자기소개 1인 1분(이름·현장·AI 써본 경험) → 위 4가지 슬라이드 → 환경 최종점검(30분 전 입실분 마무리).
🔑 자기 Claude 인프라 공유 (M1 시작 전 필수)
핵심: 자기 Claude가 이 이틀의 컨텍스트와 “주민운동 트레이너로서 나”를 알아야 동료로 같이 간다.
A. CLAUDE.md 표준 템플릿 (자기 폴더에 그대로 저장)
# 나의 작업 컨텍스트 — 주민운동과 연대지능 트레이너 워크숍
## 내가 누구
- 이름: [본인]
- 역할: 한국주민운동교육원 트레이너 (주민조직가를 길러내는 사람)
- 내 현장: [지역·단체·주로 하는 일 한 줄]
- 워크숍: 2026-07-25~26, 한국주민운동교육원 교육실, 2일 10.5시간
- 책임강사: 김성훈
## 우리가 만들 5종 자산 (내가 직접 손에 들 것)
1. GitHub 레포 — 내 운동 기록 저장소
2. 위키 URL (옵시디언 + Quartz + CF Pages) — 교안·주민조직화 사례 지식백과
3. Supabase DB 테이블 — 주민 명부/모임·의제 기록 (관계망 데이터)
4. 한 페이지 사이트 URL — 활동가 명함/캠페인 랜딩
5. 작동하는 자동화 1개 — 내 현장 문제 해결 도구
## 너(Claude)에게 부탁하는 톤
- 한국어로
- 한 번에 1개 단계만, 명령어는 코드블록
- 모르면 "모른다" 먼저 말해라
- 내가 "다음" 하기 전엔 다음 단계로 안 넘어감
- 내 폴더 밖 파일은 건드리지 마라
- 정답기계 아닌 동료처럼, 내가 왜 막혔는지 짚어라
## 지금 단계
M1 진행 중 (모듈 바뀔 때마다 본인이 갱신)
## 내 현장 문제 (M6 자동화에서 씀)
[본인이 한 줄로 적어두기 — 예: 매주 간담회 녹취를 정리하는 데 1시간씩 걸린다]B. 첫 시동 프롬프트 (챗 Claude — claude.ai 웹/앱 — 에 던지기)
이 시점엔 아직 Claude Code 설치 전이라 챗 Claude에 던진다.
나는 한국주민운동교육원 트레이너 [본인]입니다.
오늘부터 이틀간 「주민운동과 연대지능」 AI 워크숍을 합니다. 책임강사는 김성훈입니다.
나는 AI/코딩이 처음입니다.
지금부터 이틀 동안 너(Claude)와 동료로 같이 갈 거야.
톤: 한국어 / 한 번에 한 단계 / 모르면 "모른다" 먼저 / 내가 "다음" 하기 전엔 다음 단계로 안 넘어감 / 정답기계 아닌 동료.
먼저 내 PC 환경을 점검해줘:
- OS 종류·버전
- 셸 (bash / zsh / PowerShell)
- Node 버전 (없으면 없다고)
- Git 버전 (없으면 없다고)
- VSCode 설치 여부
- 옵시디언 설치 여부
각 항목 어떤 명령어로 확인하는지 OS별로 알려주고,
내가 결과 붙여넣으면 "있어야 할 것 / 없는 것 / 설치 순서"를 표로 정리해줘.
지금은 점검만, 설치는 다음 단계에서 같이 할 거야.
모듈 카드 (텔방 복붙용 + 자기 클로드 프롬프트 포함)
각 카드는 그대로 텔레그램에 복붙 → 트레이너가 각자 노트북에서 [클로드에 줄 프롬프트] 블록을 자기 Claude에 복붙하면서 진행한다.
📦 M1. Claude Code + CLAUDE.md (70분)
목표: 자기 Claude(챗 + Claude Code)가 이틀 컨텍스트를 손에 쥔 동료가 된다.
| 시간 | 단계 | 매체 |
|---|---|---|
| 0~15’ | 챗 Claude에 첫 시동 프롬프트(위 B) 던지기 → PC 환경 보고 | claude.ai 웹/앱 |
| 15~35’ | 챗 Claude와 함께 없는 도구 설치 (Node·Git·VSCode·옵시디언) | claude.ai |
| 35~45’ | 자기 폴더 만들고 CLAUDE.md 표준 템플릿(위 A) 박기 | 텍스트 에디터 |
| 45~60’ | 그 폴더에서 claude 띄움 → 헬로월드 → CLAUDE.md 읽었는지 확인 | Claude Code |
| 60~70’ | 같은 질문 챗 Claude vs Claude Code 비교 — 컨텍스트 효과 체감 | 둘 다 |
자주 막힘 → 멘토 답변
| 증상 | 1차 답변 |
|---|---|
| Claude Code 결제카드 없어서 가입 막힘 | Anthropic 체험 크레딧 경로 또는 책임강사 키 임시 공유 |
claude: command not found | PATH 설정 한 줄 + 셸 재시작 카드 |
| 한글 깨짐 | 터미널 인코딩 UTF-8 한 줄 가이드 |
| CLAUDE.md 안 읽힌 듯 | 같은 폴더에서 claude 띄웠는지 확인, 파일명 정확히 CLAUDE.md |
📦 M2. VSCode + Git + GitHub (70분)
목표: 내 폴더가 GitHub 레포 1개가 되고, 변경하면 push로 올라간다. = 내 운동 기록 저장소.
순서
- (15’) Git 설치 확인 +
git config --global user.name/email - (15’) 폴더에서
git init→ README.md 만들고 첫 commit - (20’) GitHub 빈 레포 생성 → HTTPS+PAT로 remote 연결 → push
- (10’) VSCode Source Control 탭에서 수정·커밋·push 한 사이클
- (10’) 두 번째 파일 추가 후 다시 push
[클로드에 줄 프롬프트]
지금 이 폴더를 git 레포로 만들고 GitHub에 올리고 싶어.
나는 git 처음이야. 다음 흐름을 한 단계씩 알려줘.
각 단계 끝나면 "다음" 하기 전에 멈춰.
1) git 초기화 + 첫 커밋
2) GitHub에 빈 레포 만들고 remote 연결
3) HTTPS + Personal Access Token으로 push
README.md는 "내 이름 — 주민운동 트레이너 / 연대지능 동지" 한 줄만 들어가게.
자주 막힘 → 멘토 답변
| 증상 | 1차 답변 |
|---|---|
Permission denied (publickey) | SSH 말고 HTTPS+PAT 경로로 통일 |
| PAT 어디서 만드나요 | GitHub > Settings > Developer settings > PAT (classic) repo 권한만 |
LF/CRLF 경고 | git config --global core.autocrlf 한 줄로 통일 |
📦 M3. 옵시디언 + Quartz + CF Pages (1부 55분 + 2부 30분)
목표: 내 교안·주민조직화 사례 노트가 *.pages.dev 공개 위키로 뜬다.
1부 (Day1, 55’)
- (10’) 옵시디언 vault 생성 + 첫 노드 (
index.md— 내 소개) + 현장 사례 노트 1개 (예: “○○동 주민 간담회에서 의제 발굴한 과정”) - (15’) Quartz v4 fork → clone →
npm install - (15’)
content/폴더에 옵시디언 노트 복사 →npx quartz build --serve로컬 미리보기 - (15’) 노드 1개 더 추가하고 내부 링크 걸어보기
2부 (Day2, 30’)
5. (15’) GitHub push → Cloudflare Pages 프로젝트 연결
6. (15’) 빌드 명령 npx quartz build / 출력 디렉토리 public → 라이브 URL 확인
[클로드에 줄 프롬프트]
Quartz v4로 옵시디언 위키를 Cloudflare Pages에 배포하려고 해.
다음 순서를 한 단계씩 알려줘.
- Quartz 레포 fork 후 clone
- npm install
- content/ 폴더에 내 노트 한 개 넣기 (주민운동 현장 사례 한 건)
- 로컬에서 npx quartz build --serve로 미리보기
- GitHub에 push
- Cloudflare Pages에서 빌드 명령·출력 디렉토리 어디에 뭘 넣는지
Node 18 기준이야.
자주 막힘 → 멘토 답변
| 증상 | 1차 답변 |
|---|---|
npm install 실패 | Node 버전 확인 → 18 LTS 통일 |
| CF Pages 빌드 실패 | 빌드 명령 npx quartz build, 출력 public 카드 |
| 위키 URL 한글 깨짐 | Quartz slug 옵션 카드 |
📦 M4. Supabase 첫 테이블 + REST (70분) — 적응형
목표: 내 DB에 주민/모임 데이터 한 줄 들어가고, REST로 꺼내본다.
🔀 수준별 분기 (멘토 1:1 판단)
- 따라오는 사람 → 테이블 생성 + RLS + REST GET/POST까지 완성 (DB 자산 손에 쥠)
- 버거운 사람 → “데이터를 어디에 두는가 = 데이터 주권 / DB가 왜 우리 것이어야 하나”를 개념으로 이해하고, 멘토 화면으로 작동을 눈으로 확인. 자산은 못 쥐어도 ‘왜’는 가져간다.
- 트레이너 수준·습득력에 따라 다르게 간다. 전체를 여기 묶어두지 않는다 — 처지면 개념만 잡고 M5로.
순서 (완주 트랙)
- (10’) Supabase 프로젝트 생성
- (20’) 테이블
residents(id·name·area·note·created_at) — 주민 명부/관계망 예시 - (20’) RLS 켜기 + 정책 1개 (
anon읽기 허용) - (20’)
curl또는 Pythonrequests로 GET/POST 한 번씩
[클로드에 줄 프롬프트]
Supabase에 residents 테이블을 만들고, anon 키로 REST GET이 되게 하려고 해.
다음을 단계별로 알려줘.
1) 테이블 스키마(id uuid PK, name text, area text, note text, created_at timestamptz default now())
2) RLS 켜기 + anon에게 SELECT만 허용하는 정책 SQL
3) curl로 GET 한 줄 (URL, apikey 헤더, Authorization 헤더)
4) anon 키와 service 키 차이 (어디까지 노출 OK인지)
* 주민 개인정보가 들어갈 수 있으니 '공개해도 되는 데이터/아닌 데이터' 기준도 한 줄로 짚어줘.
자주 막힘 → 멘토 답변
| 증상 | 1차 답변 |
|---|---|
| REST가 빈 배열만 옴 | RLS 정책 누락 — anon SELECT 정책 추가 |
| anon/service 헷갈림 | ”anon=공개 OK, service=절대 클라이언트 X” 한 줄 |
| 주민정보 공개 우려 | 실명·연락처는 anon 공개 X — 개념 이해 트랙으로 전환 가능 |
| 너무 어렵다 | 개념 트랙(데이터 주권 이해)으로 분기, M5로 진행 |
📦 M5. 한 페이지 사이트 + CF Pages (35분)
목표: 내 위키·자산으로 연결되는 한 페이지 사이트가 라이브 URL로 뜬다. = 활동가 명함/캠페인 랜딩.
순서
- (10’) Claude Code로 한 페이지 정적 HTML 생성 (소개 + 위키·GitHub 링크)
- (10’) 로컬 브라우저로 열어보고 수정
- (15’) 새 GitHub 레포 → push → CF Pages 연결 (빌드 명령 비움 / 출력
/) → 라이브 URL
[클로드에 줄 프롬프트]
한 페이지 정적 사이트를 만들어줘.
- 파일: index.html 1개, CSS는 같은 파일에 인라인
- 내용: 내 이름, "주민운동 트레이너 / 연대지능 동지" 한 줄 소개, 내 위키 URL 링크, 내 GitHub 링크
- 모바일에서도 보기 편하게
- 빌드 도구 없이 그냥 정적 HTML
다 만들면 git add → commit → push 명령도 알려줘.
자주 막힘 → 멘토 답변
| 증상 | 1차 답변 |
|---|---|
| CF Pages 빌드 실패 | 정적 HTML이면 빌드 명령 비우고 출력 디렉토리 / |
| 모바일에서 글자 작음 | <meta name="viewport"> 한 줄 카드 |
📦 M6. 자동화 1개 (75분) — 캡스톤
목표: 내 현장 문제 1개가 코드로 풀려서 손이 줄어든다. 이게 이틀의 “아하” 순간.
주민운동 현장 자동화 예시 (사전 메모한 본인 문제로)
- 간담회·회의 녹취 → 요약·정리
- 주민 설문 응답 집계
- 주민 연락/문자 명단 정리·발송 준비
- 사례·활동 기록을 위키 노트로 정리
순서
- (15’) 사전 메모한 현장 문제 → 입력·처리·출력 3줄로 쪼개기
- (50’) Claude Code와 페어로 스크립트 작성·실행
- (10’) GitHub push + README에 사용법 1단락
[클로드에 줄 프롬프트]
나의 현장 문제는 이거야: [여기 본인 문제 1줄]
이걸 자동화로 풀려고 해.
먼저 입력·처리·출력 3줄로 잘게 쪼개주고, 그 다음 가장 단순한 스크립트(파이썬 또는 셸)로 시작하자.
환경변수는 .env에 두고, .gitignore에 .env 넣어줘.
한 번에 다 짜지 말고 한 단계씩 같이 가자.
자주 막힘 → 멘토 답변
| 증상 | 1차 답변 |
|---|---|
| API 키 노출 위험 | .env + .gitignore 카드 |
| 스케줄러 어디다 두나요 | 우선 수동 실행, cron/CF Cron은 다음 기회 |
| 문제가 너무 큼 | 입력·처리·출력 중 1개만 먼저 — 가장 작은 버전부터 |
🟩 적용 설계 — 트레이너 메타 층위 (60분)
트레이너는 “내가 쓰는 것”에서 멈추지 않는다. 내 교육·현장에 어떻게 쓰고, 누구에게 전파할까.
진행 워크시트 1장 작성 + 1인 2분 공유.
- 내가 오늘 만든 5종 자산 중 내 주민운동 현장에 바로 쓸 것 1개는?
- 내가 가르치는 주민조직가들에게 이 중 무엇을, 어떻게 전할 수 있을까?
- 우리 단체/지역에서 데이터 주권을 지키려면 지금 뭐부터?
- 막혔던 지점 — 내가 다른 사람을 도우려면 무엇을 더 알아야 하나?
산출물: 적용계획 1장 (위키 노드로 올리면 그대로 기여물 일부가 됨).
🟧 연대지능 동지 마당 — 기여 (60분)
수강료 대신 이것. 너희의 현장이 곧 연대지능의 도메인이다.
1) 현장 지식 공동자산화 (35’)
- 각자 주민운동 현장 지식·사례·교안 1건을 자기 위키 노드로 정제 → 공동 코퍼스/위키에 기여.
- 이게 주민운동 도메인 AI의 “먹이”가 된다. (내 데이터 → 우리 AI)
2) 막힘 카드 환류 (10’)
- Day1·Day2 막힘 메모를 모은다. “주민운동 트레이너가 AI 입문 때 어디서 막히는가” = 다음 기수 온보딩을 개선하는 1차 데이터.
3) 동지 합의 (15’)
- 후속 동지모임(주기·채널) 합의
- 각자 “내가 계속 기여할 것 1개” 선언
산출물: 1인 1기여물(위키 노드 또는 사례/교안) + 동지모임 합의.
🟦 닫는 마당 (30분)
- 졸업 시연: 1인당 자기 자산을 실제 작동으로 시연 (캡처·자랑 X, 라이브만)
- 회고: 이틀 전후 나의 변화 1인 1분
- 후속: 동지모임 일정 확정, 텔레그램 채널 유지
운영 규칙
- 모듈 시작 전 5종 자산 지도를 매번 1번 가리키며 “지금 어디”인지 합의
- 모듈마다 막힌 사람 있으면 멘토 3인이 1:1 분담 — 전체는 멈추지 않되 처지는 사람 방치 X
- M4(DB)는 적응형 — 수준 보고 완주/개념 트랙 분기. 여기서 전체를 묶어 시간 잡아먹지 않는다
- 핵심 4종(Claude Code·위키·사이트·자동화)은 전원 반드시 손에 쥐게, DB는 도전
- 모든 산출물은 GitHub·위키·DB·사이트로 라이브 — 실제 작동만 인정
- 막힘 메모는 버리지 말고 모은다 (연대지능 환류 자료)
관련 노드
- 사교원_보조강사_선행학습_1박2일 — 원형 모델 (완도 1박2일)
- project_social_intelligence — 연대지능 운동