Analyze recent conversations to improve both global (~/.claude/CLAUDE.md) and local (project) CLAUDE.md files.
The project’s conversation history is in ~/.claude/projects/. The folder name is the project path with slashes replaced by dashes.
# Find the project folder (replace / with -)
PROJECT_PATH=$(pwd | sed 's|/|-|g' | sed 's|^-||')
CONVO_DIR=~/.claude/projects/-${PROJECT_PATH}
ls -lt "$CONVO_DIR"/*.jsonl | head -20
Extract the 15-20 most recent conversations (excluding the current one) to a temp directory:
SCRATCH=/tmp/claudemd-review-$(date +%s)
mkdir -p "$SCRATCH"
for f in $(ls -t "$CONVO_DIR"/*.jsonl | head -20); do
basename=$(basename "$f" .jsonl)
# Skip current conversation if known
cat "$f" | jq -r '
if .type == "user" then
"USER: " + (.message.content // "")
elif .type == "assistant" then
"ASSISTANT: " + ((.message.content // []) | map(select(.type == "text") | .text) | join("\n"))
else
empty
end
' 2>/dev/null | grep -v "^ASSISTANT: $" > "$SCRATCH/${basename}.txt"
done
ls -lhS "$SCRATCH"
Launch parallel Sonnet subagents to analyze conversations. Each agent should read:
~/.claude/CLAUDE.md./CLAUDE.md (if exists)Give each agent this prompt template:
Read:
1. Global CLAUDE.md: ~/.claude/CLAUDE.md
2. Local CLAUDE.md: [project]/CLAUDE.md
3. Conversations: [list of files]
Analyze the conversations against BOTH CLAUDE.md files. Find:
1. Instructions that exist but were violated (need reinforcement or rewording)
2. Patterns that should be added to LOCAL CLAUDE.md (project-specific)
3. Patterns that should be added to GLOBAL CLAUDE.md (applies everywhere)
4. Anything in either file that seems outdated or unnecessary
Be specific. Output bullet points only.
Batch conversations by size:
Combine results from all agents into a summary with these sections:
Present as tables or bullet points. Ask user if they want edits drafted.