export-session-as-markdown
Export Session as Markdown
Export a Claude Code session transcript to a human-readable GitHub-flavored Markdown file.
Prerequisites
- The
ed3d-session-reflectionplugin must be installed (provides thereduce-transcript.pyscript). - The current session's transcript path must be available (injected by the SessionStart hook). If it is not available, ask the user for the transcript path.
Invocation
The user may invoke this as:
/export-session-as-markdown— export the current session/export-session-as-markdown /path/to/transcript.jsonl— export a specific transcript/export-session-as-markdown /path/to/transcript.jsonl /path/to/output.md— export to a specific output path
Steps
1. Determine the transcript path
If an argument was provided, use it as the transcript path. Otherwise, use the current session's transcript path from the SessionStart hook injection.
If you cannot determine the transcript path, tell the user:
I don't know the current session's transcript path.
Either provide a path: /export-session-as-markdown /path/to/session.jsonl
Or ensure the ed3d-session-reflection SessionStart hook is active.
2. Determine the output path
If a second argument was provided, use it as the output path. Otherwise, default to the current working directory with a descriptive filename:
session-transcript-YYYY-MM-DD.md
If a file with that name already exists, append a counter: session-transcript-YYYY-MM-DD-2.md.
3. Export the transcript
Run the script with the --markdown flag:
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/reduce-transcript.py" "<transcript_path>" "<output_path>" --markdown
4. Report the result
Tell the user where the file was written and its size. Example:
Exported session transcript to ./session-transcript-2026-03-20.md (346 KB)
More from ed3dai/ed3d-plugins
functional-core-imperative-shell
Use when writing or refactoring code, before creating files - enforces separation of pure business logic (Functional Core) from side effects (Imperative Shell) using FCIS pattern with mandatory file classification
112playwright-debugging
Use when Playwright scripts fail, tests are flaky, selectors stop working, or timeouts occur - provides systematic debugging approach for browser automation issues
26researching-on-the-internet
Use when planning features and need current API docs, library patterns, or external knowledge; when testing hypotheses about technology choices or claims; when verifying assumptions before design decisions - gathers well-sourced, current information from the internet to inform technical decisions
23creating-an-agent
Use when creating specialized subagents for Claude Code plugins or the Task tool - covers description writing for auto-delegation, tool selection, prompt structure, and testing agents
18writing-for-a-technical-audience
Use when writing documentation, guides, API references, or technical content for developers - enforces clarity, conciseness, and authenticity while avoiding AI writing patterns that signal inauthenticity
18using-generic-agents
Use to decide what kind of generic agent you should use
18