Core principles and workflow router for changes to the Agents Window under src/vs/sessions.
61
71%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Fix and improve this skill with Tessl
tessl review fix ./.github/skills/sessions/SKILL.mdUse this skill for implementation, review, or design work under
src/vs/sessions/**.
vs/sessions may import vs/workbench and
lower layers; vs/workbench must never import vs/sessions.browser/menus.ts and consume Menus.*.sessions.*.main.ts entry point.Start with src/vs/sessions/README.md, then read only the specifications relevant
to the change:
| Area | Specification |
|---|---|
| Layering, folder ownership, cross-module imports | src/vs/sessions/LAYERS.md |
| Session/chat model, services, provider contract, core data flow | src/vs/sessions/SESSIONS.md |
| Workbench parts, grid, title bar, editor presentation | src/vs/sessions/LAYOUT.md |
| Session-aware layout state and restoration | src/vs/sessions/LAYOUT_CONTROLLER.md |
| Single-pane behavior and expected compositions | src/vs/sessions/SINGLE_PANE_SCENARIOS.md |
| Sessions sidebar list, grouping, filtering, and persistence | src/vs/sessions/SESSIONS_LIST.md |
| Phone layout and mobile components | src/vs/sessions/MOBILE.md |
| AI customizations | src/vs/sessions/AI_CUSTOMIZATIONS.md |
| Copilot customizations | src/vs/sessions/copilot-customizations-spec.md |
| Copilot Chat provider | src/vs/sessions/contrib/providers/copilotChatSessions/COPILOT_CHAT_SESSIONS_PROVIDER.md |
| Agent Host provider | src/vs/sessions/contrib/providers/agentHost/AGENT_HOST_SESSIONS_PROVIDER.md |
| Remote Agent Host provider | src/vs/sessions/contrib/providers/remoteAgentHost/REMOTE_AGENT_HOST_SESSIONS_PROVIDER.md |
Do not load the learning inbox by default. Search its headings and scopes, then read only matching entries after the authoritative specification.
Apply the core principles and the focused specification. Prefer small changes that preserve these boundaries:
ISessionsManagementService owns model orchestration and provider routing.ISessionsService owns visible and active session behavior.ISession and IChat.sessions.*.main.ts entry point.Menus registry.Update a specification when its architecture or durable behavior changes. Do not add implementation chronology, rejected approaches, or bug narratives to a specification.
Run the smallest existing checks that cover the change:
npm run valid-layers-check when imports or module ownership change;Documentation-only changes require link, path, and consistency checks rather than a full build.
When a user explicitly corrects or rejects an approach, invoke the
feedback-learning skill unless they use the literal learn! trigger. Literal
learn! requests follow .github/instructions/learnings.instructions.md
instead. A durable architecture invariant belongs in the owning specification,
concrete behavior belongs in a regression test, and unproven reusable guidance
belongs temporarily in the scoped learning inbox. Never append every correction
to this skill.
Update this skill only when a principle is stable, cross-cutting, and useful for most Agents Window work, or when the routing/workflow itself changes. Put subsystem contracts in their focused specification and bug behavior in tests.
Keep the core-principles section at no more than ten bullets. Before adding one, merge overlap, remove obsolete guidance, and prefer rewriting an existing principle. Never append incident-specific details or use this skill as a learning log.
10323ef
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.