Chronicle会议记录器Skill chronicle-session-documenter

这个技能可以帮助你将AI辅助的开发会议记录到Obsidian知识库中,支持快速记录和知识管理。

DevOps 0 次安装 0 次浏览 更新于 3/3/2026

name: chronicle-session-documenter description: 将AI辅助的开发会议记录到Obsidian库中,使用Chronicle数据。支持MCP(最快)或CLI命令(便携)。适用于完成编码会议后、创建开发日志或维护过往工作的知识库时使用。自动创建结构化笔记、元数据、摘要和wiki链接。

Chronicle会议记录器

这个技能帮助你将开发会议记录到你的Obsidian库中,使用Chronicle的数据库。支持MCP服务器(快速、结构化)或CLI命令(便携、随处可用)。

自动激活

这个技能自动激活! (里程碑 #13)

类似于“记录会议75”或“导出到Obsidian”的提示会自动触发使用这个技能的建议。不需要手动加载它!

触发模式: 记录会议,导出到Obsidian,保存到库 查看: docs/HOOKS.md 了解完整详情

何时使用这个技能

使用这个技能时:

  • 一个开发会议刚刚结束
  • 用户想要记录会议中的成就
  • 创建开发日志或日记条目
  • 构建可搜索的过往工作知识库
  • 需要链接相关会议、提交或决策

它是如何工作的

选项1:使用MCP(首选)

  1. 查询Chronicle - mcp__chronicle__get_session_summary(session_id) → 获取完整的摘要JSON
  2. 创建笔记 - mcp__obsidian__write_note(...) → 直接写入Obsidian库
  3. 链接工作 - 使用JSON中的会议关系创建wiki链接

选项2:使用CLI(便携)

  1. 查询Chronicle - chronicle session <id> → 获取格式化的会议详情和摘要
  2. 解析输出 - 从CLI输出中提取摘要、文件、持续时间
  3. 创建笔记 - mcp__obsidian__write_note(...) 或手动创建笔记文件
  4. 链接工作 - 使用解析的数据创建wiki链接

决策树:

将会议记录到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工具名称}

## 摘要
{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} - {简短标题}

**持续时间:** {duration}分钟
**仓库:** [[{repo_name}]]
**工具:** {tool_emoji} {tool_name}

## 摘要
{summary}

## 完成的工作
- {提取的成就}

## 关键技术决策
- {提取的决策}

## 创建或修改的文件
- {提取的文件}

## 问题和阻碍
- {提取的阻碍}

## 相关
- 上一个:[[Session-{prev_id}]]
"""

# 第4步:准备前置内容
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库(如果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库中创建文件:
# 写入 ~/Documents/Obsidian/Chronicle/Sessions/Session-10.md

注意:CLI方法需要解析Chronicle的格式化输出,这不太优雅,但在任何安装了Chronicle的系统上都是完全便携的。

示例用法

用户: “你能将会议10记录到我的Obsidian库中吗?”

助手(使用MCP):

  1. 调用mcp__chronicle__get_session_summary(session_id=10)
  2. 解析结构化的JSON以提取成就、决策、文件、阻碍
  3. 创建带有wiki链接的结构化Markdown内容
  4. 调用mcp__obsidian__write_note(...)保存到库中
  5. 确认:“会议10已记录到Chronicle/Sessions/Session-10.md”

助手(不使用MCP):

  1. 运行chronicle session 10获取格式化输出
  2. 解析CLI输出以提取摘要和元数据
  3. 创建带有wiki链接的结构化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摘要
  • mcp__chronicle__get_sessions(limit, days, tool, repo_path) - 列出最近的会议以找到会议ID
  • mcp__chronicle__search_sessions(query, limit) - 通过关键词搜索会议
  • mcp__chronicle__get_commits(repo_path, days, limit) - 获取相关提交以便链接
  • mcp__chronicle__get_sessions_summaries(session_ids) - 批量获取摘要(一次最多20个)

CLI替代方法:

  • chronicle session <id> - 获取带有摘要的会议详情
  • chronicle sessions --limit 10 - 列出最近的会议
  • chronicle search "keyword" --limit 10 - 搜索会议
  • chronicle show today - 获取提交以便链接

Obsidian库操作

MCP方法(首选):

  • mcp__obsidian__write_note(path, content, frontmatter, mode) - 将笔记写入库中
  • mcp__obsidian__read_note(path) - 检查笔记是否已存在(可选)
  • mcp__obsidian__list_directory(path) - 列出现有的会议笔记(可选)

手动替代方法(无MCP):

  • 直接创建文件:~/Documents/Obsidian/<vault>/Chronicle/Sessions/Session-<id>.md
  • 手动编写YAML前置内容+Markdown内容

提示

  • 摘要生成是自动的 - 会议结束时立即在后台开始摘要生成(对于大型会议可能需要几分钟)
  • 智能解析摘要 - AI摘要通常有诸如"成就:"、“技术决策:”、"问题/阻碍:"等部分
  • 使用wiki链接 - 链接到[[Session-{id}]][[{repo_name}]][[Commit-{short_sha}]]以便于导航
  • 提取仓库名称 - 从repo_path解析:/Users/.../my-appmy-app
  • 处理缺失数据 - 一些会议可能还没有摘要(仍在后台处理中),或持续时间(仍在进行中)
  • 批量记录 - 使用get_sessions()找到最近的会议,然后逐个记录
  • 检查现有笔记 - 使用read_note()避免覆盖手动编辑的笔记(先询问用户)
  • 工具表情符号 - 使用🎯表示claude-code,✨表示gemini-cli,🔮表示qwen-cli
  • 前置内容标签 - 总是包括["chronicle-session", "{tool}", ...]以便在Obsidian中过滤
  • 日期格式化 - 解析ISO时间戳2025-10-24T14:30:00 → date: “2025-10-24”, started: “14:30”

常见模式

记录今天的会议

使用MCP:

# 获取今天的会议
sessions = mcp__chronicle__get_sessions(days=1, limit=20)
# 将每个会议记录到库中
for session in sessions:
    if session["is_session"]:  # 仅完整的会议,不是一次性的
        document_to_vault(session["id"])

使用CLI:

# 列出今天的会议
chronicle sessions --days 1 --limit 20

# 手动记录每个会议
chronicle session 10  # 查看详情
# 解析并创建Obsidian笔记

记录特定会议

使用MCP:

# 直接记录
session = mcp__chronicle__get_session_summary(session_id=10)
# 从结构化数据创建笔记

使用CLI:

# 获取会议详情
chronicle session 10

# 解析输出并创建笔记

查找并记录关于某个主题的会议

使用MCP:

# 先搜索
results = mcp__chronicle__search_sessions(query="authentication", limit=5)
# 记录每个匹配项
for result in results:
    document_to_vault(result["id"])

使用CLI:

# 搜索会议
chronicle search "authentication" --limit 5

# 记录每个匹配项
chronicle session <id>
# 从解析的输出创建笔记