Guide for preparing a release of the PowerShell VS Code extension.

MITAuto-check passedDevelopment

Install Release

skills CLI
$ npx skills add PowerShell/vscode-powershell --skill release -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install PowerShell/vscode-powershell release --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/PowerShell/vscode-powershell.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/release .claude/skills/release && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
release
GitHub stars
1.9k
Token cost
~1.1k tokens
SKILL.md length
584 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
MIT

At a glance

Guide for preparing a release of the PowerShell VS Code extension.

  • Works in 5 steps: Prep → GitHub release PRs → Mirror to ADO → …
  • Asked to prepare a release
  • SKILL.md covers Phase 1 — Prep, Phase 2 — GitHub release PRs, Phase 3 — Mirror to ADO and Phase 4 — Signed pipelines, plus 1 more section
  • Calls git, gh and az

What it does

Release is an agent skill from PowerShell/vscode-powershell. Guide for preparing a release of the PowerShell VS Code extension. Use when asked to prepare a release, update the version, or create a release PR.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development. It works with PowerShell, Visual Studio Code, GitHub and Git. The repository describes itself as: Provides PowerShell language and debugging support for Visual Studio Code. The licence is MIT.

When your agent uses it

  • Asked to prepare a release
  • Update the version
  • Create a release PR

Example prompts

  • “/release”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Prep
  2. GitHub release PRs
  3. Mirror to ADO
  4. Signed pipelines
  5. Publish GitHub releases (manual)

What it can do on your machine

Read from SKILL.md and the folder at commit 9c59338. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • gh
    • az

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, gh and az, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Release loads about 1.1k tokens when it runs. Until then it costs about 39 tokens; SKILL.md has 584 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~39
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from PowerShell/vscode-powershell at commit 9c59338, republished under its MIT licence (© PowerShell). 584 words, ~1,132 tokens.

Download SKILL.mdSave it as .claude/skills/release/SKILL.md (or your agent's skills folder).
name
release
description
Guide for preparing a release of the PowerShell VS Code extension. Use when asked to prepare a release, update the version, or create a release PR.

Release Process

Read docs/development.md "Creating a Release" and "Versioning" first — this skill only adds the agent-specific deltas.

Memory entries this skill depends on (load before starting):

  • release infrastructure — ADO org, project, and pipeline IDs.
  • release maintainers — the GitHub PR reviewer and the ADO release approver (two different people).

PSES leads the extension at every step: its module is embedded in the signed extension build, so its release must land before the corresponding vscode-powershell action.

Phase 1 — Prep

  1. Sync main in both ../PowerShellEditorServices and vscode-powershell: git checkout main && git pull --ff-only origin main.
  2. Propose version + summary. In each repo run git log --oneline $(git describe --tags --abbrev=0)..HEAD, summarize user-visible changes, apply the rules from docs/development.md "Versioning", and confirm both versions and one-line summaries with the user before continuing.

Phase 2 — GitHub release PRs

  1. Run updateVersion.ps1 in PSES first, then vscode-powershell:

    sh
    git checkout -B release
    pwsh -NoProfile -c '$env:GIT_EDITOR="true"; ./tools/updateVersion.ps1 -Version "<version>" -Changes "<summary>"'
  2. Push and open PRs. git push origin release, then open a PR to main via the GitHub MCP create_pull_request tool. Title is the commit subject (v<version>: <summary>). DM the GitHub PR reviewer on Teams with both PR links.

  3. Enable auto-squash-merge on both PRs: gh pr merge --repo <owner>/<repo> <number> --squash --auto.

  4. Wait for both PRs to merge (gh pr view ... --json state,statusCheckRollup). Don't busy-loop — check, report, pause if it'll be a while.

Phase 3 — Mirror to ADO

  1. Sync main and push to ADO upstream in both repos (PSES first). The verify step must print the release commit subject (v<version>: <summary>); if it doesn't, the PR hasn't merged yet — stop and wait.

    sh
    git checkout main && git pull --ff-only origin main
    git log -1 --format=%s
    git push ado HEAD:upstream
  2. Open upstream → main PRs in ADO with auto-complete enabled. The current ado MCP server doesn't reach our org, so use az (org/project from memory). Title is always Integrate upstream changes. Use merge commit (preserves GitHub history) and keep the upstream branch (re-pushed every release):

    sh
    az repos pr create --org <org> --project <project> --repository <repo> \
      --source-branch upstream --target-branch main \
      --title "Integrate upstream changes" --description "Integrate v<version> from GitHub upstream."
    az repos pr update --org <org> --id <pr-id> \
      --auto-complete true --squash false --delete-source-branch false

    DM the ADO release approver on Teams with both ADO PR links.

  3. Wait for both ADO PRs to complete (az repos pr show --org <org> --id <pr-id> --query status returns completed). Auto-complete merges them once policy checks pass; phase 4 builds against refs/heads/main and will produce the wrong version if main hasn't been updated yet.

Show full SKILL.md (156 more words)Show less

Phase 4 — Signed pipelines

Each pipeline pauses at a manual approval stage before publishing. Notify the user when each one reaches it. Use a detached watcher (az pipelines runs show --id <run-id>) so polling survives across turns.

  1. Queue the PSES pipeline on refs/heads/main with template parameters Release=True OfficialBuild=True. Notify the user when it reaches the approval stage, then wait for result == succeeded. On success the pipeline creates a draft GitHub Release in PSES.
  2. Queue the vscode-powershell pipeline the same way. Notify the user at its approval stage. On success the pipeline creates a draft GitHub Release in vscode-powershell and publishes the extension to the VS Code marketplace.

Phase 5 — Publish GitHub releases (manual)

  1. For each draft GitHub Release (PSES and vscode-powershell), populate the body via gh release edit v<version> --repo <owner>/<repo> --generate-notes. Send the user links to both drafts for review; they publish them manually. The marketplace push already happened in step 11.

© PowerShell, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .github/skills/release of PowerShell/vscode-powershell.

Open the folder on GitHubat commit 9c59338

Compare with similar skills

Release next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Release compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Release this skillPowerShell/vscode-powershell1.9k—~1.1kAutomated safety check: PassMIT
Git Worktree Managermicrosoft/WindowsAppSDK4.7k—~2kAutomated safety check: PassMIT
Find Regression Riskdotnet/maui23k—~1.1kAutomated safety check: PassMIT
Releasequerylenshq/ef-querylens225—~887Automated safety check: PassMIT
Tendril ReleaseIvy-Interactive/Ivy-Tendril200—~2kAutomated safety check: PassCustom licence
Contributor-First PR MergeHKUDS/OpenHarness16k1 repos~847Automated safety check: PassMIT

Similar skills

  • Git Worktree Manager

    microsoft/WindowsAppSDK

    Official

    Creates and manages Git worktrees with PowerShell scripts so separate issues and Copilot sessions each get an isolated branch, build and test environment.

    4.7k GitHub stars~2k tokensUpdated today
    DevelopmentAuto-check passed
  • Official

    Checks a pull request for lines that undo a recent bug fix by comparing what the PR removes with what labeled bug-fix PRs added to the same files.

    23k GitHub stars~1.1k tokensUpdated today
    DevelopmentAuto-check passed
  • Release

    querylenshq/ef-querylens

    A skill your agent uses when: creating a release, publishing a version, cutting a release, tagging a release, releasing plugin, release workflow, prepare release, create git tag, create GitHub…

    225 GitHub stars~887 tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • Tendril Release

    Ivy-Interactive/Ivy-Tendril

    Updates the used Ivy NuGet packages to the latest stable versions in a branch from development, builds/verifies, merges into development, creates a PR into main, merges it, merges main back to…

    200 GitHub stars~2k tokensUpdated 22 days ago
    DevOps & CloudAuto-check passed
  • Merges external GitHub pull requests while keeping the original author credited, and fixes conflicts after the merge instead of rewriting the contribution.

    16k GitHub starsUsed in 1 repo~847 tokens
    DevelopmentAuto-check passed
  • Opens a GitHub pull request from your current branch with the gh CLI, after reviewing the commits and diff and gathering the details the PR needs.

    70k GitHub starsUsed in 1 repo~1.6k tokens
    DevelopmentAuto-check passed

More from PowerShell/vscode-powershell

  • Interactive Extension Testing

    PowerShell/vscode-powershell

    Guide for setting up the multi-root PowerShell VS Code extension/PSES dev workspace.

    1.9k GitHub stars~824 tokensUpdated 1 mo ago
    Auto-check passed
  • Update npm Packages

    PowerShell/vscode-powershell

    Guide for updating NPM dependencies in vscode-powershell. An agent skill from PowerShell/vscode-powershell.

    1.9k GitHub stars~350 tokensUpdated 1 mo ago
    Auto-check: warnings

Categories

Questions about Release

What does Release do?

Guide for preparing a release of the PowerShell VS Code extension. Release is an agent skill from PowerShell/vscode-powershell. Guide for preparing a release of the PowerShell VS Code extension.

When should I use Release?

Release fits situations like: asked to prepare a release; update the version; create a release PR.

How do I install Release in Claude Code?

Run `npx skills add PowerShell/vscode-powershell --skill release -a claude-code`. Or copy the skill folder (.github/skills/release in PowerShell/vscode-powershell) into .claude/skills/release in your project. Claude Code loads it when a task matches its description.

How do I install Release in Codex?

Run `npx skills add PowerShell/vscode-powershell --skill release -a codex`. Or copy the skill folder (.github/skills/release in PowerShell/vscode-powershell) into .agents/skills/release in your project. Codex loads it when a task matches its description.

Can I use Release in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add PowerShell/vscode-powershell --skill release -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/release, .gemini/skills/release, .github/skills/release and .opencode/skills/release in your project.

What does Release need to run?

Going by SKILL.md and its folder, Release needs the command-line tools its instructions call (git, gh and az).

Does Release access the network?

SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Release safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Release use?

Release is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Release use?

About 1.1k tokens (SKILL.md is roughly 4.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Release?

Skills that share tags, products or a category with Release: Git Worktree Manager (microsoft/WindowsAppSDK, 4.7k stars), Find Regression Risk (dotnet/maui, 23k stars), Release (querylenshq/ef-querylens, 225 stars) and Tendril Release (Ivy-Interactive/Ivy-Tendril, 200 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Release?

PowerShell (a GitHub organization) maintains it in PowerShell/vscode-powershell, which has 1,912 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on August 21, 2026.

Source: PowerShell/vscode-powershell on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.