home / skills / ykdojo / claude-code-tips / review-claudemd

review-claudemd skill

/skills/review-claudemd

This skill reviews CLAUDE.md guidelines from global and local files against recent conversations to identify improvements.

npx playbooks add skill ykdojo/claude-code-tips --skill review-claudemd

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
2.7 KB
---
name: review-claudemd
description: Review recent conversations to find improvements for CLAUDE.md files.
---

# Review CLAUDE.md from conversation history

Analyze recent conversations to improve both global (~/.claude/CLAUDE.md) and local (project) CLAUDE.md files.

## Step 1: Find conversation history

The project's conversation history is in `~/.claude/projects/`. The folder name is the project path with slashes replaced by dashes.

```bash
# 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
```

## Step 2: Extract recent conversations

Extract the 15-20 most recent conversations (excluding the current one) to a temp directory:

```bash
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"
```

## Step 3: Spin up Sonnet subagents

Launch parallel Sonnet subagents to analyze conversations. Each agent should read:
- Global CLAUDE.md: `~/.claude/CLAUDE.md`
- Local CLAUDE.md: `./CLAUDE.md` (if exists)
- Batch of conversation files

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:
- Large (>100KB): 1-2 per agent
- Medium (10-100KB): 3-5 per agent
- Small (<10KB): 5-10 per agent

## Step 4: Aggregate findings

Combine results from all agents into a summary with these sections:

1. **Instructions violated** - existing rules that weren't followed (need stronger wording)
2. **Suggested additions - LOCAL** - project-specific patterns
3. **Suggested additions - GLOBAL** - patterns that apply everywhere
4. **Potentially outdated** - items that may no longer be relevant

Present as tables or bullet points. Ask user if they want edits drafted.

Overview

This skill reviews recent Claude conversations to recommend concrete improvements for global (~/.claude/CLAUDE.md) and project-local (./CLAUDE.md) guidance. It automates extraction of recent chats, runs parallel analyzers, and synthesizes actionable changes to wording, patterns, and outdated items. The goal is clearer, enforceable instructions and project-tailored conventions.

How this skill works

The skill locates the project conversation folder under ~/.claude/projects, extracts the most recent 15–20 conversations into a scratch directory, and normalizes messages into text files. It launches parallel Sonnet subagents, each comparing conversation batches to both global and local CLAUDE.md files to identify violations, missing patterns, and obsolete guidance. Finally it aggregates agent outputs into a concise summary of violated instructions, suggested local and global additions, and potentially outdated items.

When to use it

  • After a sprint or major chat activity to capture emergent issues
  • When onboarding contributors to a project that uses Claude agents
  • Before publishing or sharing a global CLAUDE.md update
  • When conversation behavior diverges from documented expectations
  • To perform regular maintenance of local and global guidance

Best practices

  • Run the review on the 15–20 most recent conversations to focus on current patterns
  • Exclude the current active conversation to avoid self-bias in findings
  • Batch conversations by file size to balance agent workload
  • Require subagents to output only bullet points for easier aggregation
  • Use the summary to propose targeted rewrites, not entire rewrites

Example use cases

  • Reinforce a system prompt rule that users repeatedly ignore (e.g., token budget or reply format)
  • Add project-specific Q&A patterns discovered across multiple conversations
  • Detect global items that are rarely followed and suggest stronger wording or removal
  • Create a short changelog entry from the aggregated suggested edits to share with the team
  • Automate periodic hygiene checks for CLAUDE.md files across projects

FAQ

How many conversations should I analyze?

Extract the 15–20 most recent conversations (excluding the current one) to capture relevant, recent behaviors without overwhelming agents.

What output will I get?

A consolidated set of bullet lists: instructions violated, suggested local additions, suggested global additions, and potentially outdated items. You can ask for drafted edits after reviewing the summary.