chat-history

Extract user inputs from Claude Code .jsonl session files into per-day Markdown summaries.

45|11|Updated Nov 10, 2025
One-click install
npx skills add https://github.com/tyrchen/claude-skills --skill chat-history-tyrchen
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: chat-history
Source: https://github.com/tyrchen/claude-skills/tree/main/chat-history
Command: npx skills add https://github.com/tyrchen/claude-skills --skill chat-history-tyrchen

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires jq.

What problem does it solve?

Organize Claude Code session history into project .chats directory by extracting user inputs from session logs and structuring them for easy review and archival.

Core Features & Use Cases

  • Extract user messages from Claude Code session stores (.jsonl) and filter out system prompts and internal tool results.
  • Group inputs by date and generate per-day Markdown files under the .chats directory for organized documentation.
  • Support exporting sessions into a maintainable changelog-style record that can be committed to version control.

Quick Start

Run the extract-chats.sh script from the chat-history directory to generate daily .md summaries from your Claude Code sessions.

Frequently Asked Questions about chat-history

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I extract user inputs from Claude Code session history?

Extract user inputs from Claude Code session history by reading .jsonl session files, filtering out system prompts and tool results, and grouping messages by date. This generates per-day Markdown summaries under a .chats directory for organized documentation.

Can I export Claude Code .jsonl sessions into Markdown documentation?

Export Claude Code .jsonl sessions into Markdown documentation by running an extraction script that parses session logs, isolates user messages, and writes structured daily .md files. This creates a maintainable, changelog-style record for version control.

What is the best way to organize Claude Code chats into a daily log?

Organize Claude Code chats into a daily log by grouping filtered user inputs into per-day Markdown files within a project .chats directory. This preserves an auditable history of user instructions and conversation context.

Does chat-history require jq to parse session files?

Yes, chat-history requires jq to parse the .jsonl session files. The extraction script relies on jq to filter non-user content and process the raw Claude Code session data into structured Markdown summaries.

Can I commit Claude Code conversation logs to version control?

Commit Claude Code conversation logs to version control by exporting sessions into a .chats directory containing daily Markdown files. This provides a consistent, auditable changelog-style record of user inputs that integrates with standard version control workflows.

Why are system prompts and tool results excluded from the daily Markdown summaries?

System prompts and tool results are excluded from the daily Markdown summaries to isolate user inputs. Filtering non-user content from .jsonl session files ensures the generated .chats logs focus strictly on user instructions for readable documentation.