chat-perf

Benchmarks chat rendering performance and detects memory leaks in VS Code builds.

1|Updated Aug 27, 2026
One-click install
npx skills add https://github.com/Niiihuel/openide --skill chat-perf-niiihuel
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: chat-perf
Source: https://github.com/Niiihuel/openide/tree/main/vscode/.github/skills/chat-perf
Command: npx skills add https://github.com/Niiihuel/openide --skill chat-perf-niiihuel

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires playwright, @vscode/test-electron, and includes scripts (resource) components.

What problem does it solve? Chat UI changes can silently introduce rendering regressions or memory leaks that are hard to catch with unit tests. This Skill automates performance benchmarking and leak detection for the VS Code chat panel, comparing builds with statistical rigor so regressions are caught before they ship. ## Core Features & Use Cases - Perf Regression Testing: Launches VS Code via Playwright Electron, streams mock LLM responses, and measures timing, layout, and rendering metrics against a baseline build using Welch's t-test for statistical significance. - Memory Leak Checks: Sends repeated messages in one session, forces GC between each, and uses linear regression on heap and DOM node samples to detect per-message growth. - CI Integration & Bisection: Runs in a scheduled GitHub workflow against a fixed release baseline, producing artifacts that let you pinpoint when a metric regressed or went flaky. - Use Case: After modifying chatListRenderer.ts, run the perf comparison against VS Code 1.115.0 with 5 runs to verify no statistically significant regression in layout duration or time to first token. ## Quick Start Run the chat performance regression test comparing my local dev build against the VS Code 1.115.0 baseline with 3 runs of the text-only scenario.

Frequently Asked Questions about chat-perf

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run a chat performance regression test in VS Code?▼

Run npm run perf:chat with flags like --scenario text-only and --runs 3. The tool launches VS Code via Playwright Electron, streams a mock LLM response, and compares metrics against a baseline build such as version 1.115.0.

How do I check for memory leaks in the VS Code chat panel?▼

Run npm run perf:chat-leak to send repeated messages in one session with forced GC between each. It uses linear regression on heap and DOM node samples, flagging growth above 2 MB per message as a likely leak.

Can I compare two local VS Code builds for performance?▼

Yes, pass local executable paths to both --build and --baseline-build for an apples-to-apples comparison. Local path baselines are never cached since the build may change between runs.

Why does the perf test report a regression as likely noise?▼

Regression detection uses Welch's t-test, so a metric is only flagged when it exceeds the threshold and is statistically significant at p < 0.05. High variance with few runs produces inconclusive results; use --resume to add iterations.

When should I use --no-baseline in chat perf testing?▼

Use --no-baseline when you only need raw measurements, such as profiling a single change or capturing traces and heap snapshots. It skips downloading and benchmarking the baseline, roughly halving runtime, but produces no pass/fail verdict.