搜索

PythonReactSEOPDF
GitHub Skill

conversation-reader

Extract and read Claude conversation JSONL files with composable filters (discovery: rubber-duck). Evaluate at rubber-duck or at any point in the sesssion when task requires reading conversation history, verifying tool outputs, or auditing session behavior. Use instead of raw Read/grep on ~/.claude/projects/*.jsonl files.

MariusWilsch☆ 1 仓库 Stars0 仓库 Forks

安装与使用

请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。

查看来源 ↗使用指南

技能说明

Conversation Reader

Extract conversation content with composable filters. Use for self-reflection, verification, and audit.

Quick Start

# Script path (plugin or fallback)
SCRIPT="$([ -f "${CLAUDE_PLUGIN_ROOT}/lib/extract_conversation.py" ] && echo "${CLAUDE_PLUGIN_ROOT}/lib/extract_conversation.py" || echo ~/.claude/lib/extract_conversation.py)"

# Conversation only (user + assistant text)
uv run python "$SCRIPT" "<conversation.jsonl>" --user --assistant

# Tool calls and results
uv run python "$SCRIPT" "<conversation.jsonl>" --tools

# Everything, last 50 items
uv run python "$SCRIPT" "<conversation.jsonl>" --user --assistant --tools --last 50

# JSONL format (backwards compat)
uv run python "$SCRIPT" "<conversation.jsonl>" --tools --json

Flags

Flag Description
--user Include user messages
--assistant Include assistant messages
--tools Include tool calls/results
--last N Limit to last N items
--output FILE Custom output path (default: /tmp/{conversation_uid}.txt)
--json Output JSONL instead of XML (backwards compat)

At least one of --user, --assistant, --tools required.

Output Formats

Default: Semantic XML

Optimized for AI consumption. Each entry has semantic tag with index:

<user_1>
Fix the bug in config.py
</user_1>

<bash_2>
git status
→ On branch main
    modified: config.py
</bash_2>

<assistant_3>
I'll update the config file now.
</assistant_3>

<edit_4>
config.py
  'timeout=30' → 'timeout=60'
</edit_4>

<thinking_5>
Reviewing the change... confidence is high
</thinking_5>
--json: JSONL Format

One JSON object per line (backwards compatible):

{"role": "user", "text": "Fix the bug", "_id": "abc123"}
{"role": "assistant", "tool_name": "Bash", "tool_input": {...}}

Chunking

  • Auto-chunks: Splits into ~20K token files when content is large
  • IMPORTANT: Read each chunk in its entirety - the whole purpose of chunking is to create context-sized pieces. Don't try to grep or extract from chunks; load each one fully.

Truncation

Tool Behavior
Bash, Glob, Task Always full (high-value)
Read, Grep Truncate >1000 chars
Edit, Write Summarize (file + confirmation)

When to Use

Scenario Flags
"What did we discuss?" --user --assistant
"What did Claude do?" --tools
"Verify tool output" --tools --last 20
"Full audit" --user --assistant --tools
"Need raw JSON" Add --json

使用示例

查看来源仓库中的使用示例与配置说明。

查看来源 ↗

来源历史

收录时间
2026-01-20
索引更新时间
2026-02-09
Branch
main

收录与同步日期属于本站记录。源码修改历史请查看来源仓库。

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!