agentleFS
MicrosoftKnown publishermicrosoft/vscode-languageserver-node/.github/skills/prepare-release/SKILL.md

prepare-release

Skill1.8k starsChanged 10 days agoMITView on GitHub

Prepare a release of vscode-languageserver-node: inspect changes since the last release, propose package versions, obtain approval, update package.json dependency pins, run validate:version, and assign merged PRs and fixed issues to the protocol-version milestone. Use when preparing a release, assessing version bumps, or updating release milestones.

We split this skill into the rules it gives an agent

20 rules. 0 are common, 15 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 44 edited versions we read keep these.

  • 15

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read CONTRIBUTING.md and inspect the worktree.

    line 13
  2. Distinctive:

    Use the release commit supplied by the user.

    line 15
  3. Distinctive:

    Ask the user if packages have different release baselines or the target is unclear.

    line 17
  4. Distinctive:

    Do not change proposal status, runtime requirements, or unrelated dependency versions as part of release preparation.

    line 51
  5. Distinctive:

    Use the question tool to ask whether the proposed versions are acceptable and allow corrections.

    line 54
  6. Distinctive:

    If the user revises the proposal, use the approved numbers, not the original ones.

    line 57
  7. Very specific:

    Update approved versions in package package.json files.

    line 61
  8. Distinctive:

    Leave private package versions and unaffected packages unchanged.

    line 68
  9. Distinctive:

    Follow the documented lockfile workflow if lockfile changes are requested.

    line 69
  10. Very specific:

    Do not use npm version, update:lock, all:publish, npm pack, or publishing commands as shortcuts: lifecycle hooks can clean files or run …

    line 71
  11. Distinctive:

    Update the root README.md release history as part of release preparation.

    line 73
  12. Distinctive:

    Run from the repository root:

    line 80
  13. Distinctive:

    If the compiled validator is missing or stale, compile the tools package using its existing compile script, then rerun validation.

    line 86
  14. Distinctive:

    If validation is blocked by permissions, sandbox policy, missing prerequisites, or another environment issue, report the exact failure.

    line 91
  15. Very specific:

    Use the approved protocol version as the milestone title, for example 3.18.5.

    line 97
  16. Distinctive:

    Do not use the JSON-RPC, client, or server version as the milestone.

    line 98
  17. Very specific:

    Prefer gh for GitHub operations.

    line 99
  18. Distinctive:

    Do not treat duplicate, not-planned, or otherwise unfixed closures as fixes.

    line 110
  19. Distinctive:

    If the user explicitly requests all closed issues, include other closure reasons but distinguish them from fixed issues in the report.

    line 111
  20. Distinctive:

    Check every mutation for failure.

    line 117

“Common” is measured: kept by at least 6 in 10 of the 44 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Prepare a release

Prepare release metadata for this repository. Do not publish packages, create release tags, push branches, or commit changes unless separately requested.

1. Establish the release scope

  • Read CONTRIBUTING.md and inspect the worktree. Preserve existing user changes.
  • Identify the repository and current HEAD rather than assuming a branch name.
  • Use the release commit supplied by the user. Otherwise inspect release tags, their target commits, and package manifests to identify the last release. Ask the user if packages have different release baselines or the target is unclear.
  • Record the baseline commit, target HEAD, release tags, and commit timestamps. Git timestamps establish a release boundary, not the exact npm publication time.
  • Inspect commits and source diffs between the baseline and target. Examine public declarations, exports, runtime requirements, proposed-feature gates, dependency changes, and tests. Do not classify changes from commit titles alone.
  • Derive released versions from manifests at the baseline. Compare current manifests too, so rerunning this skill does not bump already-prepared versions a second time.

2. Propose versions and obtain approval

Present a table containing each affected npm package, released version, current version, proposed version, bump category, and evidence-based justification. Include unchanged packages when that helps explain the release.

Apply these repository-specific rules:

  • Version vscode-languageserver-protocol by wire-protocol changes, not changes to JSON-RPC's TypeScript API or its re-exported APIs:
    • Incompatible request, notification, or response changes require a major.
    • New requests or notifications normally require a minor.
    • Otherwise use a patch, including releases updating dependency pins.
  • vscode-jsonrpc's RAL is implemented by the npm module. External implementations are unsupported; changes to that implementation interface do not independently require a major.
  • For other supported public APIs, distinguish compatible additions from incompatible changes, including required interface members, removed members, changed signatures, and narrower runtime support.
  • A dependency major does not automatically require a downstream major. Inspect supported re-exported APIs and actual consumer compatibility.
  • Bug fixes without public compatibility changes normally require patches.
  • Inspect text document and types packages independently. Do not force all packages to share one version or bump category.
  • Do not change proposal status, runtime requirements, or unrelated dependency versions as part of release preparation.

Use the question tool to ask whether the proposed versions are acceptable and allow corrections. Explain any unresolved policy choices before asking. Wait for explicit approval before editing manifests or mutating GitHub. If the user revises the proposal, use the approved numbers, not the original ones.

3. Update manifests and release history

  • Update approved versions in package package.json files.
  • Find every reference to affected local npm packages in all manifests, including dependencies, devDependencies, optionalDependencies, peerDependencies, test packages, and testbeds. Update relevant pins consistently while preserving intentionally supported ranges.
  • Include the client's text document dependency and test packages' server dependency; do not rely solely on the validator's dependency coverage.
  • Leave private package versions and unaffected packages unchanged.
  • Follow the documented lockfile workflow if lockfile changes are requested. Otherwise report that lockfiles were not regenerated.
  • Do not use npm version, update:lock, all:publish, npm pack, or publishing commands as shortcuts: lifecycle hooks can clean files or run release actions.
  • Update the root README.md release history as part of release preparation; do not wait for a separate request. Follow its existing style, use the approved package versions, and include compatibility notes, relevant fixes and improvements, and fixed-issue and merged-PR query links for the protocol milestone.

4. Validate before updating GitHub

Run from the repository root:

npm run validate:version

If the compiled validator is missing or stale, compile the tools package using its existing compile script, then rerun validation. Do not edit compiled output. Fix release metadata inconsistencies and rerun until validation succeeds. Independently check manifest references that the validator does not cover.

If validation is blocked by permissions, sandbox policy, missing prerequisites, or another environment issue, report the exact failure. Do not bypass sandbox restrictions or claim success. Stop before milestone mutations until resolved.

5. Assign release PRs and fixed issues to the protocol milestone

  • Use the approved protocol version as the milestone title, for example 3.18.5. Do not use the JSON-RPC, client, or server version as the milestone.
  • Prefer gh for GitHub operations. Discover the milestone by exact title, including closed milestones. Create it if absent; do not reopen an existing closed milestone without approval.
  • Find merged PRs using a sufficiently broad date range around the baseline. Paginate all results. Establish inclusion using merge-commit ancestry: included in the target release, but not already in the baseline. Do not rely solely on merge timestamps, which can differ from commit timestamps.
  • Exclude unmerged PRs, baseline-release PRs, and work merged only into unrelated branches. Investigate missing local merge commits before excluding a PR.
  • Find fixed issues through included PRs' closing references and completed issues closed since the release boundary. Verify the fix belongs to this release. Do not treat duplicate, not-planned, or otherwise unfixed closures as fixes.
  • If the user explicitly requests all closed issues, include other closure reasons but distinguish them from fixed issues in the report.
  • Show the candidate counts and explain exclusions. Ask before moving items from an existing different milestone unless the user already authorized reassignment.
  • Assign both the included PRs and their fixed issues to the milestone. Skip items already assigned correctly, making reruns idempotent.
  • Check every mutation for failure. Report partial updates explicitly.
  • Retrieve the resulting assignments again to verify they persisted.

Completion report

Report the approved versions, manifest and README release-history changes, actual validation result, and milestone link with counts of assigned PRs and fixed issues. Mention exclusions, preserved milestones, lockfile status, and any blockers. Do not describe packages as published or tests as passed when those actions were not performed.

Download now (ZIP)

Trending

Quiet this year.about the whole repository

Dec 2025: 0 mentionsJan 2026: 0 mentionsFeb 2026: 0 mentionsMar 2026: 0 mentionsApr 2026: 0 mentionsMay 2026: 0 mentionsJun 2026: 0 mentionsJul 2026: 0 mentionsAug 2026: 0 mentionsSep 2026: 0 mentionsOct 2026: 0 mentionsNov 2026: 0 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the microsoft/vscode-languageserver-node repository that our weekly crawl found. There is no adoption data for this file yet.

Who's talking about microsoft/vscode-languageserver-node

The biggest 5 of 30 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 30

Talked about on GitHub and Stack Overflow (30 times).

On GitHub · 23

18 more on GitHub
  • Other versions45 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 45

    1. CherryHQ/cherry-studio★ 53ksame name
    2. redis/go-redis★ 22ksame name
    3. joke2k/faker★ 19ksame name
    4. pybind/pybind11★ 18ksame name
    5. telepresenceio/telepresence★ 7.3ksame name
    6. modelcontextprotocol/csharp-sdk★ 4.6ksame name
    7. CLIUtils/CLI11★ 4.5ksame name
    8. tmoroney/auto-subs★ 4.3ksame name
    9. ethereum/consensus-specs★ 4ksame name
    10. kube-hetzner/terraform-hcloud-kube-hetzner★ 3.9ksame name

    35 more not listed

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • Used alongsideProjects with it also use sync-docs, review-change and 5 more.

    Other files people use alongside this one.

    Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
    • Eipi-TongSkill

      sync-docs

      Update SPEC.md and docs/DECISIONS.md to reflect recent code changes. Use after completing a feature, or when the user says "sync docs", "update the spec", or "log this decision".

      Also in 4 projects that use this

    • thlaureSkill

      review-change

      Use this skill when the user asks for a code review, a correctness pass, a check before PR, or asks whether a Signalist change follows project conventions.

      Also in 3 projects that use this

    • kiminmonacoSkill

      implement-feature

      Guide for implementing features in ClaudeBar following architecture-first design, TDD, rich domain models, and Swift 6.2 patterns. Use this skill when: (1) Adding new functionality to the app (2) Creating domain models that follow user's mental model (3) Building SwiftUI views that consume domain models directly (4) User asks "how do I implement X" or "add feature Y" (5) Implementing any feature that spans Domain, Infrastructure, and App layers

      Also in 3 projects that use this

    • DockerSkill

      fix-issue

      Fix a single GitHub issue end-to-end: triage, research, write the fix, review, and create a PR. Use when asked to fix an issue: "fix issue 1234", "resolve #500", "create a PR for issue 200".

      Also in 3 projects that use this

    • DockerSkill

      review-pr

      Review one or more incoming Docker documentation pull requests as a maintainer. Independently validate technical claims, assess editorial fit and information architecture, choose a verdict, and draft exact inline or PR-wide feedback behind a confirmation gate. Use for requests such as "review PR 123", "is this PR correct?", "does this information belong here?", "validate this PR", or "help review backlog PRs". Do not use to maintain or fix a PR you own; use maintain-pr for that.

      Also in 3 projects that use this

    • SentrySkill

      commit

      Create commit messages following Sentry conventions. Use when committing code changes, writing commit messages, or formatting git history. Follows conventional commits with Sentry-specific issue references.

      Also in 4 projects that use this

  • In this repositoryOne other file it gives its agents.

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.