Dotfiles usage-pattern-analyzer
install
source · Clone the upstream repo
git clone https://github.com/KIM-KYOUNG-OH/dotfiles
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/KIM-KYOUNG-OH/dotfiles "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/usage-pattern-analyzer" ~/.claude/skills/kim-kyoung-oh-dotfiles-usage-pattern-analyzer && rm -rf "$T"
manifest:
.claude/skills/usage-pattern-analyzer/SKILL.mdsource content
Usage Pattern Analyzer Skill
개요
Claude Code 세션 로그 및 stats-cache.json을 분석하여 도구 사용 패턴, 시간대별 생산성, 반복 작업을 파악하고, 스킬/에이전트 자동화 제안을 제공하는 skill.
사용 방식
/usage-pattern-analyzer # 전체 패턴 분석 /usage-pattern-analyzer tools # 도구 사용 패턴만 /usage-pattern-analyzer time # 시간대별 생산성만 /usage-pattern-analyzer repeat # 반복 작업 감지만 /usage-pattern-analyzer weekly # 이번 주 데이터만 분석
경로 정보
| 항목 | 경로 |
|---|---|
| stats-cache | |
| history | |
| transcripts | |
| 세션 로그 | |
| 출력 | |
분석 영역
1. 도구 사용 패턴 (Tools)
분석 항목
| 항목 | 설명 |
|---|---|
| 도구별 사용 빈도 | Read, Edit, Write, Bash, Grep, Glob 등 |
| 도구 조합 패턴 | 자주 함께 사용되는 도구 세트 |
| 파일 유형별 도구 | .ts → Edit, .md → Write 등 |
| 도구 사용 추이 | 시간에 따른 도구 사용 변화 |
추출 방법
# 세션에서 도구 사용 빈도 추출 cat session.jsonl | jq -r ' select(.type == "assistant") | .message.content[]? | select(.type == "tool_use") | .name ' | sort | uniq -c | sort -rn # 도구별 대상 파일 유형 cat session.jsonl | jq -r ' select(.type == "assistant") | .message.content[]? | select(.type == "tool_use" and (.name == "Edit" or .name == "Write")) | .input.file_path ' | xargs -I{} basename {} | sed 's/.*\.//' | sort | uniq -c
출력 형식
## 도구 사용 패턴 ### 전체 사용 빈도 | 도구 | 사용 횟수 | 비율 | |-----|---------|-----| | Read | 450 | 35% | | Edit | 280 | 22% | | Grep | 200 | 16% | | Bash | 180 | 14% | | Write | 100 | 8% | | Glob | 65 | 5% | ### 도구 조합 패턴 | 패턴 | 빈도 | 설명 | |-----|-----|------| | Read → Edit | 180 | 파일 읽고 수정 | | Grep → Read | 120 | 검색 후 파일 읽기 | | Read → Read → Edit | 85 | 여러 파일 확인 후 수정 | ### 파일 유형별 도구 | 확장자 | 주요 도구 | 빈도 | |-------|---------|-----| | .ts | Edit | 120 | | .md | Write | 80 | | .json | Read | 60 |
2. 시간대별 생산성 (Time)
분석 항목
| 항목 | 설명 |
|---|---|
| 시간대별 세션 수 | 아침/오후/저녁 분포 |
| 시간대별 도구 사용 | 시간대에 따른 작업 유형 |
| 요일별 패턴 | 요일에 따른 작업량 변화 |
| 피크 시간 | 가장 활발한 시간대 |
데이터 소스
# stats-cache.json 시간대별 분포 cat ~/.claude/stats-cache.json | jq '.hourlyDistribution' # 세션별 시작 시간 추출 for session in ~/.claude/projects/*/*.jsonl; do jq -r '.[0].timestamp' "$session" 2>/dev/null done | cut -c12-13 | sort | uniq -c
출력 형식
## 시간대별 생산성 ### 시간대별 세션 분포 | 시간대 | 세션 수 | 비율 | 그래프 | |-------|--------|-----|--------| | 06-09 | 15 | 10% | ██ | | 09-12 | 45 | 30% | ██████ | | 12-15 | 35 | 23% | █████ | | 15-18 | 40 | 27% | █████ | | 18-21 | 12 | 8% | ██ | | 21-00 | 3 | 2% | █ | ### 요일별 분포 | 요일 | 세션 수 | 평균 시간 | |-----|--------|----------| | 월 | 28 | 3h 20m | | 화 | 32 | 3h 45m | | 수 | 30 | 3h 30m | | 목 | 25 | 3h 00m | | 금 | 22 | 2h 45m | ### 피크 생산성 시간 > **가장 활발한 시간**: 09:00 - 11:00 (평균 세션 15개/주) > **가장 집중적인 작업**: 10:00 - 11:00 (Edit 도구 가장 많이 사용)
3. 반복 작업 감지 (Repeat)
분석 항목
| 항목 | 설명 |
|---|---|
| 반복 명령어 | 동일/유사 Bash 명령 반복 |
| 반복 파일 패턴 | 같은 파일 반복 수정 |
| 반복 질문 | 유사한 질문 반복 |
| 자동화 후보 | 스킬/에이전트로 자동화 가능한 작업 |
추출 방법
# 반복 Bash 명령 추출 cat ~/.claude/projects/*/*.jsonl | jq -r ' select(.type == "assistant") | .message.content[]? | select(.type == "tool_use" and .name == "Bash") | .input.command ' | sort | uniq -c | sort -rn | head -20 # 반복 사용자 질문 추출 (history.jsonl) cat ~/.claude/history.jsonl | jq -r '.message' | sort | uniq -c | sort -rn | head -20
출력 형식
## 반복 작업 감지 ### 반복 명령어 (자동화 후보) | 명령어 패턴 | 빈도 | 제안 | |-----------|-----|------| | `npm run test` | 45 | 테스트 자동화 스킬 | | `git status && git diff` | 38 | git 워크플로우 스킬 | | `find ... -name "*.ts"` | 25 | 파일 검색 스킬 | ### 반복 파일 수정 | 파일 | 수정 횟수 | 패턴 | |-----|---------|-----| | src/index.ts | 28 | 진입점 수정 | | package.json | 22 | 의존성 추가 | | README.md | 15 | 문서 업데이트 | ### 자동화 제안 1. **테스트 실행 스킬** - 패턴: `npm run test`, `npm test`, `jest` - 빈도: 45회/주 - 제안: `/test` 스킬로 자동화 2. **Git 커밋 워크플로우** - 패턴: `git status` → `git diff` → `git add` → `git commit` - 빈도: 38회/주 - 제안: `/commit` 스킬 활용도 증가 3. **파일 검색 최적화** - 패턴: 반복적인 find/grep 조합 - 빈도: 25회/주 - 제안: Explore 에이전트 활용
종합 리포트
출력 파일
analytics/patterns/YYYY-MM-DD-patterns.md
--- created: {DATE} type: usage-pattern tags: - analytics/patterns - analytics/productivity --- # Claude Code 사용 패턴 분석 > 분석 기간: {START_DATE} ~ {END_DATE} > 총 세션: {TOTAL_SESSIONS}개 ## 요약 | 항목 | 값 | |-----|-----| | 가장 많이 사용한 도구 | Read (35%) | | 피크 생산성 시간 | 09:00-11:00 | | 자동화 가능 작업 | 3개 | | 권장 개선 사항 | 2개 | {도구 사용 패턴 섹션} {시간대별 생산성 섹션} {반복 작업 감지 섹션} ## 개선 권장사항 1. **Explore 에이전트 활용 증가** - 현재 직접 Grep/Glob 사용 빈도 높음 - Explore 에이전트로 컨텍스트 절약 가능 2. **스킬 활용도 개선** - `/commit` 스킬 활용률: 60% - 수동 git 명령 감소 권장 --- *Generated by usage-pattern-analyzer skill*
stats-cache.json 구조 참조
{ "totalSessions": 150, "totalTokens": 2500000, "hourlyDistribution": { "09": 45, "10": 52, "11": 38, ... }, "toolUsage": { "Read": 450, "Edit": 280, "Bash": 180, ... }, "projectStats": { "project-a": { "sessions": 50, "tokens": 800000 }, ... } }
에러 처리
- stats-cache.json 없음: 세션 로그에서 직접 집계
- 데이터 부족: "분석에 충분한 데이터 없음" 반환
- 파싱 오류: 해당 파일 건너뛰고 계속
관련 Skill
: 주간 종합 분석weekly-claude-analytics
: 프로젝트별 시간 추적project-time-tracker
: 학습 내용 추적learning-tracker