reversa-designer

Designs target architecture, domain model, and data migration plan for legacy system migrations.

Updated Jun 26, 2026
One-click install
npx skills add https://github.com/RLuf/fzagent --skill reversa-designer-rluf
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: reversa-designer
Source: https://github.com/RLuf/fzagent/tree/main/.agents/skills/reversa-designer
Command: npx skills add https://github.com/RLuf/fzagent --skill reversa-designer-rluf

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Migrating a legacy system requires explicit, traceable design decisions about topology, bounded contexts, domain models, and data migration. This Skill structures that work into a two-phase process with mandatory human approval gates, preventing silent 1-to-1 decomposition and undocumented architectural choices. ## Core Features & Use Cases - Topology Decision (Phase 1): Detects the legacy topology, diagnoses structural health, always proposes a modern alternative, and records the user's choice in topology_decision.md with a human approval pause. - Target System Specs (Phase 2): Produces target_architecture.md (with Mermaid diagram), target_domain_model.md, target_data_model.md, and data_migration_plan.md, all honoring the chosen paradigm (event-driven, OO with DI, functional, actor model, or procedural). - Full Traceability: Every new element maps back to the legacy system or to discard_log.md, with explicit justification for every merge, split, or removal. - Use Case: As the fourth agent of a migration team, invoke it after the Strategist confirms a migration strategy to turn business rules and legacy analysis into concrete architecture and data migration specs. ## Quick Start Run /reversa-designer after the migration strategy is approved to detect the legacy topology and design the target architecture, domain model, and data migration plan.

Frequently Asked Questions about reversa-designer

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design a target architecture when migrating a legacy system?▼

Run the Designer after the migration strategy is confirmed. It detects the legacy topology, proposes a modern alternative, records your choice in topology_decision.md, then produces target_architecture.md, target_domain_model.md, target_data_model.md, and data_migration_plan.md with full traceability.

What artifacts does the reversa-designer skill produce?▼

It writes five files into _reversa_sdd/migration/: topology_decision.md, target_architecture.md (with a Mermaid diagram), target_domain_model.md, target_data_model.md, and data_migration_plan.md. Each element maps back to the legacy system or to discard_log.md.

Can the Designer run before the migration strategy is approved?▼

No. It requires migration_brief.md, paradigm_decision.md, target_business_rules.md, and a user-confirmed migration_strategy.md. If the strategy is unconfirmed, it stops and instructs you to approve it first.

How does the skill handle the choice between preserving and modernizing legacy topology?▼

It always presents three options: preserve the legacy topology, adopt the proposed modern topology, or a hybrid. The user must explicitly choose; the decision is recorded in topology_decision.md and Phase 2 only runs after approval is flagged in .state.json.

Which architecture paradigms does the target design support?▼

It supports event-driven, object-oriented with dependency injection, functional, actor model, and procedural/dataflow paradigms. A paradigm checklist in references/ verifies constraints like event schemas, idempotency, immutability, or supervision hierarchies before closing the specs.

What are the limitations of the reversa-designer skill?▼

It only writes inside _reversa_sdd/migration/ and forbids 1-to-1 decomposition of legacy modules. It depends on upstream artifacts from other migration team agents, so missing or unconfirmed inputs block execution rather than being guessed.