강의·세미나·워크숍이 끝난 뒤 녹취 전사본과 AI 요약을 옵시디언 볼트의 '강의 자산'으로 바꾸는 후처리 스킬. 강의 기록 허브(요약·인덱스) + 원문을 그대로 보존한 전사본 + 주장 하나씩 나눈 지식 카드(원소화) + 기존 노트와의 크로스링크(상호 연결) + Obsidian Bases 조회 표까지 한 번에 만들고, 읽기 전용 마감 게이트로 누락을 검사한다. 트리거: '강의 자산화', '강의 자산으로 만들어줘', '전사본 정리해줘', '강의 기록 만들어줘', '이 강의 카드로 나눠줘', '녹취 원소화', 'lecture asset', 'turn this talk transcript into notes', 'atomize this lecture'. 강의 전 기획·자료 준비가 아니라 강의가 끝난 뒤(post-lecture) 전용.
Installs into .claude/skills of the current project.
Sponsors
SSkills DirectorySkills Directory
Know which skills are safe — weekly.
SSkills DirectorySkills Directory
Is that skill safe to install?
Are you the author of Lecture Asset?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/johnfkoo951-lecture-asset)
---
name: lecture-asset
description: "강의·세미나·워크숍이 끝난 뒤 녹취 전사본과 AI 요약을 옵시디언 볼트의 '강의 자산'으로 바꾸는 후처리 스킬. 강의 기록 허브(요약·인덱스) + 원문을 그대로 보존한 전사본 + 주장 하나씩 나눈 지식 카드(원소화) + 기존 노트와의 크로스링크(상호 연결) + Obsidian Bases 조회 표까지 한 번에 만들고, 읽기 전용 마감 게이트로 누락을 검사한다. 트리거: '강의 자산화', '강의 자산으로 만들어줘', '전사본 정리해줘', '강의 기록 만들어줘', '이 강의 카드로 나눠줘', '녹취 원소화', 'lecture asset', 'turn this talk transcript into notes', 'atomize this lecture'. 강의 전 기획·자료 준비가 아니라 강의가 끝난 뒤(post-lecture) 전용."
---
# lecture-asset — 강의 자산화 (post-lecture)
강의를 마친 뒤 **전사본을 다시 쓸 수 있는 지식 자산으로 바꾸는** 워크플로. 강의 한 번이 ① 이벤트 기록(허브) ② 바뀌지 않는 원자료(전사본·요약) ③ 재사용 지식 카드 ④ 날짜·주제별 조회(Base)의 4층 자산이 된다.
> 원칙: 일이 끝나면 회고를 거쳐 다음에 다시 쓸 수 있는 형태로 남긴다. 녹취를 저장만 하면 다시 열지 않는 파일이 된다. 이 스킬은 그 회고의 강의 버전이다.
## 이 스킬이 하는 세 가지
| 하는 일 | 볼트에서의 모양 | 단계 |
|---|---|---|
| **요약·인덱싱** | 허브 노트(한 줄 명제, 카드 목차, 타임코드) + Bases 표 | 7, 9 |
| **원소화** | 주장 하나 = 카드 하나. 제목은 주장형 문장 | 5 |
| **상호 연결** | 카드마다 `## 연결` 절. 같은 주장은 새 카드 대신 기존 카드에 누적 | 5, 6 |
커뮤니티 플러그인이 필요 없다. Properties, 위키링크, 콜아웃, Bases(코어 플러그인)만 쓴다.
## 경로 설정 (처음 한 번)
아래 자리표시자는 **예시 경로**다. 쓰는 볼트의 폴더 구조에 맞게 바꾼다.
| 자리표시자 | 예시 값 | 무엇 |
|---|---|---|
| `{projects}` | `Outputs/Lectures/` | 강의 준비 자료와 강의 기록이 있는 폴더 |
| `{cards}` | `Assets/Lecture Cards/` | 지식 카드 라이브러리 (강의마다 하위 폴더 하나) |
| `{shared}` | `Assets/Lecture Cards/_Shared/` | 강의를 넘나드는 공통 자산 노트 (선택) |
| `{base}` | `Bases/Lecture.base` | 강의 조회 Base. 예시 파일은 이 스킬의 `assets/Lecture.base` |
| `{corrections}` | `Assets/Transcription/corrections.yaml` | STT 오인식 교정 사전 (선택) |
| `{wiki-vault}` | `My Wiki` | 개념을 따로 정리하는 두 번째 볼트 이름 (선택) |
| `{author}` | `[[Your Name]]` | 작성자 노트 |
- 사용자가 경로를 알려 주지 않았으면 볼트에서 비슷한 폴더를 찾아 제안하고 확인받는다. 없는 폴더를 마음대로 만들지 않는다.
- 확정한 값은 볼트의 에이전트 설정 파일(`CLAUDE.md`, `AGENTS.md` 등)에 적어 두라고 제안한다. 다음 강의부터 묻지 않는다.
## 입력
| 입력 | 필수 | 비고 |
|------|------|------|
| 강연 전사본 (STT 텍스트) | ✅ | 녹음 파일만 있으면 먼저 전사한다 |
| AI 요약 (녹음 앱 요약 등) | 선택 | 있으면 원문 그대로 보존 |
| 일정 정보 (캘린더 캡처·텍스트) | 선택 | 행사명·슬롯 시각·소요시간 추출 |
| 행사명·주최·청중 정보 | 선택 | 없으면 볼트에서 찾아본 뒤 사용자에게 확인 |
## 출력 맵 (4층 구조)
```
{projects}/{강의 프로젝트 폴더}/ ← ①② 이벤트 기록 (준비 자료와 같은 폴더)
├── (기존 준비 자료 — 손대지 않음)
├── YYYY-MM-DD {행사} - {제목}.lecture.md ← ① 허브 (type: lecture)
├── YYYY-MM-DD {행사} - 전사본.md ← ② 원자료 (type: transcript, 불변)
├── YYYY-MM-DD {행사} - AI 요약.md ← ② 원자료 (있을 때만)
└── NN-강의-회고와-개선.md ← 회고 (번호는 기존 준비 자료 다음 번호)
{cards}/YYYY-MM-DD {행사}/ ← ③ 지식 카드 (재사용 라이브러리)
└── {주장형 제목}.md × 8~16장 ← type: lecture-chunk
{base} ← ④ 조회 (하나만 둔다. type 필터로 자동 등록)
```
**배치 원칙**: 이벤트 기록은 산출물이고 지식 카드는 재사용 리소스다. 카드를 강의 폴더 안에 넣지 않는다. 미래의 강의와 글이 꺼내 쓰는 라이브러리이기 때문이다.
## 워크플로 (0~10단계)
### 0. 시작 게이트 (필수)
작업 도중에 이 문서가 고쳐졌는데, 시작할 때 읽은 옛 버전대로 끝내서 단계 하나가 통째로 빠진 적이 있다. 그래서 시작할 때 세 가지를 한다.
- **시작 시각을 적는다**: `date +%Y-%m-%dT%H:%M`. 마감 게이트의 `--started-at` 값이다.
- **이 문서를 끝까지 다시 읽는다.** 세션 초반이나 컨텍스트 압축 전에 읽은 내용을 믿지 않는다. 같은 세션에서 두 번째 강의를 처리할 때도 다시 읽는다.
- **여러 작업이 같이 고치는 파일의 수정 시각을 적어 둔다** (예: `{corrections}`). 편집 직전에 다시 읽고 덧붙이기만 한다.
### 1. 강의 프로젝트 폴더 탐색
`{projects}` 아래에서 날짜·행사명으로 기존 준비 폴더를 찾는다 (`rg -l "{행사 키워드}"`). **있으면 그 폴더에 기록 파일을 추가**하고, 없으면 `{projects}/YYYY-MM-DD-{행사-슬러그}/`를 만든다. 준비 자료(README·대본·슬라이드 노트)가 있으면 반드시 읽고 링크 대상으로 쓴다.
### 2. STT 교정 사전 로드 (선택)
`{corrections}`가 있으면 읽어 오인식 패턴(사람 이름, 전문용어, 도구 이름)을 파악한다. 이 강의에서 **새로 확인된 반복 오류는 사전 말미에 날짜 섹션으로 추가**한다. 강의를 할 때마다 다음 전사가 정확해진다.
- 섹션 머리는 `# YYYY-MM-DD 추가 — {행사}` 형식을 지킨다. 마감 게이트가 이 날짜를 읽는다.
- 섹션을 넣으면 파일 맨 위 `# Last updated:` 날짜도 같은 날짜로 올린다.
- 사전이 없으면 이 단계를 건너뛰고, 이번에 찾은 오류 목록으로 사전을 새로 만들지 사용자에게 묻는다.
### 3. 전사본 보존 노트 작성
- 파일: `YYYY-MM-DD {행사} - 전사본.md` (type: `transcript`)
- **원문 불변**: STT 텍스트를 그대로 보존한다 (타임스탬프·화자 라벨 포함, 수정 금지).
- 상단에 `[!warning]+ 원문 불변 원칙` 콜아웃 + **STT 교정 메모 표** (전사 표기 → 올바른 표기 → 비고). 확정과 추정을 구분한다.
- 사회자 구간처럼 신뢰도가 낮은 부분은 `[!info]-` 콜아웃으로 표시한다.
- **원자료 확보**: 녹음 앱에서 내보낸 파일이 있으면 그 바이트를 그대로 복사한다. 대화에 붙여 넣은 전사본은 화면에 보이는 텍스트를 다시 타이핑하지 말고 원문을 먼저 파일로 저장한다 (Claude Code는 세션 기록 JSONL에 붙여 넣은 원문이 남아 있다).
- 붙여 넣기 하나에 요약과 전사가 함께 있으면 경계 위치에서 둘로 나눠 각각 요약 노트와 전사본 노트에 넣는다. 원문 안에 `## Transcript` 같은 제목이 다시 나올 수 있으니 제목으로 자르지 말고 위치를 확인해서 자른다.
- 프론트매터 `sourceBodySha256:`에 보존한 부분의 SHA-256을 적는다. 보존 여부는 마감 게이트 `--preserve 원문::노트`로 검사한다.
### 4. AI 요약 보존 노트 작성 (있을 때)
- 파일: `YYYY-MM-DD {행사} - AI 요약.md` (type: `note`, `summarySource:` 명시)
- 요약 원문을 그대로 보존하고, 상단 `[!info]+` 콜아웃에 "STT 오류가 남아 있음, 정제본은 허브 참조"라고 적는다.
### 5. 지식 카드 분해 (원소화 — 핵심 단계)
전사를 8~16개의 **원자 단위 주장**으로 나눈다. 30분 강의 기준 12~16장.
**카드 기준**:
- 제목 = **주장형 문장**. 개념어 하나만 제목으로 쓰지 않는다 (나중에 같은 이름 충돌 + 무엇을 주장하는지 안 보임). 예: `위임은 내가 아는 일에만 성립한다`, `볼트를 둘로 나누면 체화된 지식과 학습 중인 지식이 섞이지 않는다`
- 카드 하나 = 주장 하나 + 그 근거·사례. 유머나 일화도 다시 쓸 가치가 있으면 카드로 만든다 (아이스브레이커 자산).
- 본문 구조: H1 → `[!quote]+ 강연 발췌 · 타임코드` (교정 적용된 인용) → 2~4문단 해설 → `## 연결` 절
- 해설에 "재사용 포인트"(다음 강의나 글에서 어떻게 쓸지) 한 줄을 넣는다.
- **발췌 인용 규칙**: 인용에는 전사본 교정 메모 표에 있는 교정만 적용하고, 생략한 곳은 `…`로 표시한다. 말을 바꾸거나 매끄럽게 다듬지 않는다. 읽기 위해 더 고쳐야 하면 인용 끝에 `(다듬음)`을 붙인다. 원문과 다른 인용은 다음 강의 대본에서 실제 발화로 오인된다.
- **카드는 재사용된다**: 고객사명, 참석자 실명, 내부 수치, 비공개 발언은 카드 본문에 그대로 쓰지 않는다. 필요하면 "대기업 임원 교육에서"처럼 익명화한다.
**⚠️ 중복 검사 (누적 원칙)**: 카드를 만들기 전에 볼트 검색(`rg`, Obsidian 검색, 로컬 검색 엔진)으로 같은 주장의 기존 카드가 있는지 확인한다. **있으면 새 카드를 만들지 않고 기존 카드의 `lectures:` 배열에 이번 강의를 추가**하고 새 발췌를 본문에 덧붙인다. 카드는 강의를 넘나들며 두꺼워진다 (Karpathy LLM Wiki의 "file back into the wiki" 패턴).
### 6. 링크 프로토콜 (상호 연결 — 카드마다 `## 연결` 절)
우선순위 순서로 찾아서 연결한다.
1. **강의 기록 허브** (모든 카드 필수) + 준비 자료
2. **카드 라이브러리의 기존 자산** — `{shared}`의 공통 자산이나 다른 강의 카드와 크로스링크한다. **새 카드마다 이번 이벤트 폴더 밖의 `{cards}` 노트로 가는 링크가 최소 1개** 있어야 한다. 이 링크가 없으면 카드가 이번 강의 안에 고립된다. 마감 게이트가 FAIL로 잡는다.
3. **볼트의 기존 노트** — 에세이, 영구 노트, 개념 노트를 검색해 연결한다.
4. **두 번째 볼트 (선택)** — 개념을 `{wiki-vault}`에 따로 정리하고 있으면 `obsidian://open?vault={wiki-vault}&file=...` 또는 Advanced URI 형식으로 연결한다 (위키링크는 볼트 경계를 넘지 못한다). 경로는 손으로 조립하지 말고 `ls`·`find` 결과의 볼트 상대경로를 그대로 URL 인코딩한다. 상위 폴더 하나를 빼먹어 링크가 전부 죽을 뻔한 적이 있다.
- **같은 파일명이 볼트에 둘 이상이면 경로형 링크**를 쓴다 (예: `회고와-개선`, `00-마스터-노트`는 강의마다 있다). 짧은 이름 링크는 Obsidian이 엉뚱한 강의의 파일로 연다. 마감 게이트가 FAIL로 잡는다.
5. **인물** — 주최자·공동 연사에게 인물 노트가 있으면 `[[이름]]`으로 연결한다.
6. **선행·후속 카드** — 같은 강의 카드끼리 논리 순서로 서로 링크한다.
#### 표 안의 위키링크 별칭 — 필수 검증
- Markdown 표 셀 안에서는 별칭 구분자를 이스케이프한다: 일반 문장·YAML은 `[[대상|표시명]]`, 표 셀은 `[[대상\|표시명]]`. 표 안 임베드도 같다.
- 역슬래시는 정확히 하나다. 이미 이스케이프된 구분자를 다시 이스케이프하지 않는다.
- 헤더·구분선·모든 행의 **렌더 기준 셀 수**를 대조한다. 링크가 두 셀로 갈라지거나 빈 헤더 열이 생기면 실패다.
- 원문 보존 구역, 전사·요약 원본, 코드펜스, YAML은 일괄 수정하지 않는다.
- 작성·수정한 노트에 이 스킬의 읽기 전용 검사기를 돌린다 (`markdown-it-py` 필요, 미설치를 통과로 보고하지 않는다):
```bash
# 볼트 루트에서. {skill-dir}은 이 SKILL.md가 있는 폴더
python3 "{skill-dir}/scripts/check_table_wikilinks.py" --root "$PWD" "작성한 노트.md"
```
- Python으로 표를 생성한다면 같은 모듈의 `format_wikilink(target, alias, in_table=True)`를 재사용할 수 있다.
### 7. 강의 허브 노트 작성 (요약·인덱싱)
- 파일: `YYYY-MM-DD {행사} - {제목}.lecture.md`
- 필수 절: 한 줄 명제 → 📌 행사 정보 표 → 🃏 지식 카드 목차 (강의 진행 순서 + 타임코드 표) → 🎭 실제 진행 vs 준비 대본 차이 → 📂 준비 자료 → 🔗 관련 노트 → 🛰 두 번째 볼트 링크 (있을 때) → ♻️ 재사용 메모
- ♻️ 재사용 메모에는 청중 반응이 가장 컸던 지점, 반복해서 나온 질문, 이 강의에서 이어 쓸 만한 글·영상 후보를 근거(질문 원문, 타임코드)와 함께 적는다. 회고 노트로 링크한다.
### 8. 회고·개선 노트 작성 (필수)
카드가 *무엇을 말했나*라면 이 노트는 *어떻게 진행됐나*다. 프로젝트 폴더에 기존 준비 자료 다음 번호로 만든다 (예: 준비 자료가 08까지면 `09-강의-회고와-개선.md`).
> [!important] 잘한 것을 개선보다 **먼저** 쓴다
> 개선만 나열하면 **무엇이 효과가 있었는지가 기록되지 않는다.** 다음 회차에 계획을 고칠 때 잘 작동하던 것까지 같이 바꿔 버린다.
| § | 내용 | 규칙 |
|---|---|---|
| **§1 잘한 것** | 보존할 판단 | **먼저 온다.** 항목마다 전사본 인용·타임코드·수치 근거. 칭찬이 아니라 "무엇이 왜 작동했나"의 기록. 끝에 **바꾸지 말아야 할 것**을 한 줄로 압축 |
| **§2 진행 개선** | 다르게 할 것 | 항목마다 **관찰(무엇을 봤나) → 개선(무엇을 바꾸나)**. 관찰 없는 일반론은 넣지 않는다 |
| **§3 소주제 분류** | 재사용 단위 | 이번 카드를 **A급(단독 모듈 성립) · B급(다른 모듈의 한 꼭지) · C급(강사용 메모, 청중용 아님)** 으로 가른다. A급은 묶을 카드·실습·소요시간을 적는다 |
| **§4 못 다룬 것** | 다음에 반드시 | 시간에 밀려 빠진 것. **사전 질문에서 요청된 항목이 여기 몰리는지** 대조한다. 몰려 있으면 그것이 다음 설계의 1순위다 |
**무대 수치 대조**: 무대에서 말한 숫자(표본 수, 쪽수, 비용, 노트 수)가 기존 기록과 다를 수 있다. §2에 `무대 발화 | 기존 기록 | 출처 노트 | 판정(일치/불일치/미확인)` 표를 둔다. 미확인으로 넘기기 전에 볼트에서 원 기록을 먼저 찾는다. 공개 자료에는 기록과 일치하는 숫자만 쓴다.
허브의 ♻️ 재사용 메모는 이 노트의 요약이다. 허브에서 이 노트로, 이 노트에서 허브와 전사본으로 링크한다.
### 9. Base 등록 확인
`{base}`는 `type == "lecture"` / `type == "lecture-chunk"` 필터라 **프론트매터만 맞으면 자동 등록**된다. 강의마다 Base를 새로 만들지 않는다. Base가 아직 없으면 이 스킬의 `assets/Lecture.base`를 `{base}` 위치에 복사하자고 제안한다 (뷰 3개: 강의 기록 날짜순, 지식 카드 날짜순, 지식 카드 테마별).
### 10. 마감 게이트와 보고 (필수)
보고하기 전에 읽기 전용 검사기를 돌린다. **FAIL 0이어야 완료라고 보고한다.** WARN은 하나씩 열어 의도한 씨앗(아직 안 만든 노트)인지 실수인지 판정한다.
```bash
# 볼트 루트에서
python3 "{skill-dir}/scripts/check_asset_run.py" --root "$PWD" \
--hub "{projects}/{폴더}/{허브}.lecture.md" --cards-dir "{cards}/{YYYY-MM-DD 행사}" \
--started-at "{0단계 시작 시각}" \
--touched-from "{누적한 기존 카드 경로 목록 파일}" --touched "{회고 노트}" \
--corrections "{corrections}" \
--preserve "{전사 원문 파일}::{전사본 노트}" "{요약 원문 파일}::{AI 요약 노트}"
```
`--shared`를 주지 않으면 `--cards-dir`의 상위 폴더(카드 라이브러리 전체)를 공통 자산으로 본다. `--corrections`·`--preserve`·`--touched`는 해당할 때만 넣는다.
| 검사 | 막는 실수 |
|---|---|
| 스킬 문서가 시작 뒤 바뀌었나 | 작업 중 추가된 단계 누락 |
| 새 카드마다 허브가 든 `lectures:`, `## 연결`, 이벤트 폴더 밖 카드 라이브러리 링크 | 고립된 카드 |
| 위키링크가 실제 파일 하나로 풀리는가 (둘 이상이면 FAIL, 0이면 WARN) | 동명 파일 링크가 다른 강의로 연결 |
| `obsidian://` 링크의 대상 파일이 그 볼트에 있는가 | 두 번째 볼트 경로 오류 |
| 허브의 회고 링크와 `transcript:` 필드 | 회고 단계 누락 |
| 교정 사전 머리 날짜가 최신 섹션 날짜 이상인가 | 머리 날짜 미갱신 |
| 원문 바이트가 노트에 그대로 들어 있는가 | 원문 손상 |
- 스킬 문서 변경 FAIL이 나오면 바뀐 문서를 다시 읽고 새 단계를 이번 강의에 적용한 뒤 게이트를 다시 돌린다. 시작 시각은 바꾸지 않는다.
- 게이트는 읽기만 한다. 고치는 일은 사람이 보고 판단한다. 회귀 시험: `python3 scripts/test_asset_run.py`, `python3 scripts/test_table_wikilinks.py`.
**보고**: 게이트 요약 줄(`summary: FAIL=0 WARN=n`)과 남긴 WARN의 판정, 생성·수정한 노트 전체 목록(카드 수·링크 수 요약 포함)을 보고한다. 노트마다 바로 열리는 링크를 단다: `[노트 제목](obsidian://open?vault={볼트 이름}&file={볼트 상대경로 URL 인코딩})`. 링크를 만들기 전에 파일이 실제로 있는지 확인한다.
## Frontmatter 템플릿
공통: YAML은 2칸 스페이스 · 위키링크는 `"[[...]]"` 큰따옴표 · `description`은 1~2문장을 큰따옴표로 (콜론이 들어가면 따옴표가 없을 때 YAML이 깨진다) · 날짜는 ISO 8601. 볼트에 자체 분류 필드(`category`, `index` 등)가 있으면 함께 넣는다.
### ① 허브 (type: lecture)
```yaml
---
type: lecture
aliases:
- {행사} 강연 기록
description: "Lecture record hub for ..."
author:
- "{author}"
date created: YYYY-MM-DD
date modified: YYYY-MM-DD
tags:
- lecture-record
status: completed
date: YYYY-MM-DD # Base 정렬 키
lectureTitle: {세션 제목}
eventName: "{행사명}" # 콜론이 들어갈 수 있으니 항상 따옴표
eventHost: {주최}
sessionSlot: {Part/슬롯}
slotStart: "HH:MM"
slotEnd: "HH:MM"
durationMin: {발표 분}
lectureFormat: conference-talk | seminar | corporate-training | university | workshop
lectureRole: speaker | panelist | moderator
audience: {청중}
recordingSource: {녹음 앱 이름}
transcript: "[[... - 전사본]]"
aiSummary: "[[... - AI 요약]]"
chunkCount: {카드 수}
chunkFolder: "{cards}/YYYY-MM-DD {행사}/"
---
```
### ② 전사본 (type: transcript)
```yaml
type: transcript
# + 공통 필드
date: YYYY-MM-DD
lecture: "[[허브.lecture]]"
recordingSource: {녹음 앱 이름}
sourceBodySha256: {보존한 원문의 SHA-256}
```
### ③ 지식 카드 (type: lecture-chunk)
```yaml
type: lecture-chunk
# + 공통 필드
tags:
- lecture-card
- {주제 태그}
status: completed
lectures:
- "[[허브.lecture]]" # 배열. 여러 강의에서 누적된다
lectureDate: YYYY-MM-DD # 처음 추출한 강의 날짜 (Base 정렬 키)
timecode: "00:14:30"
chunkTheme: {주제 묶음 — 예: 위임|볼트구조|데이터주권}
```
## Anti-patterns
- ❌ 전사 원문을 "읽기 좋게" 수정하기 (원문 불변 — 교정은 메모 표와 인용에서만)
- ❌ 카드 제목을 개념어 하나로 (`하네스 엔지니어링.md` → 나중에 충돌하고 주장이 안 보인다)
- ❌ 같은 주장의 카드를 또 만들기 (기존 카드에 누적한다)
- ❌ 카드를 강의 프로젝트 폴더 안에 두기 (재사용 라이브러리 `{cards}`로)
- ❌ 두 번째 볼트 노트를 `[[위키링크]]`로 참조하기 (볼트 경계 — `obsidian://` URI만)
- ❌ 두 번째 볼트 경로를 손으로 조립하기, 동명 파일을 짧은 이름으로 링크하기
- ❌ 강의마다 Base를 새로 만들기 (Base 하나, type 필터로 자동 등록)
- ❌ 확인 안 된 STT 추정 교정을 확정처럼 적기 ("(추정)" 표시)
- ❌ 발췌 인용을 다듬고 표시하지 않기
- ❌ 고객사명·참석자 실명이 든 카드를 공개 자료에 그대로 쓰기
- ❌ 회고에 개선사항만 적기 (잘한 것이 §1로 먼저 온다)
- ❌ 붙여 넣은 전사본을 화면 텍스트에서 다시 옮겨 적기 (원문을 파일로 저장해 쓴다)
- ❌ 세션 초반에 읽은 스킬 문서를 믿고 시작하기 (0단계에서 다시 읽는다)
- ❌ 마감 게이트를 돌리지 않거나 FAIL이 남은 채로 완료 보고하기
## 규칙이 생긴 이유
이 스킬은 실제 강의를 여러 차례 자산화하며 다듬었다. 규칙 대부분은 한 번 빠뜨린 실수에서 나왔다.
| 빠뜨린 것 | 반영한 곳 |
|---|---|
| 작업 도중 스킬 문서에 단계가 추가됐는데, 처음 읽은 버전대로 끝내서 그 단계가 빠졌다 | 0단계 시작 게이트, 10단계 스킬 변경 검사 |
| 새 카드 여러 장이 공통 자산과 연결되지 않아 이번 강의 안에 고립됐다 | 6단계 "이벤트 폴더 밖 링크 최소 1개" |
| 두 번째 볼트 경로를 손으로 조립하다 상위 폴더가 빠져 링크가 전부 죽을 뻔했다 | 6단계 경로는 `ls` 결과에서, 게이트 URI 검사 |
| 강의마다 있는 같은 이름의 회고 노트를 짧은 링크로 걸어 다른 강의 회고가 열렸다 | 6단계 경로형 링크, 게이트 동명 검사 |
| 교정 사전에 섹션을 넣고 머리 날짜를 올리지 않았다 | 2단계, 게이트 날짜 검사 |
| 회고에 개선만 적어, 다음 회차에 잘 되던 진행 방식까지 바꿨다 | 8단계 §1 잘한 것 먼저 |
| 표 안 위키링크의 별칭 구분자 때문에 표가 깨져 열이 늘었다 | 6단계 표 검증, `check_table_wikilinks.py` |