Agent skill
usage-pattern-analyzer
Claude Code 도구 사용 패턴 및 생산성 트렌드 분석. 반복 작업 감지, 시간대별 생산성, 도구 사용 빈도 시각화. "패턴 분석", "사용 통계", "productivity" 등의 요청 시 자동 적용.
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/usage-pattern-analyzer
SKILL.md
Usage Pattern Analyzer Skill
개요
Claude Code 세션 로그 및 stats-cache.json을 분석하여 도구 사용 패턴, 시간대별 생산성, 반복 작업을 파악하고, 스킬/에이전트 자동화 제안을 제공하는 skill.
사용 방식
bash
/usage-pattern-analyzer # 전체 패턴 분석
/usage-pattern-analyzer tools # 도구 사용 패턴만
/usage-pattern-analyzer time # 시간대별 생산성만
/usage-pattern-analyzer repeat # 반복 작업 감지만
/usage-pattern-analyzer weekly # 이번 주 데이터만 분석
경로 정보
| 항목 | 경로 |
|---|---|
| stats-cache | ~/.claude/stats-cache.json |
| history | ~/.claude/history.jsonl |
| transcripts | ~/.claude/transcripts/*.jsonl |
| 세션 로그 | ~/.claude/projects/[encoded-path]/*.jsonl |
| 출력 | ~/DocumentsLocal/msbaek_vault/analytics/patterns/ |
분석 영역
1. 도구 사용 패턴 (Tools)
분석 항목
| 항목 | 설명 |
|---|---|
| 도구별 사용 빈도 | Read, Edit, Write, Bash, Grep, Glob 등 |
| 도구 조합 패턴 | 자주 함께 사용되는 도구 세트 |
| 파일 유형별 도구 | .ts → Edit, .md → Write 등 |
| 도구 사용 추이 | 시간에 따른 도구 사용 변화 |
추출 방법
bash
# 세션에서 도구 사용 빈도 추출
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
출력 형식
markdown
## 도구 사용 패턴
### 전체 사용 빈도
| 도구 | 사용 횟수 | 비율 |
|-----|---------|-----|
| 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)
분석 항목
| 항목 | 설명 |
|---|---|
| 시간대별 세션 수 | 아침/오후/저녁 분포 |
| 시간대별 도구 사용 | 시간대에 따른 작업 유형 |
| 요일별 패턴 | 요일에 따른 작업량 변화 |
| 피크 시간 | 가장 활발한 시간대 |
데이터 소스
bash
# 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
출력 형식
markdown
## 시간대별 생산성
### 시간대별 세션 분포
| 시간대 | 세션 수 | 비율 | 그래프 |
|-------|--------|-----|--------|
| 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
# 반복 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
출력 형식
markdown
## 반복 작업 감지
### 반복 명령어 (자동화 후보)
| 명령어 패턴 | 빈도 | 제안 |
|-----------|-----|------|
| `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
markdown
---
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 구조 참조
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: 학습 내용 추적
Didn't find tool you were looking for?