# insane-design 스킬 구현 — Active 단계까지 완전 통합

## Lv.3 작업

## 원칙
"코드 존재" ≠ "완료". Active = 시스템에서 실제 사용 + 워크플로우 통합 + 실전 테스트 통과.

## 분석 보고서
`/home/jay/workspace/memory/research/insane-design-analysis.md` (offset/limit 사용)

## 구현 범위

### Phase A: SKILL.md + 스크립트 도입

1. **레포 클론 + 스크립트 복사**
   - `git clone https://github.com/fivetaku/insane-design.git /tmp/insane-design`
   - Python 스크립트 5개 → `/home/jay/workspace/tools/insane-design/` 에 복사
   - references 7개 → `/home/jay/workspace/skills/insane-design/references/` 에 복사

2. **코드 이슈 3건 수정** (분석 보고서 발견 사항)
   - `parse_all_custom_properties` 3중 구현 불일치 → 통일
   - `alias_layer.py` UnicodeDecodeError → `errors="replace"` 추가
   - `capture_jina` KeyError → 유효성 검사 추가

3. **SKILL.md 작성** (`/home/jay/workspace/skills/insane-design/SKILL.md`)
   - 원본 SKILL.md 참고하되 우리 포맷으로 재작성
   - frontmatter: name, description, triggers, usage
   - **트리거 키워드**:
     - "디자인 벤치마킹", "이 사이트처럼", "URL 디자인 분석"
     - "사이트 참고해서", "디자인 따라해", "레퍼런스 사이트"
     - "insane-design", "/insane-design"
   - **워크플로우**: URL 입력 → HTML/CSS 수집 → CSS 토큰 추출 → design.md 생성 → HTML 리포트 생성
   - **한국어 지원**: report-prompt.md의 한국어 리포트 생성 규칙 포함

### Phase B: 워크플로우 통합

4. **frontend-design 스킬 연동**
   - `/home/jay/workspace/skills/frontend-design/SKILL.md`에 추가:
   > "레퍼런스 URL이 제공된 경우, /insane-design으로 디자인 시스템을 먼저 추출한 후 구현한다."

5. **brainstorming 스킬 연동**
   - brainstorming Step 1(맥락 탐색)에서 레퍼런스 URL이 있으면 insane-design 자동 참조

6. **dispatch-rules 반영**
   - 제이회장님이 URL + "디자인 벤치마킹/참고/따라해" 명령 시 → 아누가 insane-design 먼저 실행
   - `/home/jay/workspace/skills/dispatch-rules/SKILL.md`에 규칙 추가

### Phase C: 실전 테스트 + Active 등록

7. **실전 테스트** — 실제 URL로 insane-design 실행
   - 테스트 URL: `https://toss.im` (한국 서비스, examples에 포함)
   - design.md 생성 확인
   - HTML 리포트 생성 확인 (한국어)
   - 생성된 design.md를 frontend-design에 전달하여 코드 생성 가능한지 검증

8. **absorption-registry.yaml 등록**
   - insane-design 소스 추가 (status: active — 실전 테스트 통과 후)
   ```yaml
   insane-design:
     repo: fivetaku/insane-design
     analyzed_date: '2026-04-12'
     research_files:
       - memory/research/insane-design-analysis.md
     items:
       - id: insane-url-design-extract
         name: URL 기반 디자인 시스템 추출 (CSS 토큰 + design.md)
         priority: ★★★
         status: active  # 실전 테스트 통과 후에만!
         implemented_in:
           - tools/insane-design/
           - skills/insane-design/SKILL.md
         health_check:
           type: file_exists
           target: tools/insane-design/brand_candidates.py
   ```

9. **skill-registry.json에 등록** (98 → 99개)

## 의존성
- Pillow (선택적, 스크린샷 분석용): `pip install Pillow` — 없어도 동작
- Jina API (선택적, 스크린샷 캡처용): 환경변수 JINA_API_KEY — 없으면 스킵

## 주의
- 원본 MIT 라이선스 → 코드 복사 OK, 출처 명시
- Python 표준 라이브러리 외 의존성 최소화 (원본이 이미 zero-dep)
- **Active 등록은 실전 테스트 통과 후에만** — 테스트 실패 시 implemented로 등록

## 보고서
`/home/jay/workspace/memory/reports/task-{TASK_ID}.md`