conversation-json-to-md

Conversation JSON To MD

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "conversation-json-to-md" with this command: npx skills add yangsonhung/awesome-agent-skills/yangsonhung-awesome-agent-skills-conversation-json-to-md

Conversation JSON To MD

Convert a user-provided chat-export JSON into multiple Markdown files with consistent Q/A formatting.

When to Use

Use this skill when the user asks for:

  • Splitting one JSON chat export into many .md files

  • One conversation per markdown file

  • Keeping only question/answer content from user and assistant

  • Renaming response section to 回答

  • Normalizing exported files with a second formatting pass

Do not use

Do not use this skill for:

  • Plain text transformation that does not involve JSON chat exports

  • Non-conversation JSON processing tasks

  • Requests requiring semantic summarization instead of structural conversion

Instructions

  • Read the input file path provided by the user. Do not assume default file names.

  • Detect conversation/message structure automatically.

  • Export one markdown file per conversation.

  • Keep only user/assistant Q&A content.

  • Format each Q/A block as:

  • <question text>

  • 回答

  • Preserve answer markdown and demote answer-internal heading levels by one level.

  • Run an independent second-pass formatting check and fix naming/title structure before final delivery.

Supported Input Structures

The bundled script supports common export formats including:

  • DeepSeek/ChatGPT-like mapping tree (mapping/root/children/fragments )

  • Qwen-like exports (data[].chat.messages[] , content_list with phase=answer )

  • Claude web export style (list[{ name, chat_messages: [...] }] )

  • Generic message arrays (messages , history , conversations , dialog , turns )

  • Pair fields (question-answer , prompt-response , input-output )

If format detection fails, stop and ask the user for a sample snippet, then extend parsing rules.

Run Script

python3 scripts/convert_conversations.py
--input /path/to/<user-provided>.json
--output-dir /path/to/output_md
--clean

Output Format

Each output file uses this structure:

<conversation title>

<user question 1>

回答

<assistant answer markdown>

<user question 2>

回答

<assistant answer markdown>

Second-Pass Formatting (Required)

After export, run a second-pass check/fix on output files:

  • Filename normalization:

  • Keep title-only naming

  • Remove illegal filename characters

  • Resolve duplicates with (2) , (3) ...

  • Heading normalization:

  • Keep only one H1: # <conversation title>

  • Ensure questions are H2

  • Ensure responses are exactly ### 回答

  • Body normalization:

  • Keep answer body markdown

  • Keep answer-internal heading demotion

  • Final verification:

  • Confirm no files still violate naming or heading rules

Validation Checklist

  • File count equals detected conversation count

  • No random suffixes in filenames

  • No ## REQUEST or ## RESPONSE headers in output

  • Response blocks are present as ### 回答

  • Output preserves markdown rendering correctly

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

novel-writer-cn

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

novel-writer

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

multi-lang-readme

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

topic-bookmarks-reorganizer-cn

No summary provided by upstream source.

Repository SourceNeeds Review