From pds
Exports Claude Code session JSONL files to human-readable markdown with role markers and timestamps. Use to save, review, share transcripts, or feed dev-diary pipelines.
How this skill is triggered — by the user, by Claude, or both
Slash command
/pds:exportThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Export Claude Code session JSONL files to human-readable markdown.
Export Claude Code session JSONL files to human-readable markdown.
Output also feeds the dev-diary pipeline in
/pds:finish—scripts/assemble-diary.shcallsexport-session.shto produce the raw transcript block that lives inside the diary comment's<details>wrapper.
Run the export script:
# Export current/latest session to stdout
scripts/export-session.sh
# Export specific session
scripts/export-session.sh <session-id>
# Save to file
scripts/export-session.sh -o docs/conversations/session-name.md
# List available sessions
scripts/export-session.sh --list
| Var | Purpose |
|---|---|
TRANSCRIPT_PATH | Absolute path to the JSONL. Skips CWD-hash session discovery entirely — canonical source is the transcript_path field in hook payloads. |
FILTER_BRANCH | If set, JSONL entries are filtered to those whose gitBranch matches (entries without gitBranch, like early-session system messages, pass through). Produces a tighter, branch-scoped transcript. |
Or from the plugin root:
$CLAUDE_PLUGIN_ROOT/scripts/export-session.sh
The exported markdown uses role markers for readability:
| Marker | Role |
|---|---|
| 👤 Human | User messages |
| 🔵 Claude | Assistant text + tool calls |
| 🤖 Agent | Teammate/subagent messages |
| ⚙️ System | Slash commands |
| ⚙️ Shell | Terminal commands run by user |
Tool calls appear as compact 📎 lines showing the tool name and key parameters.
Timestamps are shown on every message. System reminders, XML tags, and internal metadata are stripped for readability.
Session JSONL files are stored at:
~/.claude/projects/<project-hash>/<session-id>.jsonl
Each project directory corresponds to a working directory. Use --list to see available sessions with their sizes and dates.
Save exported sessions to docs/conversations/ with descriptive names:
docs/conversations/2026-04-02-v4.8.0-session.md
docs/conversations/2026-03-31-source-analysis.md
scripts/efficiency-chart.sh — Value stream visualization from telemetrynpx claudepluginhub rmzi/portable-dev-system --plugin pdsExports Claude Code session transcripts to GitHub-flavored Markdown with metadata header, collapsible tool results, and thinking blocks. Invoke via /export-session-as-markdown for current or specified path.
Saves the current Claude Code session transcript as clean markdown (conversation only) and raw transcript files for reuse in memos, blog drafts, or articles. Supports starting, refreshing, and finalizing logs per session.
Analyzes Claude Code session history JSONL files to extract insights, summaries, and patterns from conversations. Processes current project or all sessions with bash, jq, and subagents.