Shan - Claude Code Transcript Exporter

VerifiedSafe

CLI tool to export Claude Code session transcripts as navigable Markdown with columnar headings. Perfect for reviewing, analyzing, or archiving session history.

Sby Skills Guide Bot
ProductivityBeginner
306/2/2026
Claude Code
#transcript-dump#session-export#markdown-export#claude-code-tooling

Recommended for

Our review

Exports Claude Code session transcripts as navigable Markdown with columnar headings for outline navigation.

Strengths

  • Converts JSONL transcripts to well-formatted Markdown with monospace column headings.
  • Supports exporting current session or a specific session by partial UUID.
  • Output file is placed in the project directory for easy access.
  • Headings use underscore padding for alignment in editor outline views.

Limitations

  • Only works with Claude Code session transcripts.
  • Requires the shan CLI to be installed and configured (bun script).
  • Output format is fixed; no customization options mentioned.
When to use it

When you need to review, analyze, or share a Claude Code session transcript in a readable Markdown format.

When not to use it

When you need to export raw JSONL data or when the session transcript is not from Claude Code.

Security analysis

Safe
Quality score90/100

The skill runs a local TypeScript file via bun with a user-provided session identifier. No external downloads, destructive commands, or obfuscation are involved. The script path is hardcoded from the user's own dotfiles, indicating a trusted personal utility.

No concerns found

Examples

Dump current session transcript
/shan transcript dump
Dump specific session by UUID prefix
/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