chat-customizations-editor

Guides development of the Chat Customizations management editor for agents, skills, prompts, and MCP servers.

1|Updated Apr 8, 2026
One-click install
npx skills add https://github.com/voidful/Aixlarity --skill chat-customizations-editor-voidful
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: chat-customizations-editor
Source: https://github.com/voidful/Aixlarity/tree/main/aixlarity-ide/.github/skills/chat-customizations-editor
Command: npx skills add https://github.com/voidful/Aixlarity --skill chat-customizations-editor-voidful

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Working on the Chat Customizations editor requires coordinating harness descriptors, storage source filters, extension API layers, and screenshot fixtures across core and sessions windows, and this Skill consolidates that knowledge so changes stay consistent and testable. ## Core Features & Use Cases - Harness-driven UI guidance: Explains how IHarnessDescriptor, ISectionOverride, and IStorageSourceFilter drive the management editor declaratively across Local, Copilot CLI, and Claude harnesses. - Extension API synchronization: Maps the five-layer chain (proposed .d.ts, IPC DTO, ExtHost, MainThread, internal interface) that must be updated together when adding fields to customization items. - Fixture-based testing and debugging: Documents component fixture IDs per tab, CI screenshot gating with blocksCi, scrollbar stability waits, and live-product layout debugging via CDP and agent-browser. - Use Case: When adding a new field to IExternalCustomizationItem, follow the documented five-layer update table and regenerate the affected tab fixtures to keep the extension API and screenshots in sync. ## Quick Start Ask the assistant to add a new tab to the Chat Customizations management editor and update its fixtures and spec accordingly.

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 chat session customization extension API?

Adding a field to IExternalCustomizationItem requires updating five layers: the proposed .d.ts type, the IPC DTO in extHost.protocol.ts, the ExtHost mapping in extHostChatAgents2.ts, the MainThread callback in mainThreadChatAgents2.ts, and the internal interface in customizationHarnessService.ts. New optional fields are backward-compatible and need no version bump.

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

Use the aiCustomizationManagementEditor fixture with the selectedSection option, which calls selectSectionById after setInput. Prebuilt fixture IDs exist for each tab in Dark and Light variants, usable with the mcp_component-exp_screenshot tool.

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 0 during a display:none to visible transition, so the viewport height never reaches layout(). Defer the layout call with requestAnimationFrame from the widget's window to fix it.

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 regrouping.

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 a narrow viewport. Gating too many fixtures creates noisy CI failures on every pull request to main.