generate-chat-background

$npx mdskill add microsoft/vscode/generate-chat-background

<!-- Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT License. --> <!-- Customize this skill and select save to override its behavior. Delete that copy to restore the built-in behavior. -->

SKILL.md

.github/skills/generate-chat-backgroundView on GitHub ↗
---
name: generate-chat-background
description: Generate or design an image for the chat background in the Agents window. Use when the user asks for a generated chat background, wallpaper, pattern, or illustration to decorate their chat.
---
<!-- Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT License. -->
<!-- Customize this skill and select save to override its behavior. Delete that copy to restore the built-in behavior. -->

# Generate Chat Background

Generate an image and apply it as the chat background with `setChatBackground`. The user's requested subject, style, and colors take priority over the guidance below.

If the user only wants to apply an existing image, change the layout, use Codicons, or remove the background, call `setChatBackground` directly. Do not generate an image unless asked.

## Generate and apply

1. If `setChatBackground` or an image-generation tool is unavailable, explain that rather than generating an image you cannot apply.
2. Call `getThemeColors` and use the palette as context for the image, not as a limit on the user's colors.
3. Design for the chat: messages and the input cover the center, so keep interesting detail toward the edges and keep contrast low enough for text to stay readable. For a pattern, generate a seamless tile with small, spaced motifs.
4. Save the image to a file in your working or scratch directory and pass its path to `setChatBackground`. If it fails, report the error and fix the input.

Choose the layout:
- `repeat` tiles the image at its original size. Resize the tile first if its motifs are too large or too small.
- `stretch` fills the chat but can distort the image.
- `center` and the edge or corner layouts show the image once at its original size. An opaque image can show its own ground as a visible rectangle.

## Check the result

After `setChatBackground` succeeds, call `screenshotWindow` and check that the subject is visible around the chat, the image blends in without seams or patches, motifs have a good size, and the conversation stays readable. Fix specific problems by adjusting the layout or tile size or by regenerating, for at most a couple of rounds.

The screenshot shows only the current view. Do not navigate the interface to capture other states, and do not comment on unrelated content in the screenshot.

If you could not check a screenshot, say that the result was not visually verified. High contrast themes hide chat backgrounds; mention this when it applies.

Tell the user what you applied and with which layout.

More from microsoft/vscode

SkillDescription
accessibilityPrimary accessibility skill for VS Code. REQUIRED for new feature and contribution work, and also applies to updates of existing UI. Covers accessibility help dialogs, accessible views, verbosity settings, signals, ARIA announcements, keyboard navigation, and ARIA labels/roles.
act-on-feedbackAct on user feedback attached to the current session. Use when the user submits feedback on the session's changes via the Submit Feedback button.
agent-customization**WORKFLOW SKILL** — Create, update, review, fix, or debug VS Code agent customization files (.instructions.md, .prompt.md, .agent.md, SKILL.md, copilot-instructions.md, AGENTS.md). USE FOR: saving coding preferences; troubleshooting why instructions/skills/agents are ignored or not invoked; configuring applyTo patterns; defining tool restrictions; creating custom agent modes or specialized workflows; packaging domain knowledge; fixing YAML frontmatter syntax. DO NOT USE FOR: general coding questions (use default agent); runtime debugging or error diagnosis; MCP server configuration (use MCP docs directly); VS Code extension development. INVOKES: file system tools (read/write customization files), ask-questions tool (interview user for requirements), subagents for codebase exploration. FOR SINGLE OPERATIONS: For quick YAML frontmatter fixes or creating a single file from a known pattern, edit the file directly — no skill needed.
agent-host-chat-contributionsBuild and review cross-cutting agent-host chat behavior through lifecycle contributions. Use when adding turn lifecycle side effects, prompt or context injection, restored-history transformation, protocol-action observation, or when reviewing changes that add code to AgentSideEffects or AgentService.
agent-host-e2e-testsUse when writing, recording, updating, validating, or troubleshooting Agent Host end-to-end and real-provider integration tests under src/vs/platform/agentHost/test/node/e2e and providerIntegration. Covers adding a cross-provider test, re-recording fixtures after an SDK bump, required cross-platform Azure validation, gating non-deterministic or platform-specific tests, and diagnosing replay cache misses.
agent-host-logsAnalyze Agent Host debug log exports. Use when given an ah-logs or ahp-logs zip/folder, an Export Agent Host Debug Logs bundle, events.jsonl, AHP JSONL transport logs, Agent Host.log, remote-agenthost.log, or copilot-logs.
author-contributionsIdentify all files a specific author contributed to on a branch vs its upstream, tracing code through renames. Use when asked who edited what, what code an author contributed, or to audit authorship before a merge. This skill should be run as a subagent — it performs many git operations and returns a concise table.
auto-perf-optimizeRun agent-driven VS Code performance or memory investigations. Use when asked to launch Code OSS, automate a VS Code scenario, run the Chat memory smoke runner, capture renderer heap snapshots, take workflow screenshots, compare run summaries, or drive a repeatable scenario before heap-snapshot analysis.
azure-pipelinesUse when validating Azure DevOps pipeline changes for the VS Code build. Covers queueing builds, checking build status, viewing logs, and iterating on pipeline YAML changes without waiting for full CI runs.
build-champ-triageFind out why a build has failed