agentleFS
zehuichanzehuichan/vibe-harness/skills/upgrade-guide/SKILL.md

upgrade-guide

Skill2 starsChanged 28 days agoMITView on GitHub

Use when a change breaks an externally perceptible surface (CLI commands or flags, configuration or settings keys, persisted user data, SDK, HTTP, or wire APIs, published package names or entry points), or when changing a surface that an unreleased upgrade guide already covers, to write or update docs/upgrade-guide/v<version>/<item>/guide.md.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

5 rules. About 0 are common, 4 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Write a guide only for breaks that someone outside the repository can observe after upgrading:

    line 12
  2. Distinctive:

    Start from the template:

    line 36
  3. Distinctive:

    When a guide needs more than 500 words, the extra text belongs elsewhere: link source files instead of restating code, move rationale into …

    line 44
  4. Distinctive:

    Run every command in the Migration section against a checkout of release vT upgraded to the change, or state which step could not be …

    line 48
  5. Very specific:

    Run the profile's commands.docs-check and confirm relative links resolve.

    line 50

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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

Upgrade guides

An upgrade guide tells a reader who runs release vT what to change to run the next release. Write it in the change that introduces the break, as soon as the break is recognized; do not defer it to release preparation. This applies when the profile enables surfaces.public-api.

Scope

Write a guide only for breaks that someone outside the repository can observe after upgrading:

  • commands, flags, and profile or mode names;
  • configuration, settings, and environment keys or their accepted values;
  • persisted user data: databases, logs, caches, and user data directories;
  • SDK exports, HTTP, RPC, and other wire messages;
  • published package names and entry points.

Internal APIs whose consumers are all updated in the same change need no guide. A persisted-format change still follows the project's data-migration rules; its guide states only the reader's actions and links that record.

Location

docs/upgrade-guide/v<version>/<item>/guide.md

  • <version> is the exact version string in the project's package manifest or version file at the time you write the guide, even if that version was bumped before its release or carries a pre-release suffix. The guide describes the upgrade from that version to the next one.
  • <item> is a kebab-case name for the changed surface, for example config-key-rename.
  • Each item directory holds exactly guide.md, plus its translated counterpart when the profile enables surfaces.bilingual-docs; no index and no attachments.

Maintenance

While the version is unchanged, the current version directory describes the delta from vT to the current default branch. When a later change touches a surface a guide there covers, update that guide in the same change; delete the guide when the break is reverted. After the version bump, guides in older version directories are frozen, and a new break goes into the new version directory. Never write a guide spanning more than one release.

Format

Start from the template:

  • frontmatter with kind: upgrade-guide and a one-sentence description naming what breaks;
  • one # title, then exactly ## Change and ## Migration, in that order;
  • at most 500 words, frontmatter included.

Change states the old and new behavior of the surface and who is affected. Migration lists ordered steps that name exact files, keys, commands, or symbols, and states how to confirm the migration worked.

When a guide needs more than 500 words, the extra text belongs elsewhere: link source files instead of restating code, move rationale into an Agent Note (see agent-notes), and turn repeated mechanical steps into a script or command the guide invokes. Follow prose-standard.

Verify

  • Run every command in the Migration section against a checkout of release vT upgraded to the change, or state which step could not be exercised and why.
  • Count words (wc -w docs/upgrade-guide/v<version>/<item>/guide.md) and confirm the section order.
  • Run the profile's commands.docs-check and confirm relative links resolve.

Download now (ZIP)

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.