policy-and-managed-settings

Route enterprise Copilot controls to runtime managed settings, VS Code policies, or extension policies.

1|Updated Aug 27, 2026
One-click install
npx skills add https://github.com/Niiihuel/openide --skill policy-and-managed-settings-niiihuel
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: policy-and-managed-settings
Source: https://github.com/Niiihuel/openide/tree/main/vscode/.github/skills/policy-and-managed-settings
Command: npx skills add https://github.com/Niiihuel/openide --skill policy-and-managed-settings-niiihuel

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? When adding or reviewing any Copilot, agent, LLM, tool, permission, sandbox, MCP, model, telemetry, or configuration control in VS Code, contributors must decide where the enterprise policy belongs—runtime managed settings, VS Code configuration policy, extension policy, or a split implementation—and follow the correct declaration, export, and testing procedure. ## Core Features & Use Cases - Decision routing: A flowchart routes each enterprise control to the correct policy destination based on where the governed behavior is implemented, with dedicated guides for SDK/runtime, VS Code, extension, split, and legacy migration paths. - Managed settings reference: Documents the canonical dot-path bag, three delivery channels (native MDM, server, file-based) with per-key precedence, structured JSON-string encoding, and the projection checklist for new keys. - Policy export workflow: Enforces the canonical npm run export-policy-data procedure so policyData.jsonc is never hand-edited and the policy-export integration test passes. - Use Case: When adding a new Copilot agent permission control, use this Skill to determine it belongs in the runtime managed-settings schema, declare the key constant, attach it to a policy with managedSettingValue, and export the policy catalog correctly. ## Quick Start Ask the assistant to use the policy-and-managed-settings skill to decide where a new Copilot enterprise control should be implemented and walk through the required declaration and export steps.

Frequently Asked Questions about policy-and-managed-settings

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

FAQPage Schema
How do I add a new enterprise policy for a Copilot feature in VS Code?▼

First decide where the governed behavior is implemented: runtime-owned behavior goes into the managed-settings/SDK contract, editor behavior gets a VS Code configuration policy with a policy block, and extension settings use extensionConfigurationPolicy in vscode-distro. Then run npm run export-policy-data and verify policyData.jsonc.

Where should a new Copilot agent permission control be implemented?▼

New Copilot enterprise controls belong in the shared managed-settings schema and runtime/SDK enforcement, not in VS Code policy metadata or GitHub token account-policy fields. VS Code should transport managed rules opaquely without duplicating runtime parsing or matching.

What is the precedence order for Copilot managed settings delivery channels?▼

Native MDM managed settings win over the server-delivered channel, which wins over the file-based channel, resolved per key. A key unset in higher-precedence channels is still filled by lower ones, and the merged bag is projected onto declared policy keys.

Why is my managed setting silently ignored after declaring it?▼

Projection drops values whose runtime type does not match the declared type. Structured object or array settings must be declared as type string because they travel as JSON strings; declaring number or boolean compiles but fails the typeof check at runtime.

Can I edit policyData.jsonc directly when adding a VS Code policy?▼

No. Never edit or synthesize policyData.jsonc manually. Run npm run export-policy-data from the worktree containing the change, which exports both Workbench and the Agents window and detects conflicting policy metadata.

How do I test Copilot managed settings locally without a real enterprise server?▼

Use the mock policy server started with npm run mock-policy-server, which mocks the defaultChatAgent endpoints and proxies unmocked requests. Apply responses via Developer: Sync Account Policy, or deploy file-based settings to managed-settings.json to test channel precedence.