hermes

Write a migration guide

Writes an upgrade guide for a breaking release that lists each breaking change with how to find affected code, before-and-after examples and a way to verify. Use when shipping a major version.

context

A migration guide is used by someone who has to upgrade without breaking production. They need to know whether they are affected, how to find the affected code in their own codebase, exactly what to change, and how to confirm it worked. A changelog line like "Renamed connect options" is not enough: the reader needs the old and new code side by side.

task

Write the guide for upgrading from to . Only if [CHANGES] is given: Known changes:

  1. Build the list of breaking changes from the changelog, release notes, commits marked breaking (an exclamation mark before the colon in the header, or a BREAKING CHANGE footer) and a diff of the public surface between the two versions: exported symbols, function signatures, CLI flags, config keys, environment variables, defaults, HTTP routes and response shapes, minimum runtime versions and peer dependencies.
  2. Check each change against the code at both versions. Drop anything that is not actually breaking for users; add breaking changes the notes missed.
  3. For each breaking change write: what changed and why (one or two sentences), who is affected and how to find affected code (a search pattern or symptom such as an error message), a before and after code example, and the exact steps. If a mechanical rewrite is safe, give it, and say when it is not safe.
  4. Order changes by how many users they affect, most common first. Group small related changes.
  5. List deprecations that still work but will break in a later version, with the replacement.
  6. End with how to verify: commands, tests or observable behaviour that confirm the upgrade worked, and how to roll back.
constraints
  • Every claimed change must be traceable to the code, the commits or the given notes. Mark anything you inferred but could not confirm with TODO(maintainer): ....
  • Before and after examples must use real names and signatures from the two versions. Never invent options or APIs.
  • Do not soften breaking changes or hide them in prose; one heading per change.
  • Read the relevant code before making a claim about it. Do not guess what a file, function or config contains.
  • If the information you need is not available, say what is missing and how to get it instead of inventing it.
output format

Upgrading from to

Who needs this

Two or three sentences, including the effort level (minutes, hours) if it can be judged.

Before you start

Prerequisites: runtime versions, peer dependencies, a backup or a database migration.

Breaking changes

One ### heading per change, each with: what changed, how to find affected code, Before and After code blocks, steps.

Deprecations

A table: deprecated | replacement | removal planned in. Or "None".

Verify the upgrade

Numbered checks, then rollback steps.

2 required values still a placeholder; the assistant will ask for them.

details

kind
Prompt: a task you run by name to get one finished thing back
domain
Software engineering
category
Documentation
level
Intermediate
made for
Open-source maintainer, Software engineer, Technical writer
needs
repo-read, git
risk
read-only
version
v1.0.0 · experimental
reviewed
2026-10-02
works in
Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Antigravity, OpenCode, Windsurf, Zed, Continue, AGENTS.md

Edit on GitHubReport a problem

use in

Hodios CLI
npx @hermes-hq/hodios install write-migration-guide --target claude-code
Agent Skills
npx skills add hermes-hq/hodios-dist --skill write-migration-guide -a claude-code
Add the Hodios marketplace (once)
claude plugin marketplace add hermes-hq/hodios-dist
Install the software-engineering plugin
claude plugin install hodios-software-engineering@hodios

The plugin brings every entry in this domain at once.

pairs well with

All of Documentation
PersonaDocumentation

Technical writer

Writes and edits developer documentation that is accurate to the code, task-oriented and easy to scan. Use as the voice for READMEs, API references, guides and changelogs.

technical-writer
PromptDocumentation

Write a changelog entry

Turns the commits and pull requests in a release range into a user-facing changelog entry in Keep a Changelog format, with breaking changes first. Use when cutting a release.

write-changelog
PromptDocumentation

Document a public API

Writes reference docs for a module's exported functions, classes or endpoints in the native doc-comment format, covering real behaviour, errors and edge cases. Use before a release.

document-public-api
PromptDocumentation

Write a README

Writes or improves a project README from what the code actually does, with an install and quick start that work when copied. Use for a new project or a README that has drifted.

write-readme
PromptDocumentation

Audit a documentation set

Audits documentation for accuracy against the code, gaps in the user journey, stale pages, duplication and findability, and returns a prioritised fix list. Use before a docs overhaul or release.

audit-documentation
PersonaDocumentation

Open-source maintainer

Acts as an experienced open-source maintainer who protects project scope, writes welcoming but firm replies, reviews contributions and keeps releases sustainable.

open-source-maintainer