Claude Code 도구 사용 패턴 및 생산성 트렌드 분석. 반복 작업 감지, 시간대별 생산성, 도구 사용 빈도 시각화. "패턴 분석", "사용 통계", "productivity" 등의 요청 시 자동 적용.
Scanned 9/2/2026
Install to Claude Code
npx -y skills add majiayu000/claude-skill-registry --skill usage-pattern-analyzer-msbaek-dotfiles-c059ecfb --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Usage Pattern Analyzer Msbaek Dotfiles C059ecfb?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/majiayu000-usage-pattern-analyzer-msbaek-dotfiles-c059ecfb)More formats (shields.io, HTML) on the badges page.
---
name: usage-pattern-analyzer
description: |
Claude Code 도구 사용 패턴 및 생산성 트렌드 분석.
반복 작업 감지, 시간대별 생산성, 도구 사용 빈도 시각화.
"패턴 분석", "사용 통계", "productivity" 등의 요청 시 자동 적용.
---
# 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`: 학습 내용 추적
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!