Skip to content
Agentmart
Submit a tool

sessions

Export Claude Code sessions to Obsidian markdown.

Skill by hamchowderr

IndexedMIT★ 2
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/hamchowderr-sessions

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Export Claude Code sessions to Obsidian markdown. Sync, list, resume, annotate sessions. Use when user says "sync session", "export session", "log session", "add session note", "close session", "resume session".

Use cases: documents, productivity, agent-building

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 26, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/sessions
  • Your home directory (~)

Tools it pre-approves 1

From allowed-tools in SKILL.md: the agent may use these without asking you each time.

  • Bash(python3:*)

What's inside

Skill name
sessions
Description
Export Claude Code sessions to Obsidian markdown. Sync, list, resume, annotate sessions. Use when user says "sync session", "export session", "log session", "add session note", "close session", "resume session".
License
MIT
Allowed tools
Bash(python3:*)
Instructions
87 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts
  • Pre-approves some shell commands

Files (2)

  • SKILL.md
  • sessions.py · scripts/

SKILL.md (first lines)

# Sync Sessions Skill

Export Claude Code conversations to `2. Areas/Sessions/` as structured Obsidian notes.

## Commands

```bash
# Sync current session
python3 {baseDir}/scripts/sessions.py sync

# Export today's sessions
python3 {baseDir}/scripts/sessions.py export --today

# Export all sessions
python3 {baseDir}/scripts/sessions.py export --all

# List active sessions
python3 {baseDir}/scripts/sessions.py list

# Resume a session (pick from list)
python3 {baseDir}/scripts/sessions.py resume --pick

# Add timestamped note to current session
python3 {baseDir}/scripts/sessions.py note "figured out the auth bug"

# Close session with summary
python3 {baseDir}/scripts/sessions.py close "scaffold complete, moving to next task"
```

## Output Format

Sessions exported to `2. Areas/Sessions/` with frontmatter:

```yaml
---
type: claude-session
date: YYYY-MM-DD
session_id: uuid
title: "..."
summary: "..."
messages: 42
status: active | done | blocked | handoff
tags: []
rating: null
comments: |
  [2026-05-04 10:30] Note here
---
```

## Preserved on Re-Sync

- `## My Notes` section
- `comments`, `tags`, `rating`, `status` frontmatter fields

## Moving vault-run sessions to a project

Sessions started from the vault for work on a code project are filed under
the vault, not the project. To move them:
- **Transcripts** go to `~/.claude/projects/<encoded repo path>/`: the
  `<id>.jsonl` and its `<id>/` folder (`subagents/*.jsonl`). Find them by
  scanning the vault project's `.jsonl` files for the repo name. Move the
  files unchanged; never rewrite `cwd` or anything else inside a transcript.
- **A still-open session can't be moved**, and Claude Code refuses to delete
  or overwrite transcript files from inside a session. Copy now and give the
  user the final `Move-Item -Force` to run after the session closes.
- **Session notes** go to `Sessions/<Project Name>/`. `session-backfill` skips
  transcripts whose `cwd` is the vault, so write those notes yourself in the
  backfill format and link them from the project note's `## Sessions`.
- If the repo's derived slug doesn't match the project note's `folder:`, add
  an override in `<vault>/.braynee/project_map.json`
  (`"my-repo": { "wikilink": "My Repo", "folder": "My Repo" }`). A repo nested
  one level deeper in `code/` derives a slug that matches nothing.
- The Stop hooks write a `type: transcript` note to `Sessions/Transcripts/`
  for vault-run sessions; move it and fix `project` / `project_folder` after
  the session closes, or the hook recreates it.

Start project sessions from the repo folder so the hooks file them under the
project from the start.

## Auto-Sync Hook

Your `~/.claude/settings.json` already has `session-export-qmd.js` and `session-auto-close.js`
on the Stop event — no additional hooks needed. Session export is already automated.

Use the `export` command manually when you want to bulk-sync historical sessions.

From hamchowderr/braynee, MIT.

More from hamchowderr/braynee

Signals

Stars
2
Forks
0
Open issues
1
Last commit (this folder)
Oct 20, 2026 (8 days ago)
Last release
Oct 12, 2026 (16 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from hamchowderr

Cite this page

sessions skill. Agent Mart. https://agentmart.dev/skills/hamchowderr-sessions (last updated 2026-10-24)