name: analyze-session description: 分析Claude Code会话以找到工作流模式、摩擦点和插件技能建议。需要ccrider MCP。 argument-hint: <session-id> | --last | --from-find
分析会话
深入分析Claude Code会话,以找到模式、摩擦点,以及插件技能可以帮助的地方。
用法
/phx:analyze-session 90a74843 # 通过ID分析(短或完整)
/phx:analyze-session --last # 分析最近的会话
/phx:analyze-session --from-find # 分析由 /phx:find-sessions 保存的会话
要求
需要 ccrider MCP。如果不可用,告诉用户:
ccrider MCP 是必需的。参见:https://github.com/neilberkman/ccrider
步骤
1. 确定要分析的会话
解析 $ARGUMENTS:
- 会话ID(8+十六进制字符):直接使用。如果短(8字符),调用
mcp__ccrider__list_recent_sessions(limit: 50)并找到ID以给定前缀开始的会话。 --last:调用mcp__ccrider__list_recent_sessions(limit: 1),使用该会话。如果可能,排除当前会话。--from-find:读取.claude/sessions-to-analyze.md,从## 会话ID部分提取会话ID。- 无参数:显示用法并停止。
2. 获取会话消息
对于每个会话,调用 mcp__ccrider__get_session_messages(session_id: id)。
如果记录非常大(>200条消息),使用 last_n: 150 获取最近的部分,并注意分析覆盖会话的尾部。
3. 写入记录
创建 .claude/session-analysis/ 如果它不存在。
将每个记录写入 .claude/session-analysis/{short-id}-transcript.md:
# 会话记录:{short-id}
项目:{project}
日期:{date}
消息数:{count}
## 消息
### 用户(序列 1)
{内容}
### 助手(序列 2)
{内容}
...
4. 分析
读取分析模板在 {SKILL_DIR}/references/analysis-template.md。
按会话数量的策略:
- 1个会话:直接分析 — 读取记录并应用模板
- 2-3个会话:生成 sonnet 子代理,每个会话一个。每个子代理读取记录文件 + 模板。
- 4+个会话:生成 haiku 子代理以加快速度。
每个子代理提示:
读取分析模板在 {template_path}。
读取会话记录在 {transcript_path}。
应用模板生成报告。
将报告写入 {report_path}。
5. 写入报告
将每个报告保存到 .claude/session-analysis/{short-id}-report.md。
6. 呈现结果
向用户显示每个分析会话的摘要:
## 会话:{short-id} ({project}, {date})
**目标**:{1行摘要}
**结果**:达成 / 部分 / 未达成
**关键摩擦**:{前1-2个痛点}
**插件建议**:{前2-3个 /phx:* 命令,这些命令会有帮助}
如果多个会话,添加跨会话摘要:
## 跨会话模式
- **最常见的摩擦**:{模式}
- **要尝试的顶级插件技能**:`/phx:{command}` — {原因}
- **工作流建议**:{推荐}