Shan - Claude Code Transcript Exporter

VerifiedSafe

Exports a Claude Code session transcript as a navigable Markdown file with columnar headings for editor outline navigation. Helps you review, analyze, or archive session transcripts.

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

Recommended for

Our review

Exports a Claude Code session transcript as navigable Markdown with formatted headings for editor outline navigation.

Strengths

  • Generates a well-structured Markdown file with monospace column headings for easy editor outline navigation.
  • Allows specifying a session ID or uses the current session by default.
  • Facilitates reviewing, analyzing, and sharing Claude Code sessions.

Limitations

  • Requires the shan CLI tool and Bun to be installed.
  • Only works with Claude Code sessions.
  • The heading format may not be ideal for all editors.
When to use it

When you want to review, analyze, or export a Claude Code session as a structured Markdown file.

When not to use it

If you need an export in a different format (JSON, HTML) or if you don't want to install additional tooling.

Security analysis

Safe
Quality score90/100

The skill runs a known local script via bun with user-supplied arguments, but the script's purpose is limited to transcript dumping, and there is no indication of destructive or exfiltrating behavior. No obfuscation or risky patterns detected.

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