경험 팩 (Experience Pack)
한 문장: 모든 프로젝트는 자신의 경험 원장을 유지합니다. 경계 테스트가 휴대 가능한 부분을 추출하고, 휴대 가능한 부분만이 프로젝트 간에 이동합니다.
타이핑되거나 받아쓰기된 입력 모두 작동합니다: 지저분하고 구어체적이며 여러 언어가 혼합된 "방금 무슨 일이 잘못되었는지"에 대한 설명은 원장 항목의 유효한 원자재입니다 — 스킬이 구조화하고, 사용자는 확인만 하면 됩니다.
두 계층
| 계층 | 파일 | 소유자 | 내용 규칙 |
|---|---|---|---|
| 원장 | 프로젝트 루트의 EXPERIENCE.md | 프로젝트 | 날짜, 구체적, 프로젝트 특정 정보 허용; 프로세스 경험만 — 절대 제품 진실(truth)이나 결정 등록부(decision register)가 아님 |
| 휴대 가능 | 프로젝트의 휴대용-교훈 파일(예: LESSONS.md) 및/또는 이 스킬의 참조 팩 | 이동 | 추상적, 제품 명사(product-noun) 없음, 다른 프로젝트에서 낯선 사람이 읽어도 참이어야 함 |
파이프라인: 무언가 발생 → 원장 항목 (같은 날, 아프고 있을 때) → 주기적 증류 과정 → 휴대용 교훈. 전략과 제품 결정은 절대 이동하지 않음: 경험은 상속되고, 결정은 죽습니다.
프로토콜 A — RECORD (원장)
먼저 루트 확인. 원장은 프로젝트 루트에 있습니다 — 따라서 쓰기 전에 프로젝트 루트가 있는지 확인하십시오. 현재 작업 디렉토리가 홈 디렉토리, Desktop, Downloads 또는 기타 비프로젝트 위치인 경우, 이 경험이 속한 프로젝트를 묻고 해당 위치에 원장을 작성하십시오. 홈이나 Desktop 디렉토리에 EXPERIENCE.md를 절대 생성하지 마십시오. 프로젝트 디렉토리를 확인할 수 없거나 대상에 쓸 수 없는 경우, 항목을 조용히 버리지 말고 완전히 포맷된 항목을 복사 가능한 텍스트로 출력하고 사용자에게 최종적으로 어디에 있어야 하는지 알려주십시오.
첫날(또는 첫 사용 시)에 프로젝트 루트에 EXPERIENCE.md를 생성하십시오. 다음 상황 중 하나라도 발생하면 항목을 추가하십시오: 사건으로 인해 실제 시간/비용/신뢰가 소모된 경우; 방법이 명백히 효과가 있었던 경우; 독립적인 검토자가 작성자가 놓친 것을 발견한 경우; 협업 패턴이 성공하거나 실패한 경우; 사용자가 에이전트의 방향을 수정한 경우.
항목 형식:
### YYYY-MM-DD — 제목
**무슨 일이 있었나:** 사실, 구체적으로.
**우리가 한 일:** 대응, 구체적으로.
**효과가 있었던 것 / 실패한 것:** 둘 다, 솔직하게.
**비용:** 시간 / 토큰 / 신뢰 / 재작업.
**휴대 가능?** 예 → <lesson-slug> | 아직 | 아니오 (프로젝트 특정).
규칙: 제품 사실이 아닌 프로세스 경험을 기록하십시오; 작업 공간에 오염 방지 규칙(금지된 명사)이 있는 경우, 원장은 이를 따릅니다; 이전 항목을 소급하거나 다시 작성하지 마십시오 — 수정 사항은 새 항목으로 추가하십시오. 프로젝트가 사용하는 언어로 원장 항목을 작성하십시오(사용자의 기존 습관을 따르고, 알 수 없는 경우 한 번 물어보십시오).
팩을 채택한 프로젝트에서 정제된 바인딩 규칙:
- 기록은 완료의 일부입니다. 사건 수정은 해당 원장 항목이 존재할 때까지 완료된 것으로 선언될 수 없습니다 — 원장은 일기가 아니라 게이트(gate)입니다. (초기 채택자는 하루에 8개의 항목을 소급 입력했습니다. 사건 당시 기록을 강제하는 것이 없었기 때문입니다; 전투 상황에서는 일기를 쓸 시간이 절대 없습니다.)
- 부트스트랩 가져오기는 합법적이며, 조용한 소급 날짜는 그렇지 않습니다. 기록이 있는 프로젝트에 팩을 채택할 때: 각 항목의 날짜를 사건 발생 날짜로 지정하고, 가져오기를 원장 상단의 날짜가 적힌 메모에 선언하십시오. 선언된 가져오기 없이 과거 날짜의 항목은 위조입니다.
- 배포 위생. 원장에는 프로젝트 내부 정보가 포함됩니다. 공개 원격 저장소가 있는 저장소에서는 기본적으로
EXPERIENCE.md를 gitignore 처리하고, 경계 테스트를 거친 휴대용 계층만 게시하십시오. - 발견 가능성. 프로젝트의 기본 진실 파일(CLAUDE.md / AGENTS.md / 시스템 맵 / 상태 문서)에 한 줄의 포인터를 추가하여 컨텍스트가 없는 에이전트가 원장을 찾을 수 있도록 하십시오; 발견 불가능한 원장은 다음 세션을 위해 아무것도 기록하지 않습니다.
- gitignore 처리된 원장은 선언된 탈출 경로가 필요합니다. 원장을 gitignore 처리(위 규칙)하면 복제/푸시 복구에서도 제거됩니다. gitignore 처리된 원장은 반드시 선언된 백업 또는 동기화 채널이 있어야 합니다 — 개인 저장소나 브랜치, 동기화된 폴더, 예약된 복사본; 사용자가 선택 — 원장의 헤더 노트에 한 줄로 기록됩니다. 이것이 없으면, 머신 변경이나 재복제 시 프로젝트의 기억이 조용히 지워집니다: 머신 전환은 다음 사건이 반복될 때까지 아무도 눈치채지 못하는 기억상실증이 됩니다.
프로토콜 B — DISTILL (경계 테스트)
"휴대 가능? 예/아직"으로 표시된 각 원장 항목에 대해 다음 테스트를 순서대로 실행하십시오:
- 대체 테스트 — 모든 고유 명사와 특정 숫자를 제거하십시오. 해당 진술이 여전히 무언가를 가르치는가? 무너지면 → 결정이므로 죽습니다.
- 메커니즘 vs 선택 — 그것이 사물이 작동하거나 실패하는 방식(메커니즘 → 상속)을 말하는가, 아니면 누가/무엇이/얼마나 선택되었는지(선택 → 죽음)를 말하는가?
- 재유도 테스트 — 똑똑한 낯선 사람이 새로운 프로젝트의 자체 컨텍스트로부터 그것을 재유도할 수 있는가? 오래된 프로젝트의 전략에서만 나올 수 있다면, 그것은 오래된 전략이 말하는 것이므로 죽습니다.
- 매몰 비용 테스트 — 그것의 유일한 가치가 그에 노력을 쏟았다는 사실인가? 죽습니다.
- 검증 가능성 테스트 — 그것을 확인하는 데 죽은 명사가 필요한가? 추상화하거나 죽게 두십시오.
생존자는 하나의 추상적인 명령형 줄 + 이유 + 적용 방법으로 다시 작성되고, 출처(provenance) 태그 ("이전 프로젝트, 증류됨 · 날짜")가 붙습니다. 휴대용 계층은 영어(또는 이중 언어)로 작성하십시오: 원장은 프로젝트가 사용하는 어떤 언어로든 작성될 수 있지만, 휴대용 교훈은 낯선 사람에게 전달됩니다 — 프로젝트 지역 관용어는 그들을 좌초시킵니다. 모호한 항목은 기본적으로 죽음(DIE)입니다 — 원장은 이후 과정에서 복구할 수 있도록 보관합니다. 다운그레이드(DOWNGRADE, 드물게): 전략 형태의 인공물은 명시적인 가설(HYPOTHESIS)과 재검증 조건으로만 다른 프로젝트에 들어갈 수 있으며, 오직 사용자의 호출에 의해서만, 절대 조용히 이루어지지 않습니다.
프로토콜 C — SHARE / APPLY (다른 프로젝트가 이 프로젝트로부터 배움)
- 받는 프로젝트에서:
references/rebuild-experience-pack.md(이 스킬의 패키지된 이야기) 및/또는 소스 프로젝트의 휴대용-교훈 파일을 읽으십시오 — 절대 소스 프로젝트의 원장, 진실 파일 또는 전략을 읽지 마십시오. - 받는 프로젝트의 자체
EXPERIENCE.md를 부트스트랩합니다(프로토콜 A, 루트 확인 포함). - 팩의 다섯 가지 조언을 설정 체크리스트로 살펴보고, 적용되는 것을 채택하며, 차이점을 받는 프로젝트의 첫 번째 원장 항목으로 기록합니다.
- 채택된 교훈은 출처 태그와 함께 받는 프로젝트에 들어갑니다; 이는 사용자 결정이 아닌 엔지니어링 제약 조건이며 — 사용자는 이 중 어느 것이든 재분류할 수 있습니다.
경계 — 이 스킬이 절대 하지 않는 일
- 어느 방향으로든 프로젝트 간에 전략, 제품 사실, 페르소나, 가격, 채널, 클라이언트 이름 또는 계정 ID를 절대 복사하지 않습니다.
- 원장을 결정 등록부로 취급하지 않습니다; 결정은 자체 출처 규칙을 가진 프로젝트의 진실/결정 파일에 있습니다.
- 다른 스킬이나 사용자의 글로벌 설정을 절대 편집하지 않습니다.
- 격리/보관된 자료를 팩을 "풍부하게" 하기 위해 읽지 않습니다; 증류 입력은 원장과 라이브 파일만입니다.
인접 스킬과의 관계
- conclude-rounds — 현재 대화의 라운드를 검토합니다. 사용자가 이 대화에 대해 "복반(复盘)" 또는 "되돌아보자"고 말하는 것은 거기에 속합니다; 이 스킬은 대화를 넘어서는 프로젝트 수준의 사후 분석을 소유합니다.
- iteration-close — 지속적인 방향의 반복을 종료합니다(증류, 짐 제거, 태깅, 시드). 둘 다 설치된 경우 experience-pack의 프로토콜 B를 그 일부로 실행합니다; iteration-close는 종료 의식을 소유합니다. 두 스킬 모두 준수해야 할 주의사항: "git 히스토리가 아카이브다"라는 것은 추적된 파일에만 적용됩니다. 추적되지 않거나 gitignore 처리된 자료(공개 저장소의 개인 IP)는 아카이브가 없습니다 — 정리 전에 명시적인 로컬 규칙(예:
_retired/)으로 격리하십시오; 삭제는 정리가 아니라 영구적인 손실입니다. - diagnose-project-rebuild — 방향이 교체될 때, 여기의 경계 테스트는 무엇이 살아남을지 결정하는 데 사용되는 동일한 테스트입니다; 재구축 스킬은 진단 및 제거 메커니즘을 소유하고, 이 스킬의 휴대용 계층만을 입력으로 받습니다.
- 이 스킬은 제품에 구애받지 않으며(product-agnostic) 그 상태를 유지해야 합니다: 프로젝트의 명사가 이 파일이나 그 참조에 나타난다면, 그것은 결함입니다 — 제거하십시오.
엔진 노트
여기 있는 어떤 것도 특정 공급업체의 런타임에 의존하지 않습니다. "새 세션"과 "컨텍스트 없는 탐색"은 이전 컨텍스트 없이 시작된 모든 에이전트 인스턴스(새 채팅, 하위 에이전트 또는 두 번째 도구)를 의미합니다. 스킬 런타임이 없는 경우, 수동으로 프로토콜을 적용하십시오: 위의 파일 형식과 테스트가 스킬 자체입니다.
참조
references/rebuild-experience-pack.md — 실제 다섯 번의 재구축 오염 사가에서 얻은 패키지된, 명사 없는 경험: 여섯 가지 오염 문, 소스-잠금 재설정 방법, 세 가지 탐색 검증 스택, 다중 AI 협업 프로토콜, 다섯 가지 예방 조언.