pick-copilot-tag

Determine which vscode-copilot-chat release tag is compatible with a Positron build.

4.2k|179|Updated May 24, 2022
One-click install
npx skills add https://github.com/posit-dev/positron --skill pick-copilot-tag
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pick-copilot-tag
Source: https://github.com/posit-dev/positron/tree/main/.claude/skills/pick-copilot-tag
Command: npx skills add https://github.com/posit-dev/positron --skill pick-copilot-tag

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

Release builds of Positron reject the vscode-copilot-chat extension when its versioned API proposals do not exactly match the proposals compiled into the build, producing "API proposals not compatible" errors. Manually comparing proposal versions across dozens of upstream tags is slow and error-prone.

Core Features & Use Cases

  • Automated Compatibility Checking: Runs a shell script that extracts Positron's API proposals from source, a built app bundle, or a published release tag, then compares them against every tag in candidate vscode-copilot-chat series.
  • Tag Series Discovery: Reads the Code OSS version from package.json and automatically discovers which upstream tag series have compatible engine requirements, including pre-release tags.
  • Detailed Mismatch Reporting: Reports each tag as OK or BAD with the exact proposals that differ, and recommends the latest compatible release tag.
  • Use Case: After merging an upstream Code OSS update into Positron, run the script to find the newest copilot-chat tag that will activate cleanly in release builds.

Quick Start

Ask the assistant to run the pick-copilot-tag check from the Positron repo root to find the latest compatible vscode-copilot-chat release tag.

Frequently Asked Questions about pick-copilot-tag

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

FAQPage Schema
How do I find a compatible vscode-copilot-chat tag for Positron?

Run the check-proposals.sh script from the Positron repo root with no arguments. It reads the Code OSS version from package.json, extracts Positron's API proposals, discovers compatible tag series, and reports the latest compatible release tag.

Why does Positron reject copilot-chat with API proposals not compatible?

Release builds enforce strict version matching for extensions listed in extensionsEnabledWithApiProposalVersion. Every versioned proposal in the extension's package.json must exactly match the version compiled into Positron, so new or bumped upstream proposals cause rejection.

Can I check compatibility against a built Positron app?

Yes, pass --app with the path to a Positron app bundle. The script locates sharedProcessMain.js inside the bundle and extracts the compiled proposal versions from it instead of reading the source tree.

Is matching the VS Code engine version enough for compatibility?

No, engine version match is necessary but not sufficient. Tags within one series can add or bump proposals between patches, and different series can share an engine range while using different proposals, so the enabledApiProposals arrays must be compared directly.

What tools are required to run the proposal compatibility check?

The script requires the GitHub CLI (gh) authenticated for API access, plus jq and python3 for parsing JSON and extracting proposal versions. It must be run from the Positron repo root unless --app or --positron-version is used.