19. 녹음 파일이 회의록이 되기까지
1 Hour, 12 Minutes to Build a Transcript Organizer
도구를 만들면 다음 문제가 생긴다.
이전 글에서 자동 실행 스킬 이야기를 했고, 이번에는 바로 다음 문제로 넘어갔다. 3시간짜리 녹음 파일이었다. 인사이터 강의 3회차. 이미 2회차를 정리할 때 1시간을 썼다. 인코딩 문제 때문에. UTF-16으로 저장된 파일을 Claude Code가 읽지 못해서, 수동으로 변환하느라.
이번엔 스킬을 만들기로 했다. "녹음 정리해줘"라고 말하면 자동으로 실행되는.
계획 먼저, 15분
바로 구현하지 않았다. Claude Code Plan Mode에서 먼저 계획서를 썼다.
TRANSCRIPT_ORGANIZER_SKILL_PLAN.md
목적: 일회용 스크립트 제거 및 Skill 통합
삭제 대상: 3개 임시 스크립트
자동화 수준: Model-invoked
구현 순서 (7단계):
1. Skill 디렉토리 구조 생성
2. SKILL.md 작성
3. 템플릿 3개 작성
4. encoding-detector.sh 작성
5. 기존 스크립트 삭제
6. 테스트
7. README 문서화
예상 시간은 2시간 20분이었다. 계획서를 쓰는 데 15분 걸렸다.
Phase 1~3: 뼈대 세우기
폴더 구조
mkdir -p ~/.claude/skills/transcript-organizer/templates
mkdir -p ~/.claude/skills/transcript-organizer/utils
templates/에는 강의·미팅·인터뷰 3종 템플릿. utils/에는 인코딩 변환 스크립트 하나.
SKILL.md: 트리거가 핵심이다
Skills는 description에 적힌 내용으로 실행 여부를 판단한다. "녹음 정리해줘"라는 말을 듣고 Claude가 이 스킬을 선택하려면, description에 그 키워드가 있어야 한다.
처음에 짧게 썼다가 다시 고쳤다.
# 처음 (나쁜 예)
description: Organize transcripts
# 수정 후 (좋은 예)
description: |
긴 녹음 텍스트 파일(강의, 미팅, 인터뷰)을 자동 분석 및 정리.
"녹음 정리", "강의 정리", "미팅록", "인터뷰 정리", "txt 파일 분석", "트랜스크립트" 등 언급 시 자동 실행.
인코딩 자동 감지(UTF-16→UTF-8), 내용 분석, PKM 저장까지 완전 자동화.
키워드를 한국어로 나열하는 게 포인트다. Claude는 description을 읽고 "이 상황에 이 스킬이 맞다"를 판단한다.
인코딩 문제는 처음부터 자동화
2회차 때 1시간을 잡아먹은 주범이 UTF-16이었다. Windows 녹음 앱에서 저장한 텍스트 파일은 UTF-16으로 나온다. Claude Code의 Read 도구는 UTF-8을 기대한다. 그래서 깨진다.
# utils/encoding-detector.sh
ENCODING=$(file -I "$FILE_PATH" | grep -oP 'charset=\K[^ ]+')
if ; then
iconv -f UTF-16 -t UTF-8 "$FILE_PATH" > "/tmp/$(basename "$FILE_PATH" .txt)-utf8.txt"
fi
1시간 → 1분. 스크립트 한 개로.
그런데 글자가 틀렸다
v1.0을 완성하고 실제로 써봤다. 3시간짜리 강의 녹음, 109,907토큰. 정리는 됐다. 그런데 이상한 단어가 곳곳에 박혀 있었다.
"국토교수실 3회차 행사가..."
국토교수실이 뭔가. 이 강의는 브랜딩 세미나인데.
STT(음성-텍스트 변환) 앱이 만든 오류였다. 발음이 비슷한 단어로 잘못 받아쓴 것. 원본 텍스트에는 이런 게 수십 개 있었다.
Phase 4: 맥락 기반 교정 — v1.1
여기서 스킬을 고쳤다. Phase 4를 추가했다.
핵심 원칙은 하나다: 고정된 사전이 아닌, 맥락으로 교정한다.
"국토교수실"이 왜 틀렸는지는 사전을 보면 알 수 없다. 맥락을 봐야 안다. 이 녹음이 어떤 행사 녹음인지, 이 세션에서 어떤 내용을 다루는지를 먼저 이해하고, "이 맥락에서 이 단어는 말이 안 된다"를 판단하는 방식.
Claude Code가 Phase 2에서 주제와 도메인 정보를 수집하고, Phase 3에서 전체 텍스트를 읽은 뒤, Phase 4에서 그 정보를 종합해 교정 후보를 탐지한다.
교정 테이블 예시
| 오인식 | 교정 | 비고 |
|---|---|---|
| 국토교수실 / 국토클린 | 북토크 | 문맥 부적합 - 행사 형식 |
| 오창민 / 오탁미 | 오탁민 | 표기 불안정 - 저자 이름 |
| 루트 코즈 / 롤스코즈 | Root Cause | 영어 음차 오류 |
| 피부 / 피어 | VP/Peer (추정) | 영어 직책 - 맥락상 추정 |
확신이 있는 교정과 추정인 교정을 구분해서 표시한다. 최종 문서에는 "음성인식 오류 교정 노트" 섹션을 넣어, 어떤 단어를 왜 고쳤는지 투명하게 남긴다.
AI가 받아쓴 틀린 글자를, AI가 맥락으로 교정한다. 사람이 하면 문서 전체를 한 줄씩 읽어야 하는 작업이다.
v1.0 → v1.2: 이 사람은 계속 고친다
스킬을 한 번 만들고 끝내지 않았다.
| 버전 | 변경 내용 | 계기 |
|---|---|---|
| v1.0 | 초기 버전 (인코딩 + 템플릿 + 기본 워크플로우) | 스킬 첫 구축 |
| v1.1 | Phase 4 STT 오인식 교정 추가 | 실제 사용에서 오인식 발견 |
| v1.2 | Phase 4 자동 적용 전환, Phase 5 스키마 기반 구조화 추가 | 사용자 확인 단계 제거 요청 + 저장 폴더별 포맷 통일 필요 |
v1.1은 교정 목록을 사용자에게 보여주고 확인을 받았다. 매번 "이거 맞죠?" 하는 게 번거로웠다. v1.2에서 자동 적용으로 바꿨다. 대신 최종 문서에 교정 내역을 전부 남겨서, 나중에 검토할 수 있게 했다.
v1.2에서는 저장 경로에 _schema*.md 파일이 있으면 그 구조를 우선 적용하는 기능도 넣었다. 같은 프로젝트 폴더에 반복해서 녹음이 쌓일 때, 스키마 하나로 전체 형식을 맞출 수 있다.
전체 수치
| 항목 | 결과 |
|---|---|
| 총 소요 시간 | 1시간 12분 |
| 예상 시간 | 2시간 20분 |
| 단축률 | 48% |
| 삭제된 일회용 스크립트 | 3개 |
| 생성된 파일 | 6개 (SKILL.md + 템플릿 3 + utils + README) |
| 지원 인코딩 | UTF-16, EUC-KR, UTF-8 |
| 지원 유형 | 강의 / 미팅 / 인터뷰 |
| 분량 기준 | 1시간 미만 300줄+, 1-2시간 500줄+, 3시간+ 700줄+ |
| 직접 인용 기준 | 최소 10회 이상 |
계획서를 15분 쓰고 1시간 절약했다.
FAQ
Q. STT 교정이 잘못되면 어떻게 되나요?
최종 문서에 모든 교정 내역이 "음성인식 오류 교정 노트"로 남는다. 어떤 단어를 어떤 이유로 고쳤는지 표로 정리되어 있어서, 오교정을 찾아 수동으로 되돌릴 수 있다. 확신이 낮은 교정에는 "(추정)" 표기를 붙인다.
Q. 화자 구분이나 타임스탬프가 없는 파일도 되나요?
된다. 템플릿 적용은 가이드일 뿐, 내용에 맞게 유연하게 조정된다. 단순 텍스트 파일도 처리한다.
Q. 파일이 너무 크면 어떻게 하나요?
110,000토큰 이상이면 청크 처리 안내가 나온다. 3시간 강의(109,907토큰)는 통과했다. 분량 기준(700줄+)은 원본이 3시간 이상일 때 적용된다.
Q. 저장 위치를 어떻게 지정하나요?
Phase 2에서 4가지를 묻는다: 유형, 날짜, 주제, 저장 위치. 저장 위치를 "모름"이라고 하면 inbox 폴더에 들어간다. 파일명에 키워드가 있으면 현재 워크스페이스에서 관련 폴더를 자동으로 찾아 제안한다.
Q. 스킬을 직접 만들 수 있나요?
이 스킬을 만드는 데 코딩 지식이 필요하지 않았다. SKILL.md는 마크다운이고, 템플릿도 마크다운이다. 인코딩 스크립트는 Claude Code가 썼다. 내가 한 건 요구사항을 말하는 것과 계획서를 검토하는 것.
다음 글에서
녹음 파일은 정리됐다. 이제 데이터가 쌓인다. 강의, 미팅, 인터뷰 — 모두 마크다운으로.
다음 문제는 엑셀이다. PKM에 쌓인 마크다운 데이터를 스프레드시트로 내보내거나, 반대로 엑셀 데이터를 PKM으로 가져오는 것. 다음 글에서는 엑셀 정리 스킬을 만드는 과정을 다룬다.
Claude Code Season 2 — Skills 시리즈
이전 글: 18. 구글 캘린더 스킬 만들기
다음 글: 20. 엑셀 정리 (예정)