Skip to main content
command official · Anthropic

modernize-status — Claude Code command: where the migration stands

One screen showing how far a modernization has gone, which artifacts went stale, and the exact command to run next.

Install into Claude Code · Plugin marketplace All methods and platforms ↓
/plugin install code-modernization@claude-plugins-official
Open on GitHub

What modernize-status does

The command walks analysis/$system/ and modernized/$system*/ and lays out a stage-by-stage table: intent, preflight, assess, map, extract-rules, review, brief, harden, uplift, transform, reimagine, equivalence, verify. Each artifact is listed with whether it exists and when it last changed. It also counts rules flagged in RULE_REVIEWS.json that a person has not ruled on yet, and modules whose VERIFICATION.md is missing or older than the code — those count as not proven.

Then it hunts for stale files. A brief older than ASSESSMENT.md, topology.json or BUSINESS_RULES.md. TOPOLOGY.html older than topology.json. TRANSFORMATION_NOTES.md older than BUSINESS_RULES.md. Every hit comes with the step to rerun. Secrets hygiene gets its own pass: does analysis/.gitignore cover SECRETS.local.md and *.local.patch, is SECRETS.local.md untracked, has it ever been committed. Fail either check and the command says so loudly, then recommends rotating the secrets and scrubbing history.

It closes with three lines: where you are, what is stale, and the next command to paste. Reading is all it does, with one exception — it rebuilds analysis/$system/REPORT.html via python3 "${CLAUDE_PLUGIN_ROOT}/scripts/build_report.py" $system. No python3 on the machine, or the script errors out? You get a one-line note and the rest of the report still runs. The system name is required; without it there is nothing to inspect.

What it helps with

  • find out which modernization stage you are stuck on
  • spot artifacts that fell behind their source files
  • see how many flagged rules still await a human decision
  • check whether SECRETS.local.md leaked into git
  • get the exact command for the next step

Example prompts for the agent

  • Show the modernization status for billing
  • Where are we with the legacy-crm system?
  • What is stale, and what should I run next?

How to install modernize-status

1Plugin marketplace

/plugin install code-modernization@claude-plugins-official

2Manually: put the files in place

.claude/commands/modernize-status.md

Call it with /modernize-status. For all projects use ~/.claude/commands/

Questions about modernize-status

How do I install modernize-status in Claude Code?

From the marketplace: run /plugin marketplace add anthropics/claude-plugins-official, then /plugin install code-modernization@claude-plugins-official.

What does modernize-status do?

It reports the state of a system's modernization: which artifacts exist, what went stale, how many rules are still open, and the next command to run.

What does the command need to run?

A system name as its argument. Rebuilding REPORT.html uses python3; without it you still get the rest of the report.

Source text

modernize-status.md · Apache-2.0
---
description: Where am I? Progress, what is stale, and the exact next command to run — start here when unsure
arguments: system
---

Report where the modernization of `$system` stands, in one screen. This command inspects and never modifies,
except that it refreshes `analysis/$system/REPORT.html` (`python3
"${CLAUDE_PLUGIN_ROOT}/scripts/build_report.py" $system`, a convenience: if it fails or `python3` is missing, say so in one line and carry on). If nothing
exists yet, the answer is `/code-modernization:modernize $system --source <path to the code>`, which asks what the person wants and starts preflight.

## 1 — Inventory

Check `analysis/$system/` and `modernized/$system*/` and build a table, one row per stage, with each artifact's
presence and modification time:

| Stage | Artifacts |
|---|---|
| intent | `INTENT.md` (what the person wants; written by `/code-modernization:modernize`) |
| preflight | `PREFLIGHT.md` (are the Check 0 human answers and the Check 6 scope-boundary finding there?), where `legacy/$system` points (does that directory exist?) |
| assess | `ASSESSMENT.md`, `ARCHITECTURE.mmd` |
| map | `topology.json`, `TOPOLOGY.html`, `*.mmd`, `extract_topology.*` |
| extract-rules | `BUSINESS_RULES.md`, `DATA_OBJECTS.md` |
| review | `RULE_REVIEWS.json`: how many flagged rules a person has decided (confirmed, wrong, needs discussion), and how many are still open |
| brief | `MODERNIZATION_BRIEF.md` (is the approval block signed?) |
| harden | `SECURITY_FINDINGS.md`, `security_remediation.patch` |
| uplift | `DELTA_CATALOG.md`, `BASELINE.md`, `PLAYBOOK.md` (no playbook means the pilot has not happened, so the fan-out must not), `modernized/$system-uplifted/UPLIFT_NOTES.md` (per unit: builds on target? baseline reproduced?) |
| transform | each `modernized/$system/<module>/`: tests present? `TRANSFORMATION_NOTES.md` present (its completion marker)? |
| reimagine | `modernized/$system-reimagined/`: per-service acceptance tests, and the `CLAUDE.md` handoff (its completion marker; it does not write `TRANSFORMATION_NOTES.md`) |
| equivalence | `EQUIVALENCE.json`: cases executed, same, differs (any differing or missing case, or zero executed, is a failure) |
| verify | `VERIFICATION.md` (written by `/code-modernization:modernize-verify`): the verdict per built module (PROVEN, PARTLY PROVEN or NOT PROVEN) and whether a person has signed it. A built module with no `VERIFICATION.md`, or one older than the module's code or tests, is **not proven yet** |

## 2 — Stale

Flag any artifact older than one it derives from: the brief older than `ASSESSMENT.md`, `topology.json` or
`BUSINESS_RULES.md` (no longer reflects discovery: rerun `brief`); an uplift's brief older than
`DELTA_CATALOG.md`, or with no catalog (phase order was decided without the version deltas: rerun `brief`);
`TOPOLOGY.html` older than `topology.json` (rerun the render step of `map`); a `TRANSFORMATION_NOTES.md` older
than `BUSINESS_RULES.md` (the module may not implement the latest rules: list which).

## 3 — Secrets hygiene

Does `analysis/.gitignore` exist and cover `SECRETS.local.md` and `*.local.patch` (`git check-ignore` in a git
repo)? If `SECRETS.local.md` exists, confirm it is NOT tracked (`git ls-files --error-unmatch` should fail) and
never committed (`git log --all --oneline -- <path>` should be empty). If either fails, say so prominently and
recommend rotation and history scrubbing.

## 4 — Verdict

End with three lines:

- **Where you are:** the furthest completed stage and how much it covers ("mapped 100%, 2 of 14 modules transformed, 1 proven").
- **What is stale:** or "nothing".
- **Next command:** the single most useful next step as the exact command line to paste, with a one-line reason.
  The order is preflight, assess, map, extract-rules, review (when rules are flagged for a person), brief (needs approval), then the brief's Phase 1 command
  (`transform`, `uplift` or `reimagine`), then `verify` for what was built, then `harden`. Never call a
  built module done until `verify` says PROVEN and a person has signed it: put `verify` ahead of building the next module.

© Anthropic · Apache-2.0 · anthropics/claude-plugins-official

Similar slash commands

All slash commands for Code review and refactoring →

From the same set145

The whole set →
clean_gone Finds local Git branches marked [gone], removes their associated worktrees, then deletes the branches. Use it to clear local branches whose remote copies are gone. ★ 44,770repo stars modernize This command guides a legacy-code modernization: it finds the system, records the goal and constraints, then gives the next command. Use it before the build work starts. ★ 44,770repo stars modernize-verify Re-checks that modernized code behaves like the legacy version and gives each module one verdict: PROVEN, PARTLY PROVEN or NOT PROVEN. ★ 44,770repo stars modernize-uplift Uplifts existing code to a newer runtime version within the same stack while preserving business logic and proving behavioral equivalence through tests. ★ 44,770repo stars modernize-review modernize-review prompts a human to confirm or reject business rules extracted from legacy code and logs the verdicts. It prevents migration plans from codifying unintended defects. ★ 44,770repo stars modernize-reimagine A slash command from the code-modernization plugin that rebuilds a legacy system on a new architecture from extracted intent, with two human checkpoints. ★ 44,770repo stars modernize-preflight Checks whether this environment can analyze and modernize a system, and tells you what to fix before the other commands hit it. ★ 44,770repo stars modernize-map Builds an interactive dependency and topology map of a legacy codebase, showing entry points and data flows. Helps map connections between modules before refactoring. ★ 44,770repo stars

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor