sessions

Guides implementation of the Agents window architecture in the VS Code sessions layer.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Developers working on the Agents window (src/vs/sessions/) need to respect strict layering rules, fixed layout constraints, custom menu IDs, and spec documents that must stay in sync with code. This Skill provides the architectural map and development guidelines so changes land in the right place without violating dependency rules. ## Core Features & Use Cases - Layering and dependency rules: Enforces that vs/sessions may import from vs/workbench and below, but never the reverse, validated with npm run valid-layers-check. - Architecture reference: Documents the folder structure, fixed layout parts (Titlebar, Sidebar, Chat Bar, Auxiliary Bar, Panel, modal editors), the AgentSessionsChatWidget wrapper with deferred session creation, custom Menus.* IDs, and context keys. - Development workflows: Covers how to add contributions under contrib/<feature>/browser/, register entry points, override services, and validate changes with npm run compile-check-ts-native and unit tests. - Use Case: When adding a new sidebar view to the Agents window, follow the guidelines to place it in contrib/, register it with WindowVisibility.Sessions, use Menus.SidebarTitle instead of shared MenuId.*, and update LAYOUT.md with a Revision History entry. ## Quick Start Ask the agent to implement a new feature or fix a bug in the Agents window under src/vs/sessions while following the sessions architecture guidelines.

Frequently Asked Questions about sessions

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

FAQPage Schema
How do I add a new feature to the Agents window in src/vs/sessions?

Place feature contributions under contrib/<featureName>/browser/ and register them by importing in sessions.desktop.main.ts or sessions.common.main.ts. Core workbench code like layout and parts goes in browser/, and views should use WindowVisibility.Sessions.

What layering rules apply between vs/sessions and vs/workbench?

vs/sessions may import from vs/workbench, vs/editor, vs/platform, and vs/base, but vs/workbench must never import from vs/sessions. Run npm run valid-layers-check to verify the dependency rules are not violated.

Can I use standard MenuId constants for Agents window UI?

No, the Agents window defines its own menu IDs in browser/menus.ts via the Menus export. Always use Menus.* equivalents such as Menus.ChatBarTitle or Menus.SidebarFooter instead of shared MenuId.* constants.

How do I validate TypeScript changes in src/vs/sessions?

Run npm run compile-check-ts-native for a repo-wide TypeScript compilation check and npm run valid-layers-check for layering. Do not run tsc directly; use scripts/test.sh for unit tests with an optional --grep filter.

How does the Agents chat widget create sessions?

AgentSessionsChatWidget wraps the core ChatWidget with deferred session creation, so the UI is interactive before any session exists and the session is created on first message send. Initial session options travel atomically with the first request.

Why must LAYOUT.md be updated after layout changes?

LAYOUT.md is the authoritative layout specification for the Agents window, and the guidelines require keeping specs in sync with implementation. Any layout change must add a dated entry to the Revision History table at the bottom of LAYOUT.md.