
winui-session-report
Analyze the current or a recent agent session (GitHub Copilot CLI or Claude Code) and generate a diagnostic report. Use only when the user explicitly asks for session feedback, agent debugging, or a review of what happened during a build session. Do not inspect session data automatically.
- Installs
- 139
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/microsoft/win-dev-skills --skill winui-session-report- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads winui-session-report automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Session Analysis Report
Generate a diagnostic report for an agent session by running the Analyze-Session.ps1 script included with this skill. The script auto-detects whether the current session was produced by GitHub Copilot CLI or Claude Code from environment variables and on-disk file format, and dispatches to the appropriate parser. If neither harness can be detected, the script exits with a clear error.
[!IMPORTANT] Run this skill only when the user explicitly asks for session analysis or a report. If it is loaded without an explicit request, do not inspect session data; explain what the report contains and wait for confirmation.
Privacy and sensitivity — surface this guidance to the user
Analyze-Session.ps1 always:
- Embeds a "Privacy and sensitivity" section at the top of the generated
session-report.md(right above the Overview table), and - Prints a yellow PRIVACY NOTICE banner to the console when it finishes writing the file.
You (the agent) must surface this guidance to the user in your response — do not let it stay buried in script output the user might not have read. When you finish running the script and reporting the findings, include a short privacy reminder in your reply to the user, in plain second-person language. Use this template, adapting wording as needed:
⚠️ Heads-up before you share
session-report.md— this file contains your unredacted session transcript: file contents and paths the agent read or edited, your prompts verbatim (including any secrets you may have pasted), tool output, environment values, and local paths underC:\Users\<you>\…. You're responsible for what you share — please open the file in your editor and read it end-to-end before attaching it to a public issue, posting it in chat, or sending it outside your organization. Redact anything sensitive. If you only need to share the high-level metrics, ask me to summarize the file instead of attaching it.
If the user only wants the high-level metrics (turn counts, skill usage, build success rate) without the per-turn detail, summarize the report and share the summary instead of the file — and tell the user that's what you're doing so they don't have to read it themselves to confirm.
Steps
- Run the analysis script to generate the report:
# 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
Detection rules:
- The current session is preferred when an explicit ID is available:
COPILOT_AGENT_SESSION_ID(Copilot CLI) orCLAUDE_SESSION_ID(Claude Code) take priority over "most recently modified" so a parallel session in another terminal can't shadow the one the skill was invoked from. - Environment first:
CLAUDECODE=1orCLAUDE_CODE_ENTRYPOINT-> Claude Code;COPILOT_*env vars -> Copilot. - For Claude Code, the most-recent JSONL whose
cwdmatches the current working directory is preferred. - For an explicit
-EventsFile, the format is sniffed from the first events. - If neither harness is detected, the script exits with a non-zero status and a message naming both supported locations.
-
Review the generated report — read
session-report.mdand summarize key findings for the user:- How many turns, how long, token usage
- What skills were loaded and when
- Build/run workflow and command-failure pattern
- Any stuck patterns or tooling issues detected
-
Add your own observations — append a section to the report with any additional context:
- Was the final app working? What's missing?
- Quality assessment of the generated code
- Suggestions specific to what went wrong
-
Include any tooling improvements or recommendations based on the analysis.
- Are there rules that need to be added to the Roslyn analyzer to prevent common mistakes detected during the session?
- Were there bugs or issues with
winapp new, project-modewinapp run/winapp package,dotnet build/dotnet publish, orwinapp find-ui? (BuildAndRun.ps1appears only in historical transcripts.) - Review the report's Build Analysis and Sandbox Execution sections for host/guest scope, input-readiness, and evidence issues.
- Are there features that could be added to lower the number of turns required to complete a task?
What the Report Covers
| Section | Details |
|---|---|
| Overview | Harness, session ID, model, duration, turns, tokens (incl. cache tokens for Claude Code) |
| Prompt | The original user request |
| Turn Breakdown | Turns and tokens by category (building, coding, exploring, subagent dispatch, etc.) |
| Skills | Which were invoked and when, including from inside subagent transcripts |
| Subagents | (Claude Code only) Per-agent breakdown of dispatched subagents and their work |
| Build Analysis | Build/publish attempts and command errors (dotnet, project-mode winapp run/package, historical BuildAndRun.ps1) |
| Sandbox Execution | When present: Sandbox command usage/error counts and focused checks for host/guest scope, input readiness, workflow coordination, and evidence delivery |
| Stuck Patterns | Build loops, repeated file reads, obj/ clean cycles |
| Tooling Issues | Auto-detected improvement opportunities |
| Turn Detail | Every turn with tools used and errors flagged, parent and subagent transcripts shown separately |
FAQ
What does the winui-session-report skill do?
Analyze the current or a recent agent session (GitHub Copilot CLI or Claude Code) and generate a diagnostic report. Use only when the user explicitly asks for session feedback, agent debugging, or a review of what happened during a build session. Do not inspect session data automatically.
How do I install winui-session-report?
Run npx skills add https://github.com/microsoft/win-dev-skills --skill winui-session-report in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/winui-session-report/ (personal) or .claude/skills/winui-session-report/ (project).
Which AI agents can use winui-session-report?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is winui-session-report safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains winui-session-report?
It is published by microsoft in microsoft/win-dev-skills, and it is an official skill from the maker of the technology it covers. It has 139 recorded installs.
More from microsoft/win-dev-skills
winui-design
microsoft/win-dev-skills
Open the skill to read its SKILL.md instructions.
winui-ui-testing
microsoft/win-dev-skills
Automated UI testing for Windows desktop apps — generate a batch test script with the winapp ui UI Automation harness (WinApp CLI 0.7+), run all tests in one pass, read results. Covers assertions, interactions, keyboard/touch/pen input, file pickers, dialogs, persistence, accessibility, and screenshot/video capture for Win32, WPF, WinForms, and WinUI 3, in Windows Sandbox or locally.
winui-dev-workflow
microsoft/win-dev-skills
Build and run workflow for WinUI 3 apps with WinApp CLI 0.7+ — project creation with winapp new, per-app NuGet analyzer setup, project-mode winapp run, Native AOT publish runs, crash diagnosis, and prerequisites. Use when creating, building, running, or fixing build errors in a WinUI 3 project.
winui-code-review
microsoft/win-dev-skills
Code quality review for WinUI 3 apps — MVVM compliance, x:Bind correctness, accessibility, theming, security, and performance. Use before committing to catch issues that the compiler and UI tests won't find.
winui-setup
microsoft/win-dev-skills
Install and verify WinUI 3 prerequisites — .NET SDK 8.0.100+, WinApp CLI 0.7+, and Developer Mode; identify additional Native AOT and Windows Sandbox requirements. Use when the user asks to set up or repair the toolchain, or when another WinUI skill finds a missing or outdated prerequisite.
winui-packaging
microsoft/win-dev-skills
MSIX packaging, code signing, and distribution for WinUI 3 apps with WinApp CLI 0.7+ — SDK-native project packaging, Native AOT, certificates, self-contained deployment, CI/CD, and Microsoft Store handoff. Use when preparing for release, creating MSIX installers, managing certificates, setting up CI/CD packaging, or publishing to the Microsoft Store.
Popular docs & writing skills
grill-with-docs
mattpocock/skills
A relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.
lark-markdown
open.feishu.cn
飞书 Markdown:查看、创建、上传、编辑和比较飞书中的原生 Markdown 文件。当用户要操作飞书 Markdown 文件,或比较其远端版本及本地草稿时使用。纯本地 Markdown 文件操作不触发本 skill。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。
writing-beats
mattpocock/skills
Writing, exploit; assemble raw material into a journey of beats, grounding each term before a beat leans on it.
writing-shape
mattpocock/skills
Writing, exploit: shape raw material into an article, paragraph by paragraph.
writing-fragments
mattpocock/skills
Writing, explore: mine raw fragments, no structure yet.
writing-for-agents
mattpocock/skills
Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.