| name | ruby-skill |
| version | 1 |
| description | 러비스킬(러셀+비트겐슈타인). 코딩·문서·콘텐츠를 분해→평가→아름다운 상위 설계로 승격. 러셀 구조분해+비트겐슈타인 의미검증 이중 프레임. 트리거: 러비스킬, ruby skill, 러비, 상위설계, 아름다운설계, 논리분해, 구조분해, 의미검증, 코드리뷰, 문서리뷰, 콘텐츠리뷰, 러셀, 비트겐슈타인, 분해해줘, 평가해줘, 올려줘, 상위설계해줘, 아름답게해줘, decompose, elevate, review. NOT: 단순디버깅(→직접수행), 사업전략(→biz-skill), UI설계(→ui-designer), 히트패턴(→hit-skill).
|
Ruby Skill — 러비스킬 (러셀 + 비트겐슈타인)
핵심 공식: 러셀로 뼈대를 자르고, 비트겐슈타인으로 살아있는 의미를 검증하면, 아름다운 상위 설계가 가능하다.
Skill Boundaries
- 하는 것 — 러비스킬(러셀+비트겐슈타인).
- 안 하는 것 — 단순디버깅(→직접수행), 사업전략(→biz-skill), UI설계(→ui-designer), 히트패턴(→hit-skill).
아름다움 정의: 목적에 대해 최소 구조로 최대 의미를 내는 상태
When to Use
- 사용자가 "분해해줘", "평가해줘", "올려줘", "상위설계해줘", "아름답게해줘" 같은 표현으로 발동
- 도메인 작업이 필요한 시점
- 안 쓸 때 — 단순디버깅(→직접수행), 사업전략(→biz-skill), UI설계(→ui-designer), 히트패턴(→hit-skill).
Prerequisites
| # | 체크 | 미충족 시 |
|---|
| 1 | 대상·입력 명확 (스킬 발동 의도 확인) | 1줄 확인 후 진입 |
| 2 | references/ 폴더 접근 가능 | inline fallback |
⛔ 절대 규칙
| # | 규칙 | 이유 |
|---|
| 1 | 디테일 누락 = FAIL | 분해 단계에서 원본 요소를 하나라도 빠뜨리면 상위 설계가 왜곡됨 |
| 2 | 매핑 테이블 선행 | 원본 → 분해 결과의 완전한 매핑을 먼저 출력, 확인 후 평가 진행 |
| 3 | 무단 삭제 금지 | 요소 제거 시 반드시 "왜 제거하는가" 명시. 삭제 아닌 _archive 이동 |
| 4 | 이중 검증 필수 | 러셀(구조) + 비트겐슈타인(의미) 모두 통과해야 상위 설계 인정 |
3모드
| 모드 | 트리거 | 실행 |
|---|
| 진단 | "분해해줘", "분석해줘" | 분해→매핑테이블→현재 상태 6축 진단 |
| 평가 | "평가해줘", "리뷰해줘" | 진단 + 이중 검증(러셀+비트겐슈타인) + 병목 식별 |
| 상위설계 | "올려줘", "상위설계해줘", "아름답게해줘" | 평가 + 상위 설계안 제시 (기본 모드) |
모드 미지정 시 → 상위설계 모드 (풀코스)
실행 파이프라인
Phase 0: 도메인 판별
입력을 보고 도메인 판별 → references/domain-adapters.md 로드
Phase 1: 러셀 분해 (구조의 칼)
references/russell-frame.md 로드 후 실행
| 단계 | 내용 |
|---|
| 1-1 | 원자적 단위 분해: 더 이상 나눌 수 없는 단위까지 환원 |
| 1-2 | 유형 분류: 각 단위의 추상 수준(type level) 태깅 |
| 1-3 | 기술 분석: 모호한 표현 → 존재/유일성/속성 3분해 |
| 1-4 | 공리 추출: 이 산출물이 암묵적으로 가정하는 것 명시화 |
| 1-5 | 불필요 추상화 식별: Russell's Razor로 제거 후보 마킹 |
산출물: 매핑 테이블 (원본 요소 → 분해 결과, 누락 없음 확인)
Phase 2: 비트겐슈타인 검증 (의미의 체)
references/wittgenstein-frame.md 로드 후 실행. Phase 1의 매핑 테이블을 입력으로 사용 — 각 원자 요소에 대해 의미 검증을 수행한다. 구조(러셀)가 통과해도 의미(비트겐슈타인)가 실패할 수 있으므로, 매핑 테이블의 모든 행을 2-1~2-5로 검증.
조건부 병렬: Phase 1(러셀 분해) 완료 후, Phase 2(비트겐슈타인 검증)와 Phase 3(승격 설계)는 Phase 1 매핑 테이블을 공유 입력으로 병렬 착수 가능. Phase 2 결과가 Phase 3을 뒤집을 경우만 Phase 3 수정.
| 단계 | 내용 |
|---|
| 2-1 | 그림이론 체크: 표현과 현실의 동형성 검증 |
| 2-2 | 언어게임 체크: 용어가 사용 맥락에서 일관적인가 |
| 2-3 | 규칙 따르기 체크: 컨벤션이 실제 관행과 일치하는가 |
| 2-4 | 삶의 형식 체크: 팀/사용자/독자의 맥락을 반영하는가 |
| 2-5 | 사적 언어 체크: 저자 외에도 이해 가능한가 |
산출물: 8항 검증 결과 (통과/미통과 + 이유)
Phase 3: 6축 판정
references/beauty-criteria.md 로드 후 실행
| 축 | ◎/△/✕ | 근거 |
|---|
| 목적성 | | |
| 방향성 | | |
| 정합성 | | |
| 최소성 | | |
| 확장성 | | |
| 사용적합성 | | |
병목 축 식별 → 판정 문장 생성 + 상위 설계 방향 결정
판정 문장 생성 (모든 모드에서 필수):
- ✕ 또는 최저 △ 축 식별
- beauty-criteria "병목 축별 상위 설계 방향"에서 방향 추출
- 현재 Level(L0~L4)과 목표 Level 갭 명시
- 한 문장으로 종합: "[현재 Level]. [병목 축]이 [목표 Level] 도달을 막고 있다 — [구체적 증상]."
Phase 4: 상위 설계안 제시 (상위설계 모드만)
| 항목 | 내용 |
|---|
| 현재 Level | L0~L4 판정 (beauty-criteria 참조) |
| 목표 Level | 최소 L2, 가능하면 L3~L4 |
| 병목 해결안 | 가장 낮은 축부터 구체적 개선안 |
| 디테일 보존 매트릭스 | 필수 출력 — 원본의 모든 원자 요소를 행으로, 운명(유지/변환/제거)·변환 내용·사유를 열로 하는 표. Before/After 컬럼을 통합하여 1회 작성으로 보존 확인+변경 대조 동시 수행. 누락 행 = FAIL |
검증 통합: 디테일 보존 매트릭스에 Before/After 컬럼을 통합. 별도 Before/After 검증 단계 제거 — 매트릭스 1회 작성으로 보존 확인+변경 대조 동시 수행.
Phase 5: 자기검증
| 체크 | 내용 |
|---|
| 누락 체크 | 매핑 테이블의 모든 원본 요소가 상위 설계에 반영되었는가 |
| 논리 검증 | 상위 설계 자체를 러셀 분해로 재검증 |
| 의미 검증 | 상위 설계를 비트겐슈타인 체크로 재검증 |
| 실행 가능성 | 제안이 실제로 구현/적용 가능한가 |
Phase 6: 리포트 변환 (3-Layer)
Phase 15 분석 완료 후, 중간 산출물을 그대로 출력하지 않는다. 아래 리포트 구조로 재구성한다. 분석 엔진(Phase 15)은 "분석", 이 단계는 "표현" — 역할 분리.
🚨 MUST cascade → shaper-skill
모든 산출물 shaper-skill MUST 경유. → shaper-skill/references/_common/cascade-must.md
논리 4요소 활용
상위 설계 과정에서 4요소 순환 적용:
| 요소 | 역할 |
|---|
| 연역 | 기존 원리(공리)에서 구조 도출 |
| 귀납 | 반복 패턴 발견 → 규칙으로 일반화 |
| 가추 | 새로운 상위 구조 가설 생성 |
| 확률 | 맥락 변수 고려한 적합성 판단 |
§INV NO_WORK_LABEL
산출물·대화 작업 라벨 ZERO. → shaper-skill/references/no-work-label.md
Output Path
| 산출물 | 경로 |
|---|
| 주 산출물 | mnt/outputs/ruby-skill_{topic}_{YYYY-MM-DD}.md |
| 형식 | 분석결과로, 상위설계안으로, .md로. |
| 리서치 결과 (해당 시) | {VAULT}/_skills research/ruby-skill/{YYYY-MM-DD}_{topic}.md |
Reference Index
| 파일 | 내용 | 언제 |
|---|
references/beauty-criteria.md | beauty criteria | 해당 단계 진입 시 |
references/domain-adapters.md | domain adapters | 해당 단계 진입 시 |
references/report-layer.md | report layer | 해당 단계 진입 시 |
references/russell-frame.md | russell frame | 해당 단계 진입 시 |
references/wittgenstein-frame.md | wittgenstein frame | 해당 단계 진입 시 |
Next Phase
본 스킬 작업 후 자연스럽게 이어지는 흐름:
- 후속 작업 →
직접수행
- 후속 작업 →
biz-skill
- 후속 작업 →
ui-designer
- 후속 작업 →
hit-skill
Failure Modes (Gotchas)
- 분해 과잉 함정: 원자까지 분해하되, 분해 자체가 목적이 되면 안 됨. 상위 설계에 필요한 깊이까지만
- 러셀 편향 함정: 구조만 완벽하고 의미 검증을 건너뛰면 "맞는 말인데 안 먹힘" 상태
- 비트겐슈타인 편향 함정: 맥락만 보고 논리 구조를 무시하면 "먹히는데 허술" 상태
- 최소성 과적용: Russell's Razor를 과하게 적용하면 필요한 추상화까지 제거. "이 추상화가 없으면 이해/유지보수가 더 어려운가?" 반문 필수
- 디테일 보존 착각: 매핑 테이블을 만들었다고 디테일을 보존한 것이 아님. 상위 설계안에서 각 요소의 운명(유지/변환/제거+사유)이 명시되어야 완료
- 데이터 시트 함정: 6축 점수표·분해 매핑·검증 체크리스트를 나열식으로 먼저 출력하면 "그래서 뭘 어쩌라고?" 상태. 반드시 판정 문장(Layer 1)이 리포트 첫 줄. 분석 과정은 Layer 3(부록)으로
- 판정 문장 누락: 6축 점수는 나오지만 종합 판정이 빠지면 의사결정 불가. Phase 3 완료 시 판정 문장 생성을 반드시 실행
❌ WRONG vs ✅ CORRECT
❌ WRONG: 트리거 단어만 보고 발동 — 본질·범위 확인 ✗ → 오발동·범위 이탈
✅ CORRECT: Skill Boundaries·When to Use 확인 후 발동 → 본질 작업만 수행