jpskill.com
🛠️ 開発・MCP コミュニティ

chronicle-session-documenter

Document AI-assisted development sessions to Obsidian vault using Chronicle data. Works with MCP (fastest) or CLI commands (portable). Use when completing a coding session, creating development logs, or maintaining a knowledge base of past work. Automatically creates structured notes with metadata, summaries, and wikilinks.

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o chronicle-session-documenter.zip https://jpskill.com/download/17812.zip && unzip -o chronicle-session-documenter.zip && rm chronicle-session-documenter.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/17812.zip -OutFile "$d\chronicle-session-documenter.zip"; Expand-Archive "$d\chronicle-session-documenter.zip" -DestinationPath $d -Force; ri "$d\chronicle-session-documenter.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して chronicle-session-documenter.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → chronicle-session-documenter フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

Chronicle Session Documenter

このスキルは、Chronicleのデータベースを使用して、開発セッションをObsidian vaultに記録するのに役立ちます。MCPサーバー(高速、構造化)とCLIコマンド(ポータブル、どこでも)の両方で動作します。

自動アクティベーション

このスキルは自動的にアクティブになります! (マイルストーン #13)

「セッション75をドキュメント化する」や「Obsidianにエクスポートする」のようなプロンプトは、このスキルの使用を自動的に推奨します。手動でロードする必要はありません!

トリガーパターン: document session, export to obsidian, save to vault 参照: 詳細については docs/HOOKS.md を参照してください

このスキルを使用するタイミング

このスキルは、以下の場合に使用します。

  • 開発セッションが完了した直後
  • ユーザーがセッションで達成したことをドキュメント化したい場合
  • 開発ログまたはジャーナルエントリを作成する場合
  • 過去の作業の検索可能な知識ベースを構築する場合
  • 関連するセッション、コミット、または決定をリンクする必要がある場合

仕組み

オプション1:MCPを使用(推奨)

  1. Chronicleのクエリ - mcp__chronicle__get_session_summary(session_id) → 完全なサマリーを含む構造化されたJSONを取得
  2. ノートの作成 - mcp__obsidian__write_note(...) → Obsidian vaultに直接書き込み
  3. 作業のリンク - JSONからのセッション関係を使用してwikilinkを作成

オプション2:CLIを使用(ポータブル)

  1. Chronicleのクエリ - chronicle session <id> → フォーマットされたセッションの詳細とサマリーを取得
  2. 出力の解析 - CLI出力からサマリー、ファイル、期間を抽出
  3. ノートの作成 - mcp__obsidian__write_note(...) または手動でノートファイルを作成
  4. 作業のリンク - 解析されたデータを使用してwikilinkを作成

決定木:

Obsidianにセッションをドキュメント化する
├─ MCPは利用可能ですか? → mcp__chronicle__get_session_summary() + mcp__obsidian__write_note()を使用
└─ CLIのみですか? → `chronicle session <id>` を使用し、出力を解析し、ノートを書き込む

: サマリーはセッション終了時にバックグラウンドで自動的に生成されます(最近のセッションではまだ処理中の場合があります)

ノートの構造

Chronicle/Sessions/Session-{id}.md に次の形式でノートを作成します。

---
session_id: {id}
date: "{YYYY-MM-DD}"
started: "{HH:MM AM/PM}"
duration_minutes: {minutes}
ai_tool: "{tool}"
repo: "{repo_name}"
tags: ["chronicle-session", "{ai_tool}", "{topics}"]
---

# セッション {id} - {簡単なタイトル}

**期間:** {duration}
**リポジトリ:** [[{repo_name}]]
**ツール:** {AI Tool Name}

## サマリー
{ChronicleからのAI生成サマリー}

## 達成したこと
- {主要な達成事項1}
- {主要な達成事項2}

## 主要な技術的決定
- {決定1とその理由}

## 作成または変更されたファイル
- `path/to/file.py` - {変更内容}

## 問題とブロッカー
- {発生した問題}

## 関連
- 前: [[Session-{prev_id}]]
- コミット: [[Commit-{sha}]]
- リポジトリ: [[{repo_name}]]

ワークフローの例

オプション1:MCPを使用(高速、構造化)

セッション完了後:

# ステップ1:Chronicle MCPからセッションデータを取得
session_data = mcp__chronicle__get_session_summary(session_id=10)

# ステップ2:キー情報を抽出
session_id = session_data["id"]
timestamp = session_data["timestamp"]  # "2025-10-24T14:30:00"
tool = session_data["tool"]  # "claude-code"
duration = session_data["duration_minutes"]  # 45
repo_path = session_data["repo_path"]  # "/Users/.../my-project"
summary = session_data["summary"]  # AI生成サマリー(複数段落)

# ステップ3:ノートコンテンツをフォーマット
note_content = f"""# セッション {session_id} - {brief_title}

**期間:** {duration} 分
**リポジトリ:** [[{repo_name}]]
**ツール:** {tool_emoji} {tool_name}

## サマリー
{summary}

## 達成したこと
- {extracted_accomplishments}

## 主要な技術的決定
- {extracted_decisions}

## 作成または変更されたファイル
- {extracted_files}

## 問題とブロッカー
- {extracted_blockers}

## 関連
- 前: [[Session-{prev_id}]]
"""

# ステップ4:frontmatterを準備
frontmatter = {
    "session_id": session_id,
    "date": "2025-10-24",
    "started": "14:30",
    "duration_minutes": duration,
    "ai_tool": tool,
    "repo": repo_name,
    "tags": ["chronicle-session", tool, "feature-work"]
}

# ステップ5:Obsidian vaultに書き込み(MCPが利用可能な場合)
mcp__obsidian__write_note(
    path="Chronicle/Sessions/Session-10.md",
    content=note_content,
    frontmatter=frontmatter,
    mode="overwrite"
)

オプション2:CLIを使用(ポータブル、MCPは不要)

セッション完了後:

# ステップ1:Chronicle CLIからセッションデータを取得
chronicle session 10 > /tmp/session_10.txt

# ステップ2:出力を解析して以下を抽出:
# - セッションID、タイムスタンプ、ツール、期間
# - リポジトリパス
# - AI生成サマリー
# - 記載されているファイル
# - キーワード/タグ

# ステップ3:解析されたデータを使用してノートコンテンツを作成
# (上記のMCPアプローチと同様の構造)

# ステップ4:Obsidian MCPが利用可能な場合は、それを使用してノートを書き込む:
# mcp__obsidian__write_note(...)
#
# または、Obsidian vaultに手動でファイルを作成:
# ~/Documents/Obsidian/Chronicle/Sessions/Session-10.md に書き込む

: CLIアプローチでは、Chronicleのフォーマットされた出力を解析する必要があります。これはそれほどエレガントではありませんが、Chronicleがインストールされているすべてのシステムに完全に移植可能です。

使用例

ユーザー: 「セッション10をObsidian vaultにドキュメント化できますか?」

アシスタント(MCPあり):

  1. mcp__chronicle__get_session_summary(session_id=10) を呼び出す
  2. 構造化されたJSONを解析して、達成事項、決定、ファイル、ブロッカーを抽出
  3. wikilinkを含む構造化されたMarkdownコンテンツを作成
  4. mcp__obsidian__write_note(...) を呼び出してvaultに保存
  5. 確認: 「セッション10をChronicle/Sessions/Session-10.mdにドキュメント化しました」

アシスタント(MCPなし):

  1. chronicle session 10 を実行してフォーマットされた出力を取得
  2. CLI出力を解析して、サマリーとメタデータを抽出
  3. wikilinkを含む構造化されたMarkdownコンテンツを作成
  4. mcp__obsidian__write_note(...) が利用可能な場合はそれを使用するか、手動でファイルを作成
  5. 確認: 「セッション10をChronicle/Sessions/Session-10.mdにドキュメント化しました」

使用するツール(MCPまたはCLI)

Chronicleデータベース操作

MCPアプローチ(推奨):

  • mcp__chronicle__get_session_summary(session_id) - AIサマリーを含む完全なセッションの詳細を取得

(原文がここで切り詰められています)

📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Chronicle Session Documenter

This skill helps you document development sessions to your Obsidian vault using Chronicle's database. Works with both MCP server (fast, structured) or CLI commands (portable, everywhere).

Auto-Activation

This skill auto-activates! (Milestone #13)

Prompts like "document session 75" or "export to Obsidian" automatically trigger a recommendation to use this skill. No need to manually load it!

Trigger patterns: document session, export to obsidian, save to vault See: docs/HOOKS.md for full details

When to Use This Skill

Use this skill when:

  • A development session has just completed
  • User wants to document what was accomplished in a session
  • Creating a development log or journal entry
  • Building a searchable knowledge base of past work
  • Need to link related sessions, commits, or decisions

How It Works

Option 1: With MCP (Preferred)

  1. Query Chronicle - mcp__chronicle__get_session_summary(session_id) → Get structured JSON with full summary
  2. Create Note - mcp__obsidian__write_note(...) → Write directly to Obsidian vault
  3. Link Work - Use session relationships from JSON to create wikilinks

Option 2: With CLI (Portable)

  1. Query Chronicle - chronicle session <id> → Get formatted session details and summary
  2. Parse Output - Extract summary, files, duration from CLI output
  3. Create Note - mcp__obsidian__write_note(...) OR manually create note file
  4. Link Work - Use parsed data to create wikilinks

Decision Tree:

Document session to Obsidian
├─ MCP available? → Use mcp__chronicle__get_session_summary() + mcp__obsidian__write_note()
└─ CLI only? → Use `chronicle session <id>`, parse output, write note

Note: Summaries are automatically generated in background when session ends (may still be processing for recent sessions)

Note Structure

Create notes in Chronicle/Sessions/Session-{id}.md with this format:

---
session_id: {id}
date: "{YYYY-MM-DD}"
started: "{HH:MM AM/PM}"
duration_minutes: {minutes}
ai_tool: "{tool}"
repo: "{repo_name}"
tags: ["chronicle-session", "{ai_tool}", "{topics}"]
---

# Session {id} - {Brief Title}

**Duration:** {duration}
**Repository:** [[{repo_name}]]
**Tool:** {AI Tool Name}

## Summary
{AI-generated summary from Chronicle}

## What Was Accomplished
- {Key accomplishment 1}
- {Key accomplishment 2}

## Key Technical Decisions
- {Decision 1 and rationale}

## Files Created or Modified
- `path/to/file.py` - {what changed}

## Issues & Blockers
- {Any problems encountered}

## Related
- Previous: [[Session-{prev_id}]]
- Commits: [[Commit-{sha}]]
- Repository: [[{repo_name}]]

Workflow Examples

Option 1: With MCP (Fast, Structured)

After completing a session:

# Step 1: Get session data from Chronicle MCP
session_data = mcp__chronicle__get_session_summary(session_id=10)

# Step 2: Extract key information
session_id = session_data["id"]
timestamp = session_data["timestamp"]  # "2025-10-24T14:30:00"
tool = session_data["tool"]  # "claude-code"
duration = session_data["duration_minutes"]  # 45
repo_path = session_data["repo_path"]  # "/Users/.../my-project"
summary = session_data["summary"]  # AI-generated summary (multi-paragraph)

# Step 3: Format note content
note_content = f"""# Session {session_id} - {brief_title}

**Duration:** {duration} minutes
**Repository:** [[{repo_name}]]
**Tool:** {tool_emoji} {tool_name}

## Summary
{summary}

## What Was Accomplished
- {extracted_accomplishments}

## Key Technical Decisions
- {extracted_decisions}

## Files Created or Modified
- {extracted_files}

## Issues & Blockers
- {extracted_blockers}

## Related
- Previous: [[Session-{prev_id}]]
"""

# Step 4: Prepare frontmatter
frontmatter = {
    "session_id": session_id,
    "date": "2025-10-24",
    "started": "14:30",
    "duration_minutes": duration,
    "ai_tool": tool,
    "repo": repo_name,
    "tags": ["chronicle-session", tool, "feature-work"]
}

# Step 5: Write to Obsidian vault (if MCP available)
mcp__obsidian__write_note(
    path="Chronicle/Sessions/Session-10.md",
    content=note_content,
    frontmatter=frontmatter,
    mode="overwrite"
)

Option 2: With CLI (Portable, No MCP Required)

After completing a session:

# Step 1: Get session data from Chronicle CLI
chronicle session 10 > /tmp/session_10.txt

# Step 2: Parse the output to extract:
# - Session ID, timestamp, tool, duration
# - Repository path
# - AI-generated summary
# - Files mentioned
# - Keywords/tags

# Step 3: Create note content using parsed data
# (Similar structure to MCP approach above)

# Step 4: If Obsidian MCP available, use it to write note:
# mcp__obsidian__write_note(...)
#
# OR manually create file in Obsidian vault:
# Write to ~/Documents/Obsidian/Chronicle/Sessions/Session-10.md

Note: CLI approach requires parsing Chronicle's formatted output, which is less elegant but fully portable to any system with Chronicle installed.

Example Usage

User: "Can you document session 10 to my Obsidian vault?"

Assistant (with MCP):

  1. Calls mcp__chronicle__get_session_summary(session_id=10)
  2. Parses structured JSON to extract accomplishments, decisions, files, blockers
  3. Creates structured Markdown content with wikilinks
  4. Calls mcp__obsidian__write_note(...) to save to vault
  5. Confirms: "Documented Session 10 to Chronicle/Sessions/Session-10.md"

Assistant (without MCP):

  1. Runs chronicle session 10 to get formatted output
  2. Parses CLI output to extract summary and metadata
  3. Creates structured Markdown content with wikilinks
  4. Either uses mcp__obsidian__write_note(...) if available, or creates file manually
  5. Confirms: "Documented Session 10 to Chronicle/Sessions/Session-10.md"

Tools to Use (MCP or CLI)

Chronicle Database Operations

MCP Approach (Preferred):

  • mcp__chronicle__get_session_summary(session_id) - Get full session details with AI summary
  • mcp__chronicle__get_sessions(limit, days, tool, repo_path) - List recent sessions to find session ID
  • mcp__chronicle__search_sessions(query, limit) - Search for sessions by keyword
  • mcp__chronicle__get_commits(repo_path, days, limit) - Get related commits for linking
  • mcp__chronicle__get_sessions_summaries(session_ids) - Batch get summaries (up to 20 at once)

CLI Alternatives:

  • chronicle session <id> - Get session details with summary
  • chronicle sessions --limit 10 - List recent sessions
  • chronicle search "keyword" --limit 10 - Search sessions
  • chronicle show today - Get commits for linking

Obsidian Vault Operations

MCP Approach (Preferred):

  • mcp__obsidian__write_note(path, content, frontmatter, mode) - Write note to vault
  • mcp__obsidian__read_note(path) - Check if note already exists (optional)
  • mcp__obsidian__list_directory(path) - List existing session notes (optional)

Manual Alternative (No MCP):

  • Create file directly: ~/Documents/Obsidian/<vault>/Chronicle/Sessions/Session-<id>.md
  • Write YAML frontmatter + markdown content manually

Tips

  • Summary generation is automatic - Summarization starts in background immediately when session ends (may take a few minutes for large sessions)
  • Parse summaries intelligently - AI summaries often have sections like "Accomplishments:", "Technical Decisions:", "Issues/Blockers:"
  • Use wikilinks - Link to [[Session-{id}]], [[{repo_name}]], [[Commit-{short_sha}]] for navigation
  • Extract repo name - Parse from repo_path: /Users/.../my-appmy-app
  • Handle missing data - Some sessions may not have summaries yet (still processing in background), or durations (still running)
  • Batch document - Use get_sessions() to find recent sessions, then document each in loop
  • Check existing notes - Use read_note() to avoid overwriting manually edited notes (ask user first)
  • Tool emojis - Use 🎯 for claude-code, ✨ for gemini-cli, 🔮 for qwen-cli
  • Frontmatter tags - Always include ["chronicle-session", "{tool}", ...] for filtering in Obsidian
  • Date formatting - Parse ISO timestamp 2025-10-24T14:30:00 → date: "2025-10-24", started: "14:30"

Common Patterns

Document Today's Sessions

With MCP:

# Get today's sessions
sessions = mcp__chronicle__get_sessions(days=1, limit=20)
# Document each to vault
for session in sessions:
    if session["is_session"]:  # Only full sessions, not one-shots
        document_to_vault(session["id"])

With CLI:

# List today's sessions
chronicle sessions --days 1 --limit 20

# Manually document each one
chronicle session 10  # View details
# Parse and create Obsidian note

Document Specific Session

With MCP:

# Direct documentation
session = mcp__chronicle__get_session_summary(session_id=10)
# Create note from structured data

With CLI:

# Get session details
chronicle session 10

# Parse output and create note

Find and Document Sessions About a Topic

With MCP:

# Search first
results = mcp__chronicle__search_sessions(query="authentication", limit=5)
# Document each match
for result in results:
    document_to_vault(result["id"])

With CLI:

# Search for sessions
chronicle search "authentication" --limit 5

# Document each match
chronicle session <id>
# Create note from parsed output