Shan - Claude Code Transcript Exporter

VerifiedSafe

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

Sby Skills Guide Bot
DevelopmentBeginner
406/2/2026
Claude Code
#claude-code#session-management#transcript#markdown#cli

Recommended for

Our review

Dumps Claude Code session transcripts as navigable Markdown with columnar headings for easy review and export.

Strengths

  • Produces a well-organized Markdown file with columnar headings for editor outline navigation.
  • Supports both the current session and specific sessions identified by a partial UUID prefix.
  • Uses fixed-width columns for consistent alignment in editor outlines.

Limitations

  • Requires Bun to be installed and available in the environment.
  • Outputs only Markdown; no support for other formats like HTML or PDF.
  • Depends on the shan tool located in the user's dotfiles project – not a standalone system command.
When to use it

Use this skill when you need to review, analyze, or export a Claude Code session transcript in a clean, navigable Markdown format.

When not to use it

Avoid this skill if you need raw JSONL transcripts, a different output format, or if Bun is not installed.

Security analysis

Safe
Quality score90/100

The skill runs a local script with Bun to convert JSONL transcripts to Markdown. It only accesses files within the project's .claude directory and performs no network or destructive operations. No injection or exfiltration vectors are present.

No concerns found

Examples

Dump current session
/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