Export conversation transcripts to Markdown, JSON, or HTML for sharing, archiving, or blog writing. Parses Claude Code JSONL session files and renders them as clean, human-readable documents. Use when the user asks to "export this conversation", "save transcript", "share this session", or "turn this into a blog post".
Export Claude Code conversation transcripts to Markdown, JSON, or HTML.
Parse $ARGUMENTS for the following flags:
| Flag | Description |
|---|---|
--format md|json|html | Output format (default: md) |
--output FILE | Write to file instead of presenting inline |
--blog | Blog-ready mode — clean narrative, no tool noise |
--list | List available sessions for this project |
--include-thinking | Include thinking/reasoning blocks |
--include-subagents | Inline full subagent transcripts |
--verbose-tools | Show full tool inputs and outputs |
--no-tool-details | Hide tool calls entirely |
--clipboard |
| Copy output to clipboard |
If --list is in the arguments:
python3 ${CLAUDE_SKILL_DIR}/scripts/stenographer.py --list --project-dir "${CLAUDE_PROJECT_DIR}"
Present the output as a table of available sessions.
Build the command from the parsed arguments:
python3 ${CLAUDE_SKILL_DIR}/scripts/stenographer.py ${CLAUDE_SESSION_ID} [flags] --project-dir "${CLAUDE_PROJECT_DIR}"
If no session ID is provided and $CLAUDE_SESSION_ID is available, use the current session.
Pass through any flags from $ARGUMENTS directly to the script.
If --blog is in the arguments:
--blog --no-tool-details flags to get a clean transcript--output file--output is specified: the script writes directly to the file--clipboard is specified: pipe output to clipboard (clip.exe on Windows, pbcopy on macOS, xclip on Linux)python3 to run the scripta2478bb3-c968-4e9a-a57f-a69d6d3c7a85)--project-dir flag passes the encoded project directory name (e.g., C--Users-sandm-temp)$CLAUDE_PROJECT_DIR is not available, derive it from $CWD by replacing :\ with -- and \ with -