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
- Very specific: line 13
Read CONTRIBUTING.md and inspect the worktree.
- Distinctive: line 15
Use the release commit supplied by the user.
- Distinctive: line 17
Ask the user if packages have different release baselines or the target is unclear.
- Distinctive: line 51
Do not change proposal status, runtime requirements, or unrelated dependency versions as part of release preparation.
- Distinctive: line 54
Use the question tool to ask whether the proposed versions are acceptable and allow corrections.
- Distinctive: line 57
If the user revises the proposal, use the approved numbers, not the original ones.
- Very specific: line 61
Update approved versions in package package.json files.
- Distinctive: line 68
Leave private package versions and unaffected packages unchanged.
- Distinctive: line 69
Follow the documented lockfile workflow if lockfile changes are requested.
- Very specific: line 71
Do not use npm version, update:lock, all:publish, npm pack, or publishing commands as shortcuts: lifecycle hooks can clean files or run …
- Distinctive: line 73
Update the root README.md release history as part of release preparation.
- Distinctive: line 80
Run from the repository root:
- Distinctive: line 86
If the compiled validator is missing or stale, compile the tools package using its existing compile script, then rerun validation.
- Distinctive: line 91
If validation is blocked by permissions, sandbox policy, missing prerequisites, or another environment issue, report the exact failure.
- Very specific: line 97
Use the approved protocol version as the milestone title, for example 3.18.5.
- Distinctive: line 98
Do not use the JSON-RPC, client, or server version as the milestone.
- Very specific: line 99
Prefer gh for GitHub operations.
- Distinctive: line 110
Do not treat duplicate, not-planned, or otherwise unfixed closures as fixes.
- Distinctive: line 111
If the user explicitly requests all closed issues, include other closure reasons but distinguish them from fixed issues in the report.
- Distinctive: line 117
Check every mutation for failure.
“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.
Files
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.mdand 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-protocolby 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'sRALis 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.jsonfiles. - 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.mdrelease 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:versionIf 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
ghfor 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.
Trending
Quiet this year.about the whole repository
Who's talking about microsoft/vscode-languageserver-node
- neovim/neovim“Language Server Implementation (LSP)”GitHub · Oct 22, 2016 · 154 reactions
- microsoft/vscode“Tokenization overhaul”GitHub · Jul 10, 2019 · 144 reactions
- microsoft/language-server-protocol“Feature: Inlay Hints”GitHub · Apr 8, 2020 · 105 reactions
- neoclide/coc.nvim“LSP 3.16.0”GitHub · Dec 22, 2020 · 64 reactions
- microsoft/vscode“Allow WorkspaceEditMetadata to control whether changes are grouped by label by default”GitHub · Mar 13, 2024 · 59 reactions
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
- Oct 22, 2016Language Server Implementation (LSP) — neovim/neovim154 reactions · 47 comments
- Jul 10, 2019Tokenization overhaul — microsoft/vscode144 reactions · 21 comments
- Apr 8, 2020Feature: Inlay Hints — microsoft/language-server-protocol105 reactions · 49 comments
- Dec 22, 2020LSP 3.16.0 — neoclide/coc.nvim64 reactions · 52 comments
- Mar 13, 2024Allow WorkspaceEditMetadata to control whether changes are grouped by label by default — microsoft/vscode59 reactions · 2 comments
18 more on GitHub
- Apr 27, 2018Merge results from multiple DocumentHighlightProviders — microsoft/vscode49 reactions · 10 comments
- Jul 4, 2018Semantic highlighting protocol extension — microsoft/language-server-protocol47 reactions · 4 comments
- Aug 4, 2017Iteration Plan for August 2017 — microsoft/vscode34 reactions · 4 comments
- May 28, 2020Implementation of semantic highlighting — swiftlang/sourcekit-lsp32 reactions · 5 comments
- Jun 23, 2020Support file watching outside of the workspace — microsoft/vscode29 reactions · 7 comments
- Sep 16, 2022Define ordering when multiple outlines are present — microsoft/vscode27 reactions · 2 comments
- Mar 8, 2020Iteration Plan for March 2020 — microsoft/vscode25 reactions · 6 comments
- Sep 4, 2023VSCode client libraries have invalid exports — microsoft/vscode23 reactions · 8 comments
- Sep 9, 2019Iteration Plan for September 2019 — microsoft/vscode23 reactions · 10 comments
- Feb 29, 2024Switch from solargraph to ruby-lsp — zed-industries/zed21 reactions · 4 comments
- Nov 8, 2022rust-analyzer wants — microsoft/vscode21 reactions · 1 comment
- Jan 16, 2020Add support for the proposed Semantic Highlighting Protocol — autozimu/LanguageClient-neovim10 reactions · 5 comments
- Mar 8, 2022Migrate to upstream LSP inlay hints request — swiftlang/sourcekit-lsp7 reactions · 9 comments
- Feb 18, 2025feat(lsp): use the meta model to generate server capability map — neovim/neovim6 reactions
- Aug 5, 2025Add capability information to `textDocument/colorPresentation` — microsoft/language-server-protocol5 reactions · 1 comment
- May 28, 2021Add server-side support for inlay hints using CollectExpressionType — swiftlang/sourcekit-lsp4 reactions · 6 comments
- Aug 11, 2019Implement semantic highlighting — prabirshrestha/vim-lsp4 reactions · 24 comments
- Jul 19, 2024Improve syntax highlighting — effekt-lang/effekt-vscode3 reactions · 2 comments
On Stack Overflow · 7
- Aug 16, 2021After updating vscode-languageclient, my Visual Studio Code extension does not compile any more5 votes
- Sep 4, 2019How to create and edit a new file in the workspace via Language Server Extension4 votes · 2 answers
- Feb 19, 2021Wait for callback from a fire and forget event in jest2 votes
- Jan 9, 2025LSP SignatureHelp.activeParameter not dynamically changing1 vote
- Apr 13, 2024What happens / how to handle when client.sendRequest(req, cursor).then((answer) does not receive any answer?1 vote
2 more on Stack Overflow
- Feb 2, 2018How to add Intellisense in my IDE1 vote
- Jul 24, 2023Vscode extension error "Message header must separate key and value using :"0 votes
Other versions45 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 45
- CherryHQ/cherry-studio★ 53ksame name
- redis/go-redis★ 22ksame name
- joke2k/faker★ 19ksame name
- pybind/pybind11★ 18ksame name
- telepresenceio/telepresence★ 7.3ksame name
- modelcontextprotocol/csharp-sdk★ 4.6ksame name
- CLIUtils/CLI11★ 4.5ksame name
- tmoroney/auto-subs★ 4.3ksame name
- ethereum/consensus-specs★ 4ksame name
- 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-TongSkillsync-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
thlaureSkillreview-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
kiminmonacoSkillimplement-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
DockerSkillfix-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
DockerSkillreview-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
SentrySkillcommit
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.
- AGENTS.mdAGENTS.md
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
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.

