with one click
chat-history
// Extract and organize Claude Code session history into project .chats directory. Use when users want to document their Claude sessions, export conversation inputs, or maintain a log of instructions given to Claude.
// Extract and organize Claude Code session history into project .chats directory. Use when users want to document their Claude sessions, export conversation inputs, or maintain a log of instructions given to Claude.
Council · 智囊团:蒸馏真人思维框架为Advisor,并支持多Advisor圆桌讨论。 所有Advisor以persona文件形式存储在 personas/ 目录下,由Council统一管理。 三种用法: (A) 蒸馏:输入人名/主题/模糊需求 → 深度调研 → 提炼心智模型 → 生成Advisor persona (B) 激活:加载已有Advisor,以其视角回答问题 (C) 圆桌:召集多个Advisor → 独立发言 → 交叉质疑 → 综合输出 触发词(蒸馏):「蒸馏XX」「造skill」「做个XX视角」「XX的思维方式」「更新XX的persona」 触发词(激活):「用XX的视角」「XX会怎么看」「XX模式」「切换到XX」「ask XX」 触发词(圆桌):「问问council」「圆桌讨论」「让XX和YY讨论」「ask the council」「council session」 模糊需求也触发:「我想提升决策质量」「有没有一种思维方式能帮我...」「我需要一个思维顾问」
Write production-ready SurrealDB queries and operations using SurrealQL. Use when users need to create schemas, write CRUD queries, model graph relationships, build authentication systems, optimize performance, or work with SurrealDB in any capacity.
Write production-ready CEL (Common Expression Language) code for Kubernetes ValidatingAdmissionPolicies, CRD validation rules, and security policies. Use when users need to create admission policies, validate Kubernetes resources, enforce security constraints, or write CEL expressions for Kubernetes.
Create production-ready KRO ResourceGraphDefinitions using Pulumi TypeScript. Use when users need to define custom Kubernetes APIs, compose resources with KRO, integrate AWS ACK resources, or build platform abstractions using Pulumi infrastructure as code.
Perform comprehensive code reviews using OpenAI Codex CLI. This skill should be used when users request code reviews, want to analyze diffs/PRs, need security audits, performance analysis, or want automated code quality feedback. Supports reviewing staged changes, specific files, entire directories, or git diffs.
Extract comprehensive design language from websites including colors, typography, animations, interactive states, shadows, gradients, component patterns, and UX behaviors. Generates pixel-perfect design guides with responsive screenshots and complete design system documentation. Use when analyzing website design, creating design systems, or rebuilding sites.
| name | chat-history |
| description | Extract and organize Claude Code session history into project .chats directory. Use when users want to document their Claude sessions, export conversation inputs, or maintain a log of instructions given to Claude. |
| user_invocable | true |
Extract user inputs from Claude Code session history (~/.claude/projects/) and organize them into a project's .chats directory with daily markdown files.
Use this skill when the user wants to:
.jsonl session filesClaude Code stores session data in ~/.claude/projects/{project-path-encoded}/ as .jsonl files. Each file contains messages with:
type: "user" - User messagesuserType: "external" - External user (not system/agent)message.content - The actual message contentThis skill extracts meaningful user instructions (filtering out system commands, tool results, and session continuations) and organizes them by date into .chats/{YYYYMMDD}.md files.
The session directory is derived from the current working directory path:
/ with - in the path-~/.claude/projects/{encoded-path}/# Example: /Users/tchen/projects/tubi/titc
# Becomes: -Users-tchen-projects-tubi-titc
# Full path: ~/.claude/projects/-Users-tchen-projects-tubi-titc/
List session files and filter by modification date:
# List all main session files (excluding agent-* files) for a specific date
ls -la ~/.claude/projects/{project-dir}/*.jsonl | grep "Dec 25" | grep -v agent-
Extract user messages from jsonl files using jq:
cat {session-file}.jsonl | jq -r '
select(.type == "user" and .userType == "external" and (.isMeta | not)) |
.message.content |
if type == "string" then . else empty end
' | grep -v "^Caveat:" \
| grep -v "^<command" \
| grep -v "^<local-command" \
| grep -v "^This session is being continued" \
| grep -v "^<user-prompt-submit-hook>" \
| grep -v "^Analysis:" \
| grep -v "^$"
Create markdown files in .chats/ directory with format:
# Instructions
## {task title}
{user instruction}
## {another task title}
{another user instruction}
After creating/updating chat files, commit with:
git add .chats/*.md
git commit -m "docs(chats): add session history for {date range}"
Each .chats/{YYYYMMDD}.md file should:
# Instructions header## for each major task/instruction.chats/20251225.md:
# Instructions
## implement feature X
based on @specs/feature-x.md implement all phases entirely
commit the code and test
## fix bug Y
investigate why component Z is not working
use sub agents to analyze the issue in parallel
Include:
Exclude:
<command-name>, <local-command-stdout>)<user-prompt-submit-hook>)~/.claude/projects/{encoded-path}/.chats/{YYYYMMDD}.md.chats/ directory if it doesn't existYou can use this bash snippet to quickly find the project session directory:
# Get encoded project path
PROJECT_PATH=$(pwd | sed 's|/|-|g' | sed 's|^|/|' | sed 's|^/|-|')
SESSION_DIR="$HOME/.claude/projects/$PROJECT_PATH"
# Check if exists
if [ -d "$SESSION_DIR" ]; then
echo "Session directory: $SESSION_DIR"
echo "Sessions by date:"
ls -la "$SESSION_DIR"/*.jsonl 2>/dev/null | grep -v agent- | awk '{print $6, $7}' | sort -u
else
echo "No session directory found for this project"
fi
agent-*.jsonl are sub-agent sessions and typically don't contain direct user input01e78099-de0e-4424-845c-518638c8241e.jsonl).message.content field can be either a string (user text) or an array (tool results)