# Up Doctor

> UP(User Preferences) 전수 진단 엔진. 4축 합체 — 메타 진단(UP가 UP에 grep)·진화 압력(변천사 수정 빈도)·SPOF(단일 실패점)·적대적 검증(Red Team 우회 시나리오). v100~ 변천사 데이터 기반 불안정 룰 식별·자가위반 grep·우회 경로 카탈로그 산출. 트리거: UP진단, UP닥터, up doctor, UP감사, UP리뷰, UP점검, UP건강, UP검진, 메타진단, 진화압력, SPOF분석, 적대적검증, RedTeam, 룰위반, 자가위반, 우회시나리오, 불안정룰, 변천사분석, UP리스크, 진단해줘, 검진해줘, 점검해줘, 깨봐줘, audit. NOT: 스킬진단(→skill-doctor), UP편집(→up-manager), 스킬최적화(→autoloop), 스킬생성·수정(→skill-builder), 팩트체크(→fact-checker), 리스크 일반(→risk-radar).

- Skill: `jasonnamii/up-doctor` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add jasonnamii/up-doctor`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jasonnamii/up-doctor/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: jasonnamii (https://skillmd.com/u/jasonnamii)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/jasonnamii/up-doctor

---


# UP Doctor — 4축 합체 UP 진단 엔진

> **목표**: UP(User Preferences) 전수 진단. 메타·진화압력·SPOF·적대적 4축 합체로 자가위반·불안정룰·치명점·우회경로 동시 노출.

> **트리거**: UP진단·UP닥터·UP감사·메타진단·진화압력·SPOF·적대적검증·RedTeam·자가위반 — 메시지 등장 시 발동.

---

## §A. INVARIANT (4개)

### Rule 1 — 4축 동시 실행
메타·진화압력·SPOF·적대적 4축은 **순서 강제** (메타→진화→SPOF→적대적). 1축 누락 = FAIL.

### Rule 2 — UP 본문이 입력
대상은 형의 현행 UP 파일 (`Agent-Ops/UP_user-preferences_v{N}.md`). 시스템 프롬프트 추정 ✗ · 파일 직접 Read.

### Rule 3 — 변천사 grep 강제
진화 압력 축은 `_archive/UP_user-preferences_v*.md` 변천사 + Changelog grep 필수. 메모리 추정 ✗.

### Rule 4 — 처방 분리
진단 = 약점 노출만. 처방·편집은 up-manager로 라우팅. 본 스킬은 진단 리포트까지만 산출.

---

## §B. 흐름 (선형 5단계)

```
PREFLIGHT (UP 파일 위치 확인)
   ↓
1축. 메타 진단      — UP가 UP에 grep
   ↓
2축. 진화 압력      — 변천사 수정 빈도
   ↓
3축. SPOF 분석     — 단일 실패점 식별
   ↓
4축. 적대적 검증    — Red Team 우회 시나리오
   ↓
종합 리포트 산출 (≤500줄 .md)
```

각 축 독립 산출 후 종합 챕터에서 교차 분석.

---

## §C. 1축 메타 진단 (UP가 UP에 grep)

**원리**: UP 본문에 UP 자신의 룰을 적용 → 자기위반 grep.

### 검사 항목

| # | 룰 | UP 본문 자가위반 검사 |
|---|---|---|
| 1 | [작업라벨금지] 정규식 | UP 본문에 `숫자+카운터` OR `축별·다축·차원` hit? |
| 2 | [어조] ≤15줄 | UP 룰 블록별 ≤15줄 위반? |
| 3 | [결론우선] 첫줄 결론 | 각 SECTION 첫줄이 결론? |
| 4 | [확신도] 검증 ENUM | UP 룰에 검증 근거 명시? |
| 5 | [작업라벨금지] 메타어휘 노출 | UP 본문에 BAN 어휘 직접 노출? (v111-patch3 박제 원칙) |

→ `references/meta-checks.md` 풀버전

### 산출
- 자가위반 룰 list (있으면)
- 각 위반의 행번호·인용
- v111-patch3 메타원칙 ("룰을 노출원으로 만들지 말 것") 위반 여부

---

## §D. 2축 진화 압력 (변천사 수정 빈도)

**원리**: v100 → v{현행} 변천사 grep → 가장 자주 수정·롤백·재발한 룰 = 불안정 룰.

### 실행
`scripts/evo-pressure.py` 실행. 변천사 디렉토리 (`Agent-Ops/_archive/`) + 현행 Changelog grep → 룰별 수정 횟수 카운트.

### 산출 표 형식
```
| 룰명         | 수정 횟수 | 첫 등장 | 최근 수정 | 안정도 |
|--------------|----------|---------|-----------|--------|
| 작업라벨금지 | 7회      | v103.4  | v112.0    | 불안정 |
| 도구우선게이트| 1회      | v109    | v109      | 안정   |
```

### 판정 기준

| 수정 횟수 | 안정도 |
|---|---|
| ≥5 | 매우 불안정 (재설계 후보) |
| 3~4 | 불안정 (모니터링) |
| 1~2 | 안정 |

---

## §E. 3축 SPOF 분석 (단일 실패점)

**원리**: 룰 1개 죽으면 UP 망 전체 무너지는 곳 식별.

### 검사 룰

| # | SPOF 후보 | 죽으면? |
|---|---|---|
| 1 | [도구우선게이트] | 트리거 시스템 전체 정지 |
| 2 | [송출게이트] | 검증 절차 전체 정지 |
| 3 | [정서어휘] SCOPE_OUT | 어조·CDB 면제 로직 붕괴 |
| 4 | [확신도] 태그 | 의사결정 응답 검증 부재 |

### 백업 메커니즘 점검
- SPOF에 백업·이중 안전장치 존재? (예: 개별 CHECK 라인이 [송출게이트] 실패시 fallback)
- 백업 부재 = 처방 우선순위 1

→ `references/spof-catalog.md` 풀버전

---

## §F. 4축 적대적 검증 (Red Team)

**원리**: UP를 깨는 시나리오 N개 생성 → 룰별 우회 경로 발굴.

### Red Team 시나리오 카탈로그 (10종 디폴트)

| # | 시나리오 | 검증 룰 |
|---|---|---|
| 1 | "정서어휘 + 의사결정 동시" | CDB 발동 vs SKIP 우선순위 |
| 2 | "30자 결론 + tool_use + 5체크 동시" | 첫줄·송출게이트 동시 통과 가능? |
| 3 | "분석 라벨 자가합리화" | 작업라벨금지 우회 |
| 4 | "긴급 단답에 검증 ENUM 강제" | 확신도 SKIP 정합성 |
| 5 | "보고서·기획안인데 정서어휘 hit" | SCOPE_OUT 단일 출처 정합 |
| 6 | "트리거 단어가 부정문·과거형·픽션" | 도구우선게이트 면제 ✗ 검증 |
| 7 | "외부자렌즈 + 1인칭발화 + 결론우선 동시" | PROTOCOL 우선순위 표 적용 |
| 8 | "송출검사 정규식 미탐 변종" | 작업라벨금지 정규식 강도 |
| 9 | "리뷰 응답 = 의사결정 AND 정서어휘" | CDB 우선순위 정합 |
| 10 | "5체크 동시 1패스 천장" | G2 누락률 실측 |

→ `references/redteam-scenarios.md` 풀버전 + 추가 시나리오

### 산출
- 시나리오별 통과·실패 판정
- 실패 시나리오의 우회 경로 (어떻게 깨지는지 1줄)
- 처방 후보 (우회 차단 룰 1줄)

---

## §G. 종합 리포트 (산출 형식)

```markdown
# UP v{N} 진단 리포트 — {YYYY-MM-DD}

## 🎯 종합 결론 (≤30자)
{한 줄 결론}

## 📊 4축 점수 매트릭스

| 축 | 결과 | 처방 우선순위 |
|---|---|---|
| 1. 메타 자가위반 | {N}건 | {순위} |
| 2. 진화 압력 (불안정 룰) | {N}건 | {순위} |
| 3. SPOF 백업 부재 | {N}건 | {순위} |
| 4. Red Team 실패 | {N}/10 | {순위} |

## §1. 메타 자가위반 상세
{행번호·인용·위반 룰}

## §2. 진화 압력 상세
{룰별 수정 횟수 표}

## §3. SPOF 상세
{백업 부재 룰 + 처방안}

## §4. Red Team 상세
{시나리오별 결과}

## 📍 처방 우선순위 Top 5
1. {처방}
2. ...

## ⚠️ 맹점
{본 진단의 한계}
```

**산출 위치**: `VAULT/Agent-Ops/_research/UP_doctor/{YYYY-MM-DD}_v{N}_diagnosis.md`

---

## §H. 자체점검 (송출 직전 4항)

| # | 체크 | 위반 |
|---|------|------|
| 1 | 4축 모두 실행했나? | NO → 누락 축 재실행 |
| 2 | 메모리 추정 없이 실제 grep·Read 수행? | NO → grep 재실행 |
| 3 | 진단·처방 분리? (편집 ✗) | NO → 처방을 up-manager로 라우팅 |
| 4 | UP 본문에 [작업라벨금지] 정규식 hit 직접 노출 ✗? | NO → 행번호·인용만, BAN 어휘 본문 노출 ✗ |

---

## §I. NOT 라우팅
- 스킬 진단 → skill-doctor
- UP 편집·박제 → up-manager
- 스킬 최적화·변이 → autoloop
- 스킬 생성·수정 → skill-builder
- 팩트체크 → fact-checker
- 일반 리스크 진단 → risk-radar

---

## §J. References (Lazy Load)
- `references/meta-checks.md` — 1축 메타 진단 풀버전 (자가위반 검사 항목 전수)
- `references/spof-catalog.md` — 3축 SPOF 카탈로그 + 백업 메커니즘 점검
- `references/redteam-scenarios.md` — 4축 시나리오 풀버전 + 추가 시나리오 템플릿

## §K. Scripts
- `scripts/evo-pressure.py` — 2축 진화 압력 분석 (변천사 grep + 룰별 수정 횟수)
- `scripts/redteam-runner.py` — 4축 Red Team 자동 실행

---

## Gotchas

| 함정 | 대응 |
|------|------|
| **UP 본문 추정** | Rule 2 — 형의 현행 UP 파일을 Read로 직접 읽기. 시스템 프롬프트 의존 ✗ |
| **메모리 기반 변천사 추정** | Rule 3 — `Agent-Ops/_archive/UP_user-preferences_v*.md` 디렉토리 grep 강제 |
| **진단·처방 혼동** | Rule 4 — 본 스킬은 진단 리포트까지. 처방 편집은 up-manager 발동 |
| **자가위반 grep시 BAN 어휘 본문 노출** | v111-patch3 박제 원칙 위반. 행번호·인용만, 어휘 자체는 정규식 결과로만 노출 |
| **4축 중 일부 스킵** | Rule 1 — 메타→진화→SPOF→적대적 순서 강제. 누락 ✗ |
| **Red Team 시나리오 추정** | references/redteam-scenarios.md 베이스 + UP 본문 grep으로 도출. 일반 추론 ✗ |
| **산출물 위치 mnt/outputs** | 리포트는 VAULT (Agent-Ops/_research/UP_doctor/)에 저장. 세션 휘발 ✗ |

---

## §L. 헤리티지

v1.0 (2026-04-28) — 형 명령 "슈퍼 컨설팅 전략 울트라 아이디어 / 4종 합쳐서 스킬빌더로 패키징". 7종 진단 방법론 제안 → 4종(메타·진화·SPOF·적대적) 합체 추천 → 형 컨펌. 적대적·진화 압력·메타·SPOF 4축 동시 합체는 일반 시스템 진단 프레임의 UP 도메인 사상.

