주간 Claude Code 사용 분석 리포트 생성. 이번 주 모든 세션 로그를 분석하여 프로젝트별 시간 분포, 작업 유형, Jira 이슈 진행 현황 제공. "주간 분석", "Claude 사용 통계", "weekly analytics" 등의 요청 시 자동 적용.
주간(월~금) Claude Code 세션 로그를 분석하여 사용 통계 및 작업 패턴 리포트를 생성하는 skill.
analytics/claude-weekly/YYYY-WXX.md| 항목 | 경로 |
|---|---|
| vault | $OBSIDIAN_VAULT/ |
| 세션 로그 | ~/.claude/projects/[encoded-path]/*.jsonl |
| 출력 | $OBSIDIAN_VAULT/analytics/claude-weekly/ |
# Read 도구로 env.config 읽기 (OBSIDIAN_VAULT 변수 확인)
# 이번 주 월요일 구하기
WEEK_START=$(date -v-$(($(date +%u) - 1))d +%Y-%m-%d)
WEEK_NUM=$(date +%Y-W%V)
echo "분석 기간: $WEEK_START ~ $(date +%Y-%m-%d)"
echo "주차: $WEEK_NUM"
# macOS 호환 방식 (stat + grep)
find ~/.claude/projects -name "*.jsonl" -type f \
-exec stat -f "%Sm %N" -t "%Y-%m-%d" {} \; 2>/dev/null | \
awk -v start="$WEEK_START" '$1 >= start {print $2}'
각 JSONL 파일에서 다음 정보를 추출:
| 항목 | 추출 방법 |
|---|---|
| 프로젝트명 | 디렉토리 경로 URL 디코딩 |
| 세션 시작 시간 | 첫 번째 user 레코드 timestamp |
| 세션 종료 시간 | 마지막 레코드 timestamp |
| 작업 시간 | 종료 - 시작 |
| 수정된 파일 수 | Edit/Write tool_use 개수 |
| Jira 이슈 | [A-Z]{2,10}-\d+ 패턴 매칭 |
| 작업 유형 | 키워드 및 도구 패턴 분석 |
파싱 스크립트:
# 세션 시간 계산 (첫 번째와 마지막 timestamp)
jq -s '
[.[0], .[-1]] |
map(select(.timestamp) | .timestamp) |
{start: .[0], end: .[1]}
' session.jsonl
# 수정된 파일 수
cat session.jsonl | jq -r '
select(.type == "assistant") |
.message.content[]? |
select(.type == "tool_use" and (.name == "Edit" or .name == "Write")) |
.input.file_path
' | wc -l
집계 항목:
출력 파일: analytics/claude-weekly/YYYY-WXX.md
---