VS Code Configuration Policy Maintainer
Standardize VS Code policy registration, export, and validation.
The document clearly describes policy sources, configuration-locking behavior, account/MDM/file data flows, per-key precedence, type validation, and some fallback behavior, with MIT licensing and Microsoft provenance available; it does not fully document sensitive-policy data handling, GitHub authentication/token handling, user confirmation, or revocation/rollback, and the policies can lock enterprise configuration, so points are deducted.
The procedure, key files, commands, type requirements, common failure causes, and test locations are detailed, and type mismatches are dropped with optional warnings; however, this review is static and nothing was executed, the document contains an internal inconsistency about the file channel, and local testing requires extra services, so the static cap and uncertainty apply.
Trigger conditions are explicit and cover adding, modifying, reviewing, account policies, managed settings, and policyReference scenarios, with platform differences described; non-fit boundaries, input/output contracts, and Chinese-language support are limited, while parts of the workflow depend on GitHub, gh CLI, an external distro, or local environment, with mainland-China reachability unaddressed, so points are deducted.
The material is organized into overview, procedures, specialized topics, testing, history, and local testing; naming, version derivation, generated-file rules, test responsibilities, and maintenance warnings are documented. It is nevertheless lengthy and repeats implementation details, the boundary between external schema and repository maintenance is not fully stable, and no clear maintainer or formal changelog process is stated, so it is not full marks.
For contributors familiar with the VS Code source tree, the document largely covers the core task from registration through export, platform artifacts, and testing, with actionable commands and examples; static review cannot verify those commands or outputs, and external dependencies and generation steps may require rework, so the score is limited to the static maximum of 7.
Specific source files, test files, commands, CI/testing references, and PR history provide some auditability; however, no tests were executed, the supplied workflows mainly cover chat-lib/performance rather than this skill's key paths, and independent reproducibility evidence is limited, so the score remains below the static maximum.
- The managed-settings file channel is described inconsistently: an earlier section says VS Code does not read the file, while later sections describe it as wired in; verify against the pinned source and tests before implementation.
- Policies may lock user settings through account, native MDM, or file channels, but administrator revocation, user-visible confirmation, and rollback verification are not fully specified.
- npm run export-policy-data depends on GitHub APIs, gh/OAuth, an external distro, and the local extensions environment; repeatability in the target environment was not verified.
- Type mismatches are described as being dropped, sometimes silently; new keys require explicit validation that the schema, declaration type, and runtime projection agree.
What it does & when to use it
This skill is for developers adding, changing, or reviewing VS Code configuration policies. It covers the lifecycle from configuration registration and account-level callbacks to policy artifacts for Windows, macOS, and Linux. It also explains Copilot managed settings, shared policy references, and extension-provided policy registration. It fits VS Code contributors maintaining enterprise controls, GitHub account policies, or generated policy catalogs, rather than ordinary configuration work.
It guides contributors through adding policy or policyReference to configuration properties, reading the root package.json version for minimumVersion, and defining policy categories, localization, account-level value callbacks, and required enumDescriptions. It instructs contributors to run npm run typecheck-client for TypeScript validation and npm run export-policy-data to regenerate build/lib/policies/policyData.jsonc, while the export process retrieves extension policies from the distro through the GitHub API. It also documents how policy services read Windows registry settings, macOS preferences, /etc/vscode/policy.json on Linux, account policies, and Copilot managed settings, along with generation of Windows ADMX/ADML, macOS plist, and Linux JSON artifacts.
- A VS Code core developer is adding a configuration property that enterprise administrators must be able to lock and needs the registration and export workflow.
- A maintainer is changing an existing policy name, category, or version requirement and needs to validate registration, account callbacks, and generated output.
- A Copilot or chat feature developer needs an organization policy to disable a preview feature through chat_preview_features_enabled.
- An enterprise-controls developer needs one policy to govern multiple settings and must use policyReference with matching setting types.
- An extension ecosystem maintainer needs enterprise policy support for extension settings through extensionConfigurationPolicy in vscode-distro product.json files.
- A reviewer is checking a policy-related pull request for generated catalog changes, test-fixture synchronization, and multi-platform policy artifacts.
Pros & cons
- Covers the full lifecycle of policy registration, account policies, managed settings, policy references, and multi-platform export.
- Calls out easy-to-miss constraints such as minimumVersion, enumDescriptions, and policyReference type matching.
- Documents synchronization requirements among extension policies, the generated catalog, and test fixtures.
- Supports both VS Code core policies and extension policies configured through vscode-distro.
- It is tightly coupled to VS Code internal paths, service names, and build scripts, so it does not transfer directly to other editors.
- Policy export may require network access, GitHub API authentication, and the GitHub CLI; no standalone installation procedure is documented.
- Although it describes Windows, macOS, and Linux policy paths, the skill does not provide complete hands-on validation steps for each platform.
- The skill contains procedural guidance rather than an independently runnable script; validation depends on the VS Code repository and development environment.
How to install
The repository README does not document a standalone installation command for this skill. The skill is located at .github/skills/add-policy/SKILL.md in the microsoft/vscode repository; obtain that repository and make this path available to the Agent Skills client being used. The repository bundles 61 skills, while this profile covers only add-policy.
How to use
With the SKILL.md available to the client, submit a focused policy task such as: “Add a policy field to this configuration property and complete the VS Code type-check and policy-export workflow.” Run npm run typecheck-client and npm run export-policy-data as appropriate, and do not edit build/lib/policies/policyData.jsonc manually. For managed settings, account policies, or local testing, consult the referenced github-managed-settings.md or local-testing.md documents.