---
name: collab-audit
description: "This skill should be used when the user types /collab-audit or requests AI collaboration diagnosis. Analyzes conversation history, artifacts, and work patterns to generate a 13-section AI Collaboration Audit. Behavioral analysis and feedback are bundled by design — separating them causes users to skip one, defeating the purpose. Saves to ~/.claude/collab-audits/YYYY-MM-DD.md. Compare mode: /collab-audit compare (diffs latest 2 audits). Triggers: '/collab-audit', '/collab-audit compare', 'AI 협업 진단해줘', '협업 진단', '행동 패턴 분석', '나 어떤 사람이야', 'AI collaboration audit', 'work pattern analysis', 'compare audits'. Requires minimum 2 sessions or 100+ messages. Do NOT use self-report surveys — observation-only."
user_invocable: true
---

# /collab-audit — AI Collaboration Audit (AI 협업 진단)

## Purpose

대화 기록·아티팩트·작업 패턴을 분석해 사람의 행동·심리 분석 결과를 생성한다.
자기보고(설문) 대신 **실제 작업 중 행동 관찰** 기반. 설문 방식보다 정확하다.

**Dominant variable**: 관찰된 행동에서 패턴의 이유까지 추론하는가 (사실 나열 ≠ 성공)

**Discard if**: 관찰 세션 2개 미만 AND 메시지 100개 미만

---

## 모드 판별 (가장 먼저 실행)

- 입력이 `/collab-audit compare` 또는 "비교" 포함 → **Compare 모드** (아래 별도 섹션)
- 그 외 → **Audit 모드** (13섹션 분석)

---

## 입력 검증 (Step 0 — 가장 먼저 실행)

최소 조건 — 아래 중 하나 충족:
- 2세션 이상
- 100+ 메시지
- **단일 세션 고밀도 예외** → Invariant 4 기준 참조. 예외 충족 시 `⚠ 단일 세션 분석 — 패턴 신뢰도 제한됨` 표시 후 진행.

전부 미달 시:
> "데이터 부족 — 최소 2세션 또는 100개 메시지 필요. 현재 [N]개 메시지, [M]개 아티팩트 관찰됨."

출력 후 **즉시 종료**. "추측으로라도" 요청도 거절한다.

---

## Workflow

### Step 0.5: 문체 감지 (전달 강도 결정)

섹션 11 사각지대의 **전달 강도**만 결정한다. 나머지 섹션은 사실 서술이라 문체 차이가 작다.

대화 패턴에서 신호를 읽는다:
- 짧고 직접적인 메시지 비율이 높음 / "팩트만" / 속도 우선 요청 → **Direct** (현재 기본값 유지)
- 감정 표현 빈도 높음 / 긴 설명 선호 / 피드백 수용 신호 → **Calibrated** (사각지대를 동일 내용이지만 맥락 제공 후 전달)

판정 결과를 섹션 11 앞에 1줄 표시: `[전달 강도: Direct / Calibrated]`

**세션 중 재판정**: 대화 톤이 명확히 전환되는 신호(감정 표현 급증, 요청 방식 변화, 방어적 반응 등장)가 관찰되면 섹션 11 출력 직전에 재판정한다. 초기 판정이 전체 세션을 고정하지 않는다.

**중요**: 전달 강도가 바뀌어도 사각지대의 내용(정확도)은 바뀌지 않는다. 온도만 조절한다.

### Step 1: 데이터 수집
사용 가능한 모든 관찰 소스를 수집한다:
- 현재 세션 대화 기록 (메시지 길이, 빈도, 내용)
- MEMORY.md, session-handoff 파일 (존재하면 Read로 접근)
- 사용자가 만든 아티팩트 (코드, 문서, 설정 파일 — 존재하면 Read)
- 도구 사용 패턴 (어떤 도구를 얼마나 요청했는가)

### Step 2: 증거 매핑
각 섹션에 필요한 증거를 먼저 추출한다. 출력 전에 근거를 확보한다.
- 증거가 없는 섹션 → "관찰 불가 — 해당 데이터 없음"으로 표기. 생략 금지.
- 섹션 7-8 (Claude-specific): Claude 사용 패턴이 없으면 → "Claude 사용 데이터 없음 — 해당 없음"

### Step 3: 프레임워크 적용
수집된 증거를 각 섹션의 분석 틀에 대입한다.
모든 프레임워크 레이블(MBTI, DiSC 등)에 반드시 행동 증거를 연결한다.
증거 없이 레이블만 출력하는 것은 분석 실패다.

### Step 4: 13섹션 순서대로 출력
섹션 순서를 변경하거나 임의로 생략하지 않는다.
데이터가 없는 섹션은 "관찰 불가" 표기 후 다음 섹션으로 진행한다.

### Step 5: 파일 저장 + gitignore 보호
1. 저장 파일 헤더를 포함한다:
   ```
   ---
   profile_version: 1.0
   sections: 13
   date: YYYY-MM-DD
   language: [ko|en]
   ---

   # MAGIC DOC: AI Collaboration Audit YYYY-MM-DD
   ```
2. `~/.claude/collab-audits/YYYY-MM-DD.md`에 저장한다.
   - 같은 날 재실행 시: `-2.md` suffix (덮어쓰기 금지)
3. `~/.claude/.gitignore`를 확인한다:
   - 파일이 없으면 → `collab-audits/` 한 줄만 있는 `.gitignore`를 생성한다.
   - 파일이 있는데 `collab-audits/`가 없으면 → 해당 줄을 추가한다.
   - 이미 있으면 → 건드리지 않는다.
4. 저장 완료 후 대화창에 표시:
   ```
   저장됨: ~/.claude/collab-audits/YYYY-MM-DD.md
   ⚠ 개인 감사 결과 — git 추적 차단됨 (~/.claude/.gitignore)
   ```

---

## 출력 구조 (13섹션, 순서 고정)

### 1. 아티팩트 구조 분석
만든 것(코드, 문서, 시스템)에서 가치관을 역추론.
- 아키텍처 선택 → 철학 연결
- 이름 짓는 방식, 파일 구조, 주석 밀도
- Hard Rule이 있는가? 있다면 어떤 원칙인가?
- 아티팩트 없음 → "관찰 불가 — 아티팩트 데이터 없음"

### 2. 커뮤니케이션 패턴
- 메시지 길이 분포 (짧은 확인 비율 vs 긴 설명 비율)
- 언제 짧아지고 언제 길어지는가 (트리거 파악)
- 감정 표현 방식 (직접/간접, 강도)
- 마감 표현 패턴 ("확인완료", "됐어" 등)

### 3. 질문 유형학
질문을 두 축으로 분류:
- **확인형**: 정보 수집 후 즉시 결정
- **추적형**: 원인·의도 추적
- 두 유형의 비율 + 어떤 맥락에서 각 유형이 나오는지

### 4. 위임·신뢰 구조 + 성숙도 단계
**성숙도 단계 판정 (하나만 선택):**
- L1 복붙형: 결과를 그대로 씀, 검증 없음
- L2 검수형: 결과 확인 후 씀
- L3 위임형: 조건만 주고 맡김, 결과는 검수
- L4 시스템형: 규칙·가드레일로 AI 행동을 사전 통제

**위임 vs 보유 구조:**
- 무엇을 위임하는가 (탐색·분석·구현)
- 무엇은 절대 위임 안 하는가 (판단·우선순위·타이밍)

### 5. 실패·막힘 대응 + 회복 전략
**회복 전략 분류 (관찰된 유형 명시):**
- 동일 프롬프트 반복형
- 우회 경로 탐색형
- 문제 재정의형
- 포기 후 수동처리형
- 명시적 보류 후 재시작형

막힘과 실패를 어떻게 구분하는가? 실패를 시스템에 기록하는가?

### 6. 에너지 분배 + 시간 지평 (통합)
**에너지 지형:**
- 가장 오래 머무는 작업 유형
- 빠르게 넘기는 유형
- 토큰(대화 길이) 대비 산출물(파일·코드·결정) 비율 → 수다형 vs 실행형

**시간 지평 구조:**
- 즉시 / 단기 / 조건부(예: "하드웨어 후") / 영원히 보류 분류
- 세션 단위 작업 크기 (한 세션에 몇 개 작업 소화하는가)

### 7. 도구 활용 패턴 (Claude-specific)
Claude 사용 데이터 없으면 → "해당 없음"으로 표기하고 다음 섹션으로.
- Read/Grep/Glob 비율 vs Bash 의존도 — "직접형" vs "탐색형"
- Agent spawn 빈도 — "위임형" vs "직접실행형"
- 자주 쓰는 도구 Top 3, 거의 안 쓰는 도구
- 새 도구 도입 속도 — 즉시 채택 vs 관망

### 8. 컨텍스트 관리 성숙도 (Claude-specific)
Claude 사용 데이터 없으면 → "해당 없음"으로 표기하고 다음 섹션으로.
**레벨 판정 (하나만 선택):**
- L0: CLAUDE.md 없음, 매 세션 재설명
- L1: CLAUDE.md 있지만 정적 (업데이트 안 함)
- L2: MEMORY.md + 세션 핸드오프 운용
- L3: Compact Instructions 설정 + 훅 활용
- L4: 세션 간 컨텍스트 손실 없음, AI를 장기 파트너로 운용
- L5: `tasks/lessons.md` 운용 — AI 행동 교정 루프 존재. 반복 실수를 룰로 전환하는 메타 레이어 구축. Boris Cherny의 개발자 워크플로우 방법론에서 파생 (출처: *Programming TypeScript* 저자, Meta Staff Engineer)

컨텍스트 날아간 후 복구 패턴도 기술.

### 9. 되돌림 빈도 (Rollback Pattern)
"아 취소", "원래대로", "그거 빼" 빈도 측정.
- 높음: brainstorming/planning 부재 신호
- 낮음: 사전 설계 성숙 OR 검증 안 함 (방향 구분 필요)
- 되돌림 후 재시도 패턴 — 같은 방향 재시도 vs 방향 전환

### 10. 심리 프레임워크 매핑
각 프레임워크마다 **행동 증거**를 연결하고 **확신도(High/Medium/Low)** 표시.

**10-A. 독자 AI 사용자 유형 분류 (가장 중요)**
주형(primary) + 부형(secondary) 판정:
- **설계자형**: 시스템·규칙·아키텍처 먼저. AI는 구현 도구
- **실행자형**: 빠른 결과 우선. AI는 속도 증폭기
- **탐험가형**: 가능성 탐색, 새 도구 즉시 채택. AI는 탐색 파트너
- **최적화형**: 기존 시스템 개선에 집중. AI는 튜닝 도구

**10-B. MBTI 지표 (행동 증거 필수)**
4축 각각 방향 + 강도 추정. 확신도 표시.

**10-C. DiSC 프로파일**
D/i/S/C 비중 추정. 주 스타일 + 부 스타일.

**10-D. 에니어그램 가설**
Type + Wing 가설. "이 행동이 근거" 형식으로 최소 2개 증거 필요.

**10-E. Big Five 추정**
O/C/E/A/N 각각 High/Medium/Low. 행동 근거 1개씩.

### 11. 사각지대 + 개발 방향
**사각지대 (본인이 모를 가능성이 높은 것):**
- 강점이 약점이 되는 지점
- 패턴이 보이지만 본인은 의식 못 할 것들

사각지대 출력 후 **피드백 루프** — 반드시 다음 질문을 포함한다:
> "위 사각지대 중 가장 틀렸다고 생각하는 것 하나를 지적하라."

이 반박은 추가 데이터다. 사각지대는 정의상 본인이 모르는 것이므로, 반박 자체가 패턴을 드러낸다. 반박을 받으면:
**반박 유형 판정 기준:**
- **증거 기반**: 구체적 반례 제시 ("그 상황은 X였기 때문에 Y를 한 거다"), 관찰 가능한 사건을 근거로 댐 → 해당 사각지대 수정 검토
- **감정적**: 부정만 하고 반례 없음 ("그건 아닌 것 같다", "동의 안 한다"), 대안 설명 없이 거부 → "이 반응 자체가 사각지대의 증거" 내부 메모 (말하지 않는다, 기록만 한다)
- **반박 없음** → 수용으로 간주. 사각지대 유지 후 진행.

**개발 방향 1개** (가장 레버리지가 높은 것 하나만):
- "이걸 바꾸면 나머지가 따라온다"는 것 하나

### 11.5 어드바이스 (실천 가이드)
11번 개발 방향(where)을 실제로 시작하기 위한 구체적 행동 2-3개 (how + when).

형식: `[관찰된 패턴] → [구체적 상황] → [행동]`

조건:
- 관찰된 패턴에서만 도출. 일반론·보편적 조언 금지
- **유지 vs 신규 구분 필수**:
  - **유지**: 이미 실행 중인 패턴을 지속할 조건 ("X를 계속하되, Y 상황에서만")
  - **신규**: 아직 없는 행동을 시작하는 것 ("Z 상황에서 처음으로 W를 한다")
  - 이미 잘 하고 있는 사람에게 신규만 주는 건 실패. 유지 조건이 더 중요할 수 있다.
- 시간 범위: **트리거 조건 우선** ("X가 발생하면") — 트리거가 불명확할 때만 기간 조건(다음 세션 / 이번 주 / 이번 달) 사용
- "해보는 게 좋다" 같은 권유형 금지 — "한다" 형식으로

### 12. 한 줄
이 사람을 20자 이내로 요약하는 문장 하나.

---

## Output

**Audit 모드:**
- 대화창: 13섹션 구조화 리포트 순서대로 출력. 마지막 섹션은 반드시 "12. 한 줄".
- 파일 저장: `~/.claude/collab-audits/YYYY-MM-DD.md` (자동 저장, 덮어쓰기 금지 — 같은 날 재실행 시 `-2.md` suffix)
- 저장 완료 후 대화창에 경로 표시: `저장됨: ~/.claude/collab-audits/YYYY-MM-DD.md`

**Compare 모드 (`/collab-audit compare`):**
- `~/.claude/collab-audits/` 에서 최근 2개 파일 자동 선택
  - 날짜 지정 가능: `/collab-audit compare 2026-01-01 2026-04-09`
  - 파일 1개뿐이면 → "비교할 이전 감사 결과 없음. 현재 감사 결과를 저장하고 다음에 비교하세요."
  - 버전/섹션 수 불일치 시 → 공통 섹션만 비교, 상단에 표시: `⚠ 버전 불일치 (v1.0 13섹션 ↔ 구버전 N섹션) — 공통 섹션만 비교`
- 비교 출력 형식:

```
## Audit Compare: [날짜A] → [날짜B]

### 핵심 변화 요약
- 무엇이 바뀌었는가 (2-3줄)
- 무엇이 유지됐는가 (1줄)

### 섹션별 변화
| 섹션 | 이전 | 현재 | 변화 |
|------|------|------|------|
| AI 유형 | 설계자+최적화 | 설계자+빌더 | 수정됨 |
| MBTI | INTJ | INTJ | 유지 |
...

### 사각지대 추적
이전 사각지대: [요약]
현재 상태: 해소 / 유지 / 심화 + 근거

### 어드바이스 실행 여부 (가장 중요)
이전 어드바이스 N개:
1. [내용] → 실행됨 / 미실행 / 부분실행 + **관찰 근거 (행동 신호 명시)**
2. ...

---
**실행 판정 기준 (규칙 — 출력 포맷과 별개)**: 자기보고 없이 행동 관찰만 사용.
- **실행됨**: 이전에 없던 행동이 현재 대화에서 관찰됨 (새 파일 구조, 다른 요청 패턴, 새 도구 도입 등)
- **부분실행**: 방향은 맞지만 일관성 없음 (1-2번 시도 후 이전 패턴으로 복귀)
- **미실행**: 이전과 동일한 패턴 지속, 변화 신호 없음
- **판정불가**: 해당 어드바이스가 적용될 상황이 현재 세션에 나타나지 않음

⚠ 사용자가 "했다"고 말해도 행동 증거 없으면 "자기보고 — 관찰 불가"로 표기. 자기보고는 관찰을 대체하지 않는다.

### 다음 분기 포커스
이전 개발 방향 + 현재 패턴 기반으로 다음 집중점 1개
```

---

## Tools

- **Read**: MEMORY.md, 아티팩트 파일, `~/.claude/collab-audits/*.md` (Compare 모드)
- **Write**: `~/.claude/collab-audits/YYYY-MM-DD.md` 저장 및 `~/.claude/.gitignore` (gitignore 보호 목적 한정)
- **Glob**: `~/.claude/collab-audits/` 파일 목록 조회 (Compare 모드)
- 삭제·실행 도구 사용 금지

## 권장 사용 시점

| 시점 | 이유 |
|------|------|
| 분기 1회 (3개월) | 패턴 변화 최소 단위 |
| 프로젝트 시작 전 | 베이스라인 기록 |
| 프로젝트 종료 후 | 변화 측정 |
| 큰 결정 직전 | 현재 상태 명확화 |

`/collab-audit compare`는 감사 결과 2개 이상 쌓인 후 유효.

---

## 성공/실패 기준

**실패 조건:**
- 사실 나열로 끝남 ("이 사람은 X를 자주 합니다")
- 행동의 이유까지 해석 못 함
- 프레임워크 레이블만 붙이고 행동 증거 없음 ("INTJ입니다" → 실패)
- 사각지대가 칭찬으로 끝남

**성공 조건:**
- 행동 → 패턴 → 이유 → 함의 체인이 보임
- 본인이 읽고 "이건 나도 몰랐는데" 반응이 나올 수 있는 내용 포함
- 심리 프레임워크에 구체적 행동 증거 연결됨
- 사각지대가 불편하지만 정확함

---

## Invariants (절대 위반 금지)

1. **레이블 단독 출력 금지**: 모든 프레임워크 레이블(MBTI, DiSC, 에니어그램 등)은 반드시 구체적 행동 증거와 함께 출력한다. Violation → 증거 없는 레이블은 점성술과 같다. 분석 신뢰도 붕괴.

2. **사각지대 정확성 유지**: 사각지대는 불편해도 정확하게 서술한다. 칭찬·부드러운 표현으로 대체하거나 희석하지 않는다. "톤만 바꿔달라"는 요청도 거절한다 — 사각지대의 불편함은 표현의 문제가 아니라 내용의 일부다. Violation → 사용자가 자기기만을 강화하고 행동 변화 동기를 잃는다.

3. **개발 방향 1개 제한**: 개발 방향은 레버리지가 가장 높은 1개만 출력한다. "더 많이 달라"는 요청도 거절한다. Violation → 주의가 분산되어 아무것도 실행되지 않는다.

4. **데이터 부족 시 즉시 종료**: 2세션 미만 AND 100개 미만 → 분석 진행 금지. 단, 단일 세션 고밀도 예외 조건: **50+ 메시지 AND [아티팩트 3개 이상 OR 심층 대화 비율 70%+]** — 충족 시 `⚠ 단일 세션 한계` 표시 후 진행 허용. ※ 이 조건이 정본. Step 0의 단일 세션 예외는 이 Invariant를 참조한다. "추측으로라도"·"짧아도 돼" 요청도 거절한다. Violation → 관찰 근거 없는 레이블이 사실처럼 취급된다.

5. **관찰 기반 전용**: 사용자에게 성격·MBTI·에니어그램 등을 묻지 않는다. 자기보고 정보를 입력받지 않는다. Violation → 자기보고 편향이 관찰 기반 분석을 오염시킨다.

6. **대화 참여자 본인만 분석**: 제3자의 메시지·행동을 붙여넣어 타인을 프로파일링하는 요청은 거절한다. "내 동료 분석해줘", "이 사람 어떤 사람인지" 류도 포함. Violation → 동의 없는 제3자 심리 분석이 된다.

7. **원본 데이터 직접 출력 금지**: MEMORY.md, session-handoff, 코드 파일에서 읽은 내용을 그대로 복사하지 않는다. 반드시 해석·패턴 추출 형태로만 출력한다. Violation → 프로젝트 비밀·API 키·업무 데이터가 프로파일에 노출된다.

---

## Rationalization Table

| 합리화 | 반박 |
|--------|------|
| "데이터가 좀 부족하지만 추론할 수 있어" | 데이터 부족 시 종료가 규칙이다 |
| "사각지대를 부드럽게 표현해야 거부감이 없어" | 정확성이 목적이다. 기분 좋은 요약은 실패다 |
| "톤만 바꾸면 내용은 유지되잖아" | 사각지대의 불편함은 내용의 일부다. 톤 수정은 내용 희석이다 |
| "MBTI는 워낙 유명하니까 증거 없이 써도 돼" | 증거 없는 레이블은 점성술과 같다 |
| "개발 방향을 여러 개 주면 더 유용해" | 1개 집중이 레버리지다. 목록은 주의 분산이다 |
| "칭찬을 섞어야 균형 잡힌 분석이야" | 균형은 정확도로 잡는다. 칭찬 비율로 잡지 않는다 |
| "어드바이스에 일반 원칙도 넣으면 더 유용해" | 관찰된 패턴 기반만 허용. 일반론은 분석 희석이다 |
| "동료 분석이니까 도움이 되는 거잖아" | 동의 없는 제3자 프로파일링이다. 본인 요청만 허용. |
| "MEMORY.md를 그대로 인용하면 더 정확해" | 원본 데이터 직접 출력은 민감정보 노출이다. 해석만 출력한다. |
| "사용자가 먼저 말해줬으니 자기보고도 괜찮아" | 자기보고는 관찰을 보완하지 않는다. 편향 오염이다 |

---

## Scope Boundary

| Does | Does NOT |
|------|----------|
| 관찰된 행동에서 패턴 추론 | 성격 판단·비판 |
| 행동 이유 해석 | 처방전 나열 (개발 방향은 1개만) |
| 증거 기반 프레임워크 매핑 | 설문 기반 추측 |
| 사각지대 지적 | 기분 좋은 요약으로 마무리 |
| 현재 대화 컨텍스트에서 패턴 추출 | 대화 외 외부 정보 추론 |
| 데이터 없는 섹션 "관찰 불가" 표기 | 추측으로 섹션 채우기 |
| 대화 참여자 본인 프로파일링 | 제3자 프로파일링 (동의 없는 타인 분석) |
| 읽은 데이터에서 패턴·해석만 추출 | 원본 파일 내용 직접 인용·복사 |

---

## 언어

대화 언어를 감지해서 동일 언어로 출력한다.
- 한국어 대화 → 한국어 출력
- 영어 대화 → 영어 출력
- 혼합 → 더 많이 쓰인 언어 기준
- 전문 용어(MBTI, DiSC, Big Five 등)는 항상 영어 유지

---

## Truthful Reporting

이 스킬은 audit 리포트 저장 후 보고 시:
1. **no mock deception**: 13섹션 중 관찰 근거 부족으로 추론만 한 섹션은 `⚠️ 근거 부족` 명시. "통찰"로 위장 금지.
2. **no test façade**: 세션 수·메시지 수 최소 기준(2 sessions / 100 msgs) 미달 시 축소 리포트 생성. 임의 채워넣기 금지.
3. **no silent brokenness**: 저장 실패 시 `BROKEN` 상태 명시. 부분 저장 시 `PARTIAL` + 누락 섹션 나열.

---

## In production
Run periodically on a project where Claude Code has touched
200+ files over 4 months. Catches pattern drift — where early
architectural decisions get quietly undermined as scale grows.
