From yangsonhung-awesome-agent-skills
Converts chat export JSON (ChatGPT, DeepSeek, Qwen, Claude web, etc.) into per-conversation Markdown files with preserved Q/A structure and normalized headings.
How this skill is triggered — by the user, by Claude, or both
Slash command
/yangsonhung-awesome-agent-skills:conversation-json-to-mdThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Convert a user-provided chat-export JSON into multiple Markdown files with consistent Q/A formatting. The workflow keeps only user-assistant exchanges, writes one conversation per Markdown file, preserves answer Markdown, and runs a second pass to normalize filenames and heading structure.
Convert a user-provided chat-export JSON into multiple Markdown files with consistent Q/A formatting. The workflow keeps only user-assistant exchanges, writes one conversation per Markdown file, preserves answer Markdown, and runs a second pass to normalize filenames and heading structure.
Use this skill when the user asks for:
.md filesAnswerDo not use this skill for:
## <question text>### AnswerThe bundled script supports common export formats including:
mapping/root/children/fragments)data[].chat.messages[], content_list with phase=answer)list[{ name, chat_messages: [...] }])messages, history, conversations, dialog, turns)question-answer, prompt-response, input-output)If format detection fails, stop and ask the user for a sample snippet, then extend parsing rules.
python3 scripts/convert_conversations.py \
--input /path/to/<user-provided>.json \
--output-dir /path/to/output_md \
--clean
Each output file uses this structure:
# <conversation title>
## <user question 1>
### Answer
<assistant answer markdown>
## <user question 2>
### Answer
<assistant answer markdown>
After export, run a second-pass check/fix on output files:
(2), (3)...# <conversation title>### Answer## REQUEST or ## RESPONSE headers in output### Answernpx claudepluginhub yangsonhung/awesome-agent-skillsSplits chat export JSON into per-session Markdown files preserving only user-assistant Q&A structure. Useful for archiving or reviewing chat logs.
Normalizes inbox files (markdown, Claude JSON/JSONL, Readwise, transcripts, link captures) into clean markdown with partial frontmatter. Handles format-specific edge cases like content-block arrays and timestamp stripping.
Parses Claude Code JSONL conversation transcripts to extract signal from user/assistant messages, filter noise entries, link subagent files, detect session boundaries, and understand storage format.