chat-customizations-editor

Guides development and testing of the VS Code Chat Customizations management editor.

Updated Aug 30, 2026
One-click install
npx skills add https://github.com/Tyrizx/Tyrizx --skill chat-customizations-editor-tyrizx
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: chat-customizations-editor
Source: https://github.com/Tyrizx/Tyrizx/tree/main/.github/skills/chat-customizations-editor
Command: npx skills add https://github.com/Tyrizx/Tyrizx --skill chat-customizations-editor-tyrizx

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @playwright/cli.

What problem does it solve? Working on the VS Code Chat Customizations editor requires navigating a multi-layer architecture spanning core workbench code, sessions-window overrides, and a proposed extension API, where changes to shared interfaces must stay synchronized across five layers and layout bugs often only reproduce in the live product. ## Core Features & Use Cases - Architecture Guidance: Maps key folders, interfaces (IHarnessDescriptor, ISectionOverride, ICustomizationItemProvider), and the five-layer sync chain for the chatSessionCustomizationProvider extension API. - Component Fixture Testing: Documents fixture IDs for screenshotting every editor tab, mock data setup per customization type, built-in grouping requirements, and CI regression gates via blocksCi labels. - Live Product Debugging: Provides Playwright CLI workflows for connecting to a running Code OSS instance, navigating the editor, and diagnosing layout issues like list rendering and overflow clipping. - Use Case: When adding a new field to ICustomizationItem, follow the documented chain to update the .d.ts API, IPC DTO, ExtHost and MainThread mappings, and internal interface so all layers compile. ## Quick Start Ask the assistant to help modify the Chat Customizations editor, such as adding a new tab fixture or syncing a field across the customization provider API layers.

Frequently Asked Questions about chat-customizations-editor

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

FAQPage Schema
How do I add a new field to the VS Code chat session customization API?▼

Update all five layers in the sync chain: the proposed chatSessionCustomizationProvider d.ts, the IChatSessionCustomizationItemDto in extHost.protocol.ts, the ExtHost and MainThread mapping functions, and the internal ICustomizationItem interface. New optional fields in the d.ts are backward-compatible and need no version bump.

How do I screenshot a specific tab of the customizations management editor?▼

Use the component fixture IDs with the screenshot tool, following the pattern chat/aiCustomizations/aiCustomizationManagementEditor/{TabName}/{Dark,Light}. Each tab variant is defined via defineThemedFixtureGroup with a selectedSection option that calls selectSectionById after setInput.

Why does the list widget show zero rows in the real product but work in fixtures?▼

The list layout call bails out when offsetHeight returns zero during a display:none to visible transition, which fixtures do not reproduce. Defer layout using requestAnimationFrame from the widget's window so it runs after the reflow completes.

Why is built-in grouping not showing in my customization fixture?▼

Built-in regrouping requires three conditions: BUILTIN_STORAGE in the harness descriptor's visible sources, a mocked IProductService defaultChatAgent chatExtensionId, and mock items carrying matching extensionId provenance. Missing any one silently disables the grouping.

When should I add blocksCi to a component fixture?▼

Add blocksCi only to fixtures covering critical layout paths such as the default view, a section with list plus footer, or narrow viewports. Gating too many fixtures creates noisy CI since any screenshot change fails the status check.