Shan - Claude Code Session Transcript Exporter

VerifiedSafe

Convert Claude Code session transcripts to navigable Markdown with columnar headings for editor outline navigation. Perfect for reviewing, analyzing, or exporting sessions.

Sby Skills Guide Bot
DocumentationBeginner
206/2/2026
Claude Code
#claude-code#transcript-export#markdown#session-review

Recommended for

Our review

Exports a Claude Code session transcript as a navigable Markdown file with columnar headings for outline navigation.

Strengths

  • Creates structured Markdown with timestamp and message type columns.
  • Allows easy review and analysis of past sessions.
  • Can dump current or specific session by ID.
  • Output is saved to project directory for persistence.

Limitations

  • Only works for Claude Code sessions.
  • Requires the shan CLI tool to be installed.
  • Output format is fixed and not customizable.
When to use it

Use when you need to review, share, or archive a Claude Code session transcript for later reference or documentation.

When not to use it

Do not use if you need interactive playback or real-time collaboration on session data.

Security analysis

Safe
Quality score88/100

The skill runs a local Bun script that reads session transcripts and writes Markdown files. There is no network access, destructive commands, or handling of secrets. The script is a predefined utility, and the arguments are limited to transcript dumps. No risky patterns like curl, sudo, or base64 decoding are present.

No concerns found

Examples

Dump current session
/shan transcript dump
Dump specific session
/shan transcript dump dc8ffe42

name: shan description: Dump a Claude Code session transcript as navigable Markdown. Use when user wants to review, analyze, or export a session transcript. argument-hint: transcript dump [session-id] allowed-tools: Bash(bun:*)

Shan

Claude Code tooling CLI (named after Claude Shannon).

Execute

Run the shan CLI with provided arguments:

bun ~/projects/jasonkuhrt/dotfiles/packages/shan/src/bin/shan.ts $ARGUMENTS

Commands

transcript dump [session-id]

Convert JSONL transcripts to navigable Markdown with columnar headings for editor outline navigation.

Arguments:

| Argument | Description | |----------|-------------| | [session-id] | Optional. Partial UUID prefix (e.g., dc8ffe42). Defaults to current session. |

Output: .claude/transcripts/<session-id>.transcript.md in project directory

Examples:

/shan transcript dump              # dump current session
/shan transcript dump dc8ffe42     # dump specific session

Output Format:

Headings use monospace columns with underscore padding for editor outline alignment:

# `001` `01/25/2026 22:45` `file-history-snapshot` `snapshot______________________`
# `002` `01/25/2026 22:45` `progress_____________` `SessionStart:clear____________`
# `003` `01/25/2026 22:46` `user_________________` `sync__________________________`
Related skills