# task: 스킬 사용 추적 시스템 후속 수정 (task-1112.1 리뷰 피드백)

## 작업 레벨: Lv.2

## 배경
task-1112.1에서 스킬 추적 시스템 & 대시보드를 구축했으나, 제이회장님 리뷰에서 3가지 핵심 수정사항이 도출됨.

## 수정 1: PostToolUse 훅으로 Skill 호출 자동 카운팅 (핵심)

task-1112.1에서 "Claude Code 내부 동작으로 외부 훅 불가"라고 했으나 **오판**임.
현재 `~/.claude/settings.json`에 이미 훅 시스템이 가동 중:

```json
"PostToolUse": [
  {
    "matcher": "Edit|Write|NotebookEdit|Task",
    "hooks": [...]
  }
]
```

### 구현 요구사항
1. `~/.claude/settings.json`의 PostToolUse에 **"Skill" 매처 추가**
2. 훅 스크립트 작성 (예: `/home/jay/workspace/hooks/skill-usage-logger.sh`)
   - Skill 도구 호출 시 자동 실행
   - 스킬명, 호출 시각, 호출 세션(봇/팀) 정보를 `dashboard/data/skill-usage.jsonl`에 append
   - PostToolUse 훅이 받는 stdin/환경변수를 분석하여 스킬명 추출 (tool_input의 "skill" 필드)
3. JSONL 포맷은 task-1112.1에서 만든 `log_skill_usage()` 포맷과 **동일하게 맞출 것**
   - 기존: POST /api/skill-log 수동 호출 방식 → 이제 훅이 자동으로 기록

### 훅 동작 분석 참고
- 기존 훅 스크립트들 참고: `/home/jay/.claude/hooks/` 및 `/home/jay/workspace/hooks/`
- PostToolUse 훅은 tool 결과를 stdin으로 받음 (JSON 형태)
- 환경변수로 TOOL_NAME, TOOL_INPUT 등이 전달될 수 있음 → 먼저 확인 필요

## 수정 2: 스킬 카테고리를 에이전트 배정 기반으로 자동 매핑

현재 86개 스킬 중 85개가 category='general'인데, 이는 frontmatter에 category를 안 채웠기 때문.
하지만 **스킬은 이미 봇/에이전트별로 배정**되어 있음:
- 각 봇의 시스템 프롬프트에 Use when 트리거로 어떤 봇이 어떤 스킬을 쓸지 정의
- 에이전트 특성에 따라 카테고리가 자연 결정 (마케팅봇 → 마케팅 스킬)

### 구현 요구사항
1. 스킬-에이전트 매핑 분석:
   - `/home/jay/workspace/memory/specs/bot-team-mapping.md` — 봇-팀 매핑
   - 각 봇의 CLAUDE.md 또는 시스템 프롬프트에서 어떤 스킬이 배정되었는지 추출
   - 스킬별 담당 에이전트(봇) 목록 생성
2. `load_skill_registry()`에서 카테고리를 에이전트 배정 기반으로 자동 산출:
   - 마케팅봇 전용 → category: 'marketing'
   - 개발봇 공통 → category: 'development'
   - 아누 전용 → category: 'orchestration'
   - 여러 봇 공용 → category: 'shared'
3. 대시보드 카테고리 필터가 자동 매핑된 카테고리로 동작하도록 수정

## 수정 3: task-timers.json 연동은 훅 기반으로 대체

task-1112.1 범위외 이슈 "task-timers.json skill_list 필드"는 수정 1의 훅 기반 로깅으로 대체.
- 스킬 사용은 `skill-usage.jsonl`에 독립 기록
- 태스크와의 연결은 타임스탬프 기반으로 대시보드에서 조인
- **task-timer.py 수정 불필요**

## 참고 파일
- Claude Code 설정: `~/.claude/settings.json`
- 기존 훅 스크립트: `/home/jay/.claude/hooks/`, `/home/jay/workspace/hooks/`
- task-1112.1 산출물: `dashboard/components/SkillView.js`, `dashboard/server.py`
- 스킬 사용 로그: `dashboard/data/skill-usage.jsonl`
- 봇-팀 매핑: `/home/jay/workspace/memory/specs/bot-team-mapping.md`

## QC
- 훅 동작 테스트: Skill 도구 호출 → skill-usage.jsonl에 기록 확인
- 카테고리 자동 매핑: 'general' 아닌 실제 카테고리로 분류되는지 확인
- 기존 대시보드 테스트 회귀 없음 확인