description: Multi-agent greenfield rebuild — extract specs from legacy, design AI-native, scaffold & validate with HITL
The first token of $ARGUMENTS is the system dir ($1); everything
after it is the target vision — it is usually multiple words, so do not
truncate it to one token. Below, <vision> means that full remainder.
Reimagine legacy/$1 as:
This is not a port — it's a rebuild from extracted intent. The legacy system becomes the specification source, not the structural template. This command orchestrates a multi-agent team with explicit human checkpoints.
Spawn concurrently and show the user that all three are running:
business-rules-extractor — "Extract every business rule from legacy/$1 into Given/When/Then form. Output to a structured list I can parse."
legacy-analyst — "Catalog every external interface of legacy/$1: inbound (screens, APIs, batch triggers, queues) and outbound (reports, files, downstream calls, DB writes). For each: name, direction, payload shape, frequency/SLA if discernible. Mask any credential embedded in endpoints or payload examples per your secret-handling rules."
legacy-analyst — "Identify the core domain entities in legacy/$1 and their relationships. Return as an entity list + Mermaid erDiagram."
Collect results. Write analysis/$1/AI_NATIVE_SPEC.md containing:
Credential values are masked everywhere in the spec; connection details
appear as env-var placeholders (${DATABASE_URL}), never literals.
Present the spec summary. Ask the user one focused question: "Which of these capabilities are P0 for the reimagined system, and are there any we should deliberately drop?" Wait for the answer. Record it in the spec.
Design the target architecture for "":
Then spawn architecture-critic: "Review this proposed architecture for
against the spec in analysis/$1/AI_NATIVE_SPEC.md. Identify over-engineering,
missed requirements, scaling risks, and simpler alternatives." Incorporate
the critique. Write the result to analysis/$1/REIMAGINED_ARCHITECTURE.md.
Present the architecture and stop — scaffold nothing until the user explicitly approves (use plan mode if the session supports it).
For each service in the approved architecture (cap at 3 to keep the run tractable; tell the user which you deferred), spawn a general-purpose agent in parallel:
"Scaffold the service per analysis/$1/REIMAGINED_ARCHITECTURE.md and AI_NATIVE_SPEC.md. Create: project skeleton, domain model, API stubs matching the interface contracts, and executable acceptance tests for every behavior-contract rule assigned to this service (mark unimplemented ones as expected-failure/skip with the rule ID). No credential literal from legacy code becomes a test fixture or config default — use fake same-shape values and env-var placeholders. Write to modernized/$1-reimagined//."
Show the agents' progress. When all complete, run the acceptance test suites and report: total tests, passing (scaffolded behavior), pending (rule IDs awaiting implementation).
Write modernized/$1-reimagined/CLAUDE.md — the persistent context file for
the new system, containing: architecture summary, service responsibilities,
where the spec lives, how to run tests, and the legacy→modern traceability
map. This file IS the knowledge graph that future agents and engineers will
load — and it gets committed: connection details and credentials appear
only as env-var names with a pointer to where they're provisioned, never
as values.
Report: services scaffolded, acceptance tests defined, % behaviors with a home, location of all artifacts.