关于 winui-session-report
此技能通过 Analyze-Session.ps1 分析 GitHub Copilot CLI 或 Claude Code 会话,并生成包含使用、构建和工具问题的诊断报告。适合需要检查会话过程的用户;报告附有隐私提示。
主要功能
- 01自动识别 Copilot CLI 和 Claude Code
- 02分析会话轮次、时长与令牌用量
- 03检查技能调用、构建尝试和工具错误
- 04生成包含逐轮详情的 Markdown 报告
- 05提示会话记录中的隐私风险
适用场景
- 01排查构建失败和反复尝试
- 02查看技能调用及子 Agent 工作
- 03分析会话中的工具问题与卡住模式
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ microsoft/ win-dev-skills --skill winui-session-report安装后在 Claude Code 中输入/winui-session-report确认已加载。
附带文件Analyze-Session.ps1
详细介绍
会话分析报告
运行此技能随附的 Analyze-Session.ps1 脚本,为 Agent 会话生成诊断报告。该脚本会根据环境变量和磁盘上的文件格式,自动检测当前会话是由 GitHub Copilot CLI 还是 Claude Code 生成,并调用相应的解析器。如果无法检测到这两种运行环境中的任何一种,脚本会退出并显示明确的错误。
重要
仅当用户明确要求进行会话分析或生成报告时,才运行此技能。如果加载此技能时用户未明确提出请求,请勿检查会话数据;说明报告包含哪些内容,并等待用户确认。
隐私与敏感信息 — 请向用户说明以下内容
Analyze-Session.ps1 始终会:
- 在生成的
session-report.md顶部(Overview 表格正上方)嵌入“隐私与敏感信息”部分,并且 - 写入文件后,在控制台打印黄色的 PRIVACY NOTICE 横幅。
你(Agent)必须在回复中向用户说明这些内容——不要让这项提醒埋没在用户可能没读过的脚本输出中。 运行脚本并报告结果后,请用通俗的第二人称措辞,在回复中简短提醒用户隐私事项。可使用以下模板,并根据需要调整措辞:
⚠️ 分享
session-report.md前请注意——此文件包含未经删减的会话记录:Agent 读取或编辑过的文件内容和路径、你的原始提示词(包括你可能粘贴的任何机密信息)、工具输出、环境变量值,以及C:\Users\<you>\…下的本地路径。你需要自行负责分享内容;在将文件附加到公开问题、发布到聊天中或发送到组织外部之前,请先在编辑器中打开文件并从头到尾仔细阅读。请删去任何敏感信息。如果你只需分享概览指标,请让我总结文件内容,而不是附上文件。
如果用户只需要概览指标(轮数、技能使用情况、构建成功率),而不需要逐轮详情,请总结报告并分享摘要,而不是文件;同时告诉用户你会这样处理,这样他们就不必亲自阅读文件来确认。
步骤
- 运行分析脚本以生成报告:
# Analyze the most recent session (auto-detects harness) and save report
.\Analyze-Session.ps1 -OutputFile session-report.md
# Or analyze a specific session by ID (searched in both harness locations)
.\Analyze-Session.ps1 -SessionId "<session-id>" -OutputFile session-report.md
# Or analyze a transcript file directly (format sniffed from content)
.\Analyze-Session.ps1 -EventsFile '.\transcript.jsonl' -OutputFile session-report.md
# Force a specific format if auto-detection picks the wrong harness
.\Analyze-Session.ps1 -Format ClaudeCode -OutputFile session-report.md
# Skip subagent transcripts (Claude Code only) for a parent-only view
.\Analyze-Session.ps1 -SkipSubagents -OutputFile session-report.md
检测规则:
- 如果有明确的 ID,则优先使用当前会话:
COPILOT_AGENT_SESSION_ID(Copilot CLI)或CLAUDE_SESSION_ID(Claude Code)的优先级高于“最近修改的会话”,以免其他终端中的并行会话取代调用此技能的会话。 - 优先检查环境:
CLAUDECODE=1或CLAUDE_CODE_ENTRYPOINT-> Claude Code;COPILOT_*环境变量 -> Copilot。 - 对于 Claude Code,优先选择
cwd与当前工作目录匹配且最近的 JSONL 文件。 - 如果明确指定了
-EventsFile,则根据最初的事件判断其格式。 - 如果未检测到任何一种运行环境,脚本将以非零状态退出,并显示一条指出两个受支持位置的消息。
-
查看生成的报告——阅读
session-report.md,并向用户总结关键发现:- 轮数、耗时和令牌用量
- 加载了哪些技能,以及加载时间
- 构建/运行工作流和命令失败模式
- 检测到的任何卡住模式或工具问题
-
补充你自己的观察——在报告中追加一个章节,补充其他背景信息:
- 最终应用是否可用?还有什么缺失?
- 对生成代码的质量评估
- 针对出错之处的改进建议
-
根据分析结果,提出工具改进建议。
- 是否需要向 Roslyn 分析器添加规则,以避免会话中发现的常见错误?
winapp new、项目模式下的winapp run/winapp package、dotnet build/dotnet publish或winapp find-ui是否存在错误或问题?(BuildAndRun.ps1仅出现在历史记录中。)- 查看报告的 构建分析 和 沙箱执行 部分,检查主机/来宾范围、输入就绪情况和证据问题。
- 是否可以添加某些功能,以减少完成任务所需的轮数?
报告涵盖内容
| 部分 | 详情 |
|---|---|
| 概览 | 运行环境、会话 ID、模型、耗时、轮数、令牌数(Claude Code 还包括缓存令牌) |
| 提示词 | 用户的原始请求 |
| 轮次细分 | 按类别统计的轮数和令牌数(构建、编码、探索、子 Agent 调度等) |
| 技能 | 调用了哪些技能及调用时间,包括子 Agent 记录中的调用 |
| 子 Agent | 仅限 Claude Code:对已调度子 Agent 及其工作的逐个 Agent 细分 |
| 构建分析 | 构建/发布尝试和命令错误(dotnet、项目模式下的 winapp run/package、历史记录中的 BuildAndRun.ps1) |
| 沙箱执行 | 如有:沙箱命令的使用/错误次数,以及针对主机/来宾范围、输入就绪情况、工作流协调和证据提交的专项检查 |
| 卡住模式 | 构建循环、重复读取文件、obj/ 清理循环 |
| 工具问题 | 自动检测到的改进机会 |
| 轮次详情 | 每一轮所用的工具和标记出的错误;父级与子 Agent 的记录分别展示 |