modernize-brief

modernize-brief is a command for Claude Code from anthropics/claude-plugins-official. It costs 19 tokens per session (2,105 once invoked), scanned A, original, Apache-2.0.

A command that turns findings about an old system into a phased modernization plan for approval and execution.

In plain words
What is it for?
It reads analysis documents, recommends or uses a target technology stack, and produces a Modernization Brief covering the work to be done in stages.
Why use it?
It gathers the required assessment, architecture, and business-rule information into one plan, while exposing missing groundwork before planning begins.

Command for Claude Code ✓ vendor

Written for Claude Code: argument-hint in frontmatter.

Runs only inside its plugin — its command needs a path that Claude Code sets for a plugin’s own hooks and for nothing else. Install the plugin, not this.

Part of the code-modernization plugin — 13 commands, 8 agents shipped together

Good fit It reads analysis documents, recommends or uses a target technology stack, and produces a Modernization Brief covering the work to be done in stages.

Compare 6 commands from other repositories ↓
About the project

Claude Code Plugins Directory is a marketplace containing plugins for Claude Code, including tools, commands, skills, agents, hooks, and model context servers. Claude Code users browse it to install Anthropic-maintained or approved third-party extensions.

anthropics/claude-plugins-official · 39,070 stars · on GitHub · code.claude.com

Install

Getting it into your agent

This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.

Claude Code
/plugin marketplace add anthropics/claude-plugins-official
Claude Code
/plugin install code-modernization

Made for: Claude Code.

Or install code-modernization, the plugin that ships this one along with the rest of its 13 commands, 8 agents.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for modernize-brief

README.md
[![agentmods](https://agentmods.dev/badge/commands/anthropics/claude-plugins-official/modernize-brief/github.svg)](https://agentmods.dev/commands/anthropics/claude-plugins-official/modernize-brief)
Your own site
<a href="https://agentmods.dev/commands/anthropics/claude-plugins-official/modernize-brief"><img src="https://agentmods.dev/badge/commands/anthropics/claude-plugins-official/modernize-brief/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for modernize-brief

Your own site · 80×15
<a href="https://agentmods.dev/commands/anthropics/claude-plugins-official/modernize-brief"><img src="https://agentmods.dev/badge/commands/anthropics/claude-plugins-official/modernize-brief.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 19 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,105 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00019 $0.02105
Opus 5.5 $0.00008 $0.00842
Sonnet 5.5 $0.00004 $0.00421
Haiku 4.5 $0.00002 $0.00211

Measured 20d ago against content hash 78903fbc3269, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

modernize-brief scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 20d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

Copies of this mod

1 near-identical copy found in the catalogue:

plugins/code-modernization/commands/modernize-brief.md · 132 lines

How it starts

The opening of the file, as written. The whole thing — 132 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Synthesize everything in analysis/$system/ into a Modernization Brief: the single document a steering committee approves and engineering executes. Target stack: $target_stack (if blank, the one in analysis/$system/INTENT.md, else recommend one from the assessment).

Read ASSESSMENT.md, topology.json (and the .mmd files beside it; never read TOPOLOGY.html, it is a viewer with the data minified inside) in analysis/$system/ first, and BUSINESS_RULES.md too unless this is a same-technology uplift (the intent or the assessment says so): an uplift keeps the code, so its Behavior Contract is the recorded baseline and extract-rules can wait. If a required file is missing, say so and stop: they come from assess, map and extract-rules, which run first. Four more inputs are conditional:

  • RULE_REVIEWS.json / RULE_REVIEWS.md, if they exist (written by /code-modernization:modernize-review): a person's verdicts on individual rules. Never put a rule marked wrong or discuss in the Behavior Contract as settled behavior: list each in section 7 as an open question with the reviewer's note, and block the phase that covers its module on it. A confirmed rule counts as confirmed by a person.
  • INTENT.md, if it exists (written by /code-modernization:modernize): what the person wants (goal, target, what must stay true). It is the objective of this plan; never override it with a guess. Its goal decides each phase's build command: a newer version of the same technology means uplift, a rewrite in another technology means transform, a rebuild on a new architecture means reimagine. Without it, the assessment's pattern decides.
  • PREFLIGHT.md, if it exists. It holds two things nothing else has: the human's answers to preflight Check 0 (scope, local build and test, bespoke build infrastructure, prior attempts, what is off limits) and the Check 6 scope boundary (whether the source is a slice of a larger codebase, and what outside it depends on code inside it). Both constrain this plan more than anything derivable from the source. Never override a human's answer with a guess.
  • DELTA_CATALOG.md, required when the target is a newer version of the same stack. An uplift's phase order is decided by its version deltas, above all by whether the existing tests can even run on the target runtime; phasing without the catalog is planning blind. If it is missing, produce it first (/code-modernization:modernize-uplift $system <source> $target_stack through its delta-catalog step, or the version-delta-analyst agent) and wait for its result: never end your turn while an agent is still running, and never write the brief before the catalog exists. Do not guess at deltas.

Staleness. If an input is newer than an existing MODERNIZATION_BRIEF.md, regenerating is justified. If the brief is newer than every input and the user re-ran this anyway, ask what changed. Note the input timestamps in the brief's header.

The Brief

Write analysis/$system/MODERNIZATION_BRIEF.md with these sections.

1. Objective. One paragraph: from what, to what, why now.

2. Target Architecture. A Mermaid C4 Container diagram of the end state naming every service, data store and integration, then a table mapping each legacy component to its target component(s).

3. Phased Sequence. 3–6 phases, ordered by strangler fig for a cross-stack rewrite (lowest risk and fewest dependencies first) or build-graph leaf-first for an uplift (libraries before the apps that use them). For an uplift, three overrides decide whether the plan works; the uplift command re-applies them at execution, and the two must never disagree:

  1. The test harness is a prerequisite, not a leaf. If the catalog shows the test framework or runner does not support the target (NUnit 2 or MSTest v1 on modern .NET, JUnit 4 without the vintage engine, nose on Python 3), migrating it is Phase 1 by itself.
  2. A dependency delta every consumer shares forces a coordinated cut (an ORM major version, javax to jakarta): it gets its own cross-cutting phase, not an incremental leaf-first one.
  3. A shared node with consumers outside the scope (from the preflight boundary check) needs an explicit decision in the phase that touches it: keep it buildable for old and new consumers (multi-targeting, publishing both), widen the scope to include the consumers, or schedule the break. Never silently migrate it in place.

Read the full file on GitHub · 132 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 20d ago Changed · -39 lines · +3 tokens per session 78903fbc3269
  2. 1mo ago First seen · 171 lines · 16 tokens per session scan A ec151ac5d0b5

Subscribe to this mod's changes

modernize-brief is a command published in the GitHub repository anthropics/claude-plugins-official (39,070 stars, last pushed today), licensed Apache-2.0. It adds 19 tokens to every session and 2,105 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.