History Insight

ai-native-camp/camp-2/.claude/skills/history-insight

作者 ai-native-camp16c00971bf22无许可证19 个星标收录于 2026年10月9日更新于 2026年10月9日仓库6个月前更新

This skill should be used when user wants to access, capture, or reference Claude Code session history. Trigger when user says "capture session", "save session history", or references past/current conversation as a source - whether for saving, extracting, summarizing, or reviewing. This includes any mention of "what we discussed", "today's work", "session history", or when user treats the conversation itself as source material (e.g., "from our conversation").

AI 生成的概览

分析 Claude Code 会话历史文件,从过往对话中提取洞察与摘要。

功能
读取存储在本地 Claude 项目目录下、以 JSONL 格式保存的 Claude Code 会话历史,可按项目范围或日期筛选。它会解析或预处理这些文件,包括使用脚本去除 thinking 与 tool_use 条目,并在文件较多时进行分批与汇总。最终产出包含提取洞察与消息数量的报告。
适用场景
当用户想要捕获、保存、提取、总结或回顾过去或当前的 Claude Code 对话,或将对话本身作为素材来源时使用。
运行要求
需要访问本地 Claude Code 会话文件、jq 命令行工具,以及 find、stat、split 等标准 shell 工具。该技能附带可执行脚本(scripts/extract-session.sh)和一份关于会话文件格式的参考文档。

History Insight

Claude Code 세션 히스토리를 분석하고 인사이트를 추출합니다.


Data Location

~/.claude/projects/<encoded-cwd>/*.jsonl

Path Encoding: /Users/foo/project → -Users-foo-project

상세 파일 포맷: ${baseDir}/references/session-file-format.md


Execution Algorithm

Step 1: Ask Scope [MANDATORY]

스코프 결정:

  1. 명시된 경우 (AskUserQuestion 생략 가능):

    • "현재 프로젝트만" / "이 프로젝트" → current_project
    • "모든 세션" / "전체" → all_sessions
  2. 명시되지 않은 경우 - AskUserQuestion 호출:

    question: "세션 검색 범위를 선택하세요"options:  - "현재 프로젝트만" → ~/.claude/projects/<encoded-cwd>/*.jsonl  - "모든 Claude Code 세션" → ~/.claude/projects/**/*.jsonl

Step 2: Find Session Files

bash
# Current project onlyfind ~/.claude/projects/<encoded-cwd> -name "*.jsonl" -type f
# All sessions (모든 프로젝트)find ~/.claude/projects -name "*.jsonl" -type f

날짜 필터링: 파일의 mtime(수정시간) 확인 후 필터. OS별 stat 옵션 다름:

  • macOS: stat -f "%Sm" -t "%Y-%m-%d" <file>
  • Linux: stat -c "%y" <file>

Step 3: Process Sessions

Decision Tree
Session files found?├─ No → Error: "No sessions found"└─ Yes → How many files?    ├─ 1-3 files → Direct Read + parse    └─ 4+ files → Batch Extract Pipeline
1-3 Files

직접 Read로 JSONL 파싱. 파일이 크면(≥5000 tokens) extract-session.sh 사용:

bash
${baseDir}/scripts/extract-session.sh <session.jsonl>
4+ Files: Batch Extract Pipeline
  1. 캐시 디렉토리 생성 (/tmp/cc-cache/<analysis-name>/)
  2. 세션 목록 저장 (sessions.txt)
  3. jq로 메시지 일괄 추출 (user_messages.txt)
  4. 정리 및 필터링 (clean_messages.txt)
  5. Task(opus)로 종합 분석
파일이 너무 클 때: 병렬 배치 분석

clean_messages.txt가 너무 커서 Read 실패 시:

  1. 파일 분할:

    bash
    split -l 2000 clean_messages.txt /tmp/cc-cache/<name>/batch_
  2. 병렬 Task(opus) 호출:

    Task(subagent_type="general-purpose", model="opus", run_in_background=true)prompt: "batch_XX 파일을 읽고 주제/패턴 요약해줘"
  3. 결과 병합: Task(opus)로 종합


Step 4: Report Results

markdown
## Session Capture Complete
- **Sessions:** N files processed- **Messages:** X total, Y after filter
### Extracted Insights[분석 결과]

Error Handling

ScenarioResponse
No session files found"No session files found for this project."
File too largeAuto-preprocess with extract-session.sh
jq not installed"Error: jq is required. Install with: brew install jq"
Task failed"Warning: Could not process [file]. Skipping."
0 relevant sessions"No sessions matched your criteria."

Security Notes

  • 출력에 전체 경로 노출 금지 (~ prefix 사용)

Related Resources

  • ${baseDir}/scripts/extract-session.sh - JSONL 압축 (thinking, tool_use 제거)
  • ${baseDir}/references/session-file-format.md - JSONL 구조 및 파싱

来源与署名

来源:ai-native-camp/camp-2位于.claude/skills/history-insight提交16c0097

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架