Skip to content
full-migration-pipeline logo

Full Migration Pipeline

full-migration-pipeline

Complete Angular migration pipeline that orchestrates all migration skills in sequence. Use when performing end-to-end page migration with analysis, implementation, quality checks, and QA verification.

SKILL.md

Full skill instructions

Full Migration Pipeline

Automated execution of the complete Angular migration workflow, orchestrating all related skills in sequence.

Arguments

  • $ARGUMENTS - Format: --from <source_path> --to <target_path> or --page <page_name>
    • --from: Legacy project path (e.g., /​Users/​jayden/​f2e-networking-jayden/​apps/​mxsecurity-web/​src/​app/​pages/​account)
    • --to: New project path (e.g., libs/​mxsecurity/​account-page)
    • --page: GitLab page name (e.g., time, account) - When using this parameter, source code is automatically fetched from GitLab

Pipeline Workflow

┌─────────────────────────────────────────────────────────────────┐
│                    FULL MIGRATION PIPELINE                       │
├─────────────────────────────────────────────────────────────────┤
│                                                                  │
│  Phase 1: Analysis                                               │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │ 1.1 Execute migrate-page (analysis + document generation)│    │
│  │ 1.2 Execute form-extraction (extract form structure)     │    │
│  │     Output: MIGRATION-ANALYSIS.md                         │    │
│  └─────────────────────────────────────────────────────────┘    │
│                           ↓                                      │
│  Phase 2: Implementation (Manual)                                │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │ 2.1 Create Domain Layer (model, api, store, helper)      │    │
│  │ 2.2 Create UI Layer (tables, forms)                       │    │
│  │ 2.3 Create Features Layer (page, dialogs)                 │    │
│  │ 2.4 Create Shell Layer (routes)                           │    │
│  │     [Await user confirmation]                             │    │
│  └─────────────────────────────────────────────────────────┘    │
│                           ↓                                      │
│  Phase 3: Quality Assurance                                      │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │ 3.1 Execute migration-lint (compliance check + auto-fix) │    │
│  │ 3.2 Execute migration-review (migration completeness)    │    │
│  │ 3.3 Execute compare-i18n-keys (translation key compare)  │    │
│  │ 3.4 Execute check-barrel-files (check redundant barrels) │    │
│  └─────────────────────────────────────────────────────────┘    │
│                           ↓                                      │
│  Phase 4: QA Verification                                        │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │ 4.1 Execute generate-qa-test-cases (generate test cases) │    │
│  │ 4.2 Execute verify-legacy-with-qa-testcases (verify old) │    │
│  │     Output: QA-TEST-CASES.md, LEGACY-VERIFICATION-REPORT.md│   │
│  └─────────────────────────────────────────────────────────┘    │
│                           ↓                                      │
│  Phase 5: Final Report                                           │
│  ┌─────────────────────────────────────────────────────────┐    │
│  │ Output MIGRATION-SUMMARY.md (consolidate all results)    │    │
│  └─────────────────────────────────────────────────────────┘    │
│                                                                  │
└─────────────────────────────────────────────────────────────────┘

Execution Flow

Phase 1: Analysis

Automated Execution:

  1. Determine Source Type

    • If --page is provided: Use GitLab API to fetch source code
    • If --from is provided: Use local files
  2. Execute Migration Analysis

    Execute based on source type:
    - /​migrate-page --from={source} --to={target}
    - /​migrate-page-gitlab --page={page_name}
    
  3. Extract Form Structure (Auxiliary Analysis)

    • Read form definitions from source code
    • List all formControlName and validators

Output:

  • {target}/​domain/​src/​lib/​docs/​MIGRATION-ANALYSIS.md

User Prompt:

Phase 1 analysis complete. Proceed to Phase 2 implementation?


Phase 2: Implementation

Implementation Guidelines:

Display pending implementation checklist (based on MIGRATION-ANALYSIS.md):

## Implementation Checklist

### Domain Layer
- [ ] Create `{feature}.model.ts` - API types, view models
- [ ] Create `{feature}.api.ts` - API service (inline URLs directly, do not use constants)
- [ ] Create `{feature}.store.ts` - SignalStore
- [ ] Create `{feature}.helper.ts` - Pure functions (if needed)

### Features Layer (Implement First)
- [ ] Create Page component
- [ ] Create Dialog components (if applicable)
- [ ] Verify store injection

### UI Layer (Extract from Features)
- [ ] Extract Table components to UI layer
- [ ] Extract Form components to UI layer
- [ ] Verify input()/​output() usage, no store injection

### Shell Layer
- [ ] Create routes
- [ ] Register in app.routes.ts
Important: Form/​Table Extraction to UI Layer

Implementation Order:

  1. First complete page functionality in Features Layer
  2. Then extract Form and Table to UI Layer
  3. Features Layer should only retain orchestration code

Extraction Criteria:

  • <form> containing <mat-form-field> -> Extract to UI
  • Tables -> Prefer common-table pattern (reference libs/​mxsecurity/​shared/​ui/​src/​lib/​common-table)
  • Dialogs remain in Features (but forms inside Dialogs can be extracted to UI)

Table Implementation Approach:

  • Prefer using CommonTableComponent with MxColumnDef[] for column definitions
  • Only create standalone table component in UI layer for complex customization requirements

Exceptions (No Extraction Required):

  • Extremely simple pages (e.g., only radio group without form validation)
  • Components used by a single page without complex form logic
Patterns to Avoid
// DO NOT use TRANSLOCO_SCOPE
providers: [{ provide: TRANSLOCO_SCOPE, useValue: { scope: 'xxx' } }]

// DO NOT use endpoint constants
readonly #ENDPOINTS = { API: '/​api/​xxx' };

// CORRECT: Inline URLs directly
this.#rest.get('/​api/​xxx');
Chunked Migration Strategy (Reducing Omission Risk)

Principle: Process from large sections to small units, completing each before proceeding

Page Structure Analysis:
┌─────────────────────────────────────┐
│ Page                                │
│ ┌─────────────────────────────────┐ │
│ │ mat-tab-group                   │ │
│ │ ┌───────────┬───────────┐       │ │
│ │ │  Tab 1    │  Tab 2    │       │ │
│ │ ├───────────┴───────────┤       │ │
│ │ │ mat-card / section 1  │       │ │
│ │ ├───────────────────────┤       │ │
│ │ │ mat-card / section 2  │       │ │
│ │ └───────────────────────┘       │ │
│ └─────────────────────────────────┘ │
└─────────────────────────────────────┘

Step 1: Segment by mat-tab

  • First identify the number of tabs on the page
  • Process each tab independently, completing one before proceeding to the next
  • Create a checklist corresponding to each tab

Step 2: Segment by mat-card / content-wrapper

  • Within each tab, identify all cards/​sections
  • Treat each card as an independent migration unit
  • Verify immediately after completing each card

Step 3: Migrate and Verify Incrementally

  • Migration order: top to bottom, left to right
  • Execute /​migration-lint after completing each segment
  • Compare with legacy code to confirm no omissions

Example Checklist:

## Chunked Migration Progress

### Tab 1: General Settings
- [x] Card 1.1: Basic Info
- [x] Card 1.2: Network Config
- [ ] Card 1.3: Advanced Options

### Tab 2: Security
- [ ] Card 2.1: Authentication
- [ ] Card 2.2: Certificates

Generate Library Structure:

nx g @one-ui/​one-plugin:library mxsecurity {page-name} all

Await User Confirmation:

After completing the above implementation, enter "done" or "continue" to proceed to Phase 3. For pattern queries, use /​migration-patterns <keyword>


Phase 3: Quality Assurance

Automated Execution:

  1. Compliance Check + Auto-fix

    /​migration-lint {target}
    
    • Auto-fix: mat-raised-button -> mat-flat-button
    • Auto-fix: *ngIf -> @if
    • Auto-fix: Validators -> OneValidators
    • Generate compliance report
  2. Migration Completeness Check

    /​migration-review --from={source} --to={target}
    
    • Compare form controls
    • Compare validators
    • Compare translation keys
    • Compare event bindings
  3. Translation Key Comparison (For primary HTML files)

    /​compare-i18n-keys --from={source}/​*.html --to={target}/​**/​*.html
    
  4. Check Redundant Barrel Files

    /​check-barrel-files {target}
    

Output:

  • Reports for each check (displayed in conversation)
  • List of auto-fixed changes

User Prompt:

Phase 3 quality assurance complete. X issues auto-fixed, Y issues require manual intervention. Proceed to Phase 4 QA verification?


Phase 4: QA Verification

Automated Execution:

  1. Generate QA Test Cases

    /​generate-qa-test-cases {target}
    
    • Extract test cases from new code
    • Generate structured test report
  2. Verify Legacy Code

    /​verify-legacy-with-qa-testcases {source}
    
    • Verify legacy code using test cases
    • Confirm functional consistency

Output:

  • {target}/​domain/​src/​lib/​docs/​QA-TEST-CASES.md
  • {target}/​domain/​src/​lib/​docs/​LEGACY-VERIFICATION-REPORT.md

Phase 5: Final Report

Auto-generate MIGRATION-SUMMARY.md:

# {Feature Name} Migration Summary Report

**Migration Date:** {date}
**Source:** {source_path}
**Target:** {target_path}

## Migration Status

| Phase | Status | Notes |
|-------|--------|-------|
| Phase 1: Analysis | Complete | |
| Phase 2: Implementation | Complete | |
| Phase 3: Quality Assurance | Complete | X items auto-fixed |
| Phase 4: QA Verification | Complete | |

## Generated Documents

- [x] MIGRATION-ANALYSIS.md
- [x] QA-TEST-CASES.md
- [x] LEGACY-VERIFICATION-REPORT.md
- [x] MIGRATION-SUMMARY.md (this document)

## Compliance Report Summary

### Auto-fixed Items
{List of auto-fixed items}

### Items Requiring Manual Intervention
{List of items requiring manual intervention}

## Migration Completeness

| Category | Source | Target | Completeness |
|----------|--------|--------|--------------|
| Form Controls | X | X | 100% |
| Validators | X | X | 100% |
| Translation Keys | X | X | 100% |
| Event Bindings | X | X | 100% |

## Next Steps

1. [ ] Execute comprehensive testing
2. [ ] Code Review
3. [ ] Merge to main branch

Output Location: {target}/​domain/​src/​lib/​docs/​MIGRATION-SUMMARY.md


Usage Examples

Migration from Local Source

/​full-migration-pipeline --from=/​Users/​jayden/​f2e-networking-jayden/​apps/​mxsecurity-web/​src/​app/​pages/​account --to=libs/​mxsecurity/​account-page

Migration from GitLab

/​full-migration-pipeline --page=account

Interruption and Resumption

If the workflow is interrupted, continue from a specific phase:

# Execute Phase 3 quality assurance only
/​migration-lint libs/​mxsecurity/​account-page

# Execute Phase 4 QA verification only
/​generate-qa-test-cases libs/​mxsecurity/​account-page
/​verify-legacy-with-qa-testcases /​path/​to/​legacy

Auxiliary Skills

Available for use at any point during pipeline execution:

SkillPurpose
/​migration-patterns <keyword>Query migration patterns
/​icon-replacement <icon>Find replacement icons
/​ui-layout-guide <query>UI layout guidelines

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View