Skip to content
Back to skills

Full Migration Pipeline

ASecurity

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.

  • 666 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added February 8, 2026
devopstypescriptgoshellbashangulartestinggitapisecurity

Works with

  • api

Security analysis

A100/100

Scanned February 12, 2026

npx -y skills add majiayu000/claude-skill-registry --skill full-migration-pipeline --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Full Migration Pipeline?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Full Migration Pipeline
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-full-migration-pipeline/badge)](https://www.skillsdirectory.com/skills/majiayu000-full-migration-pipeline)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: full-migration-pipeline
description: 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.
---

# 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):

```markdown
## 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

```typescript
// 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:**
```markdown
## 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:**
```bash
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:**

```markdown
# {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

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

### Migration from GitLab

```bash
/full-migration-pipeline --page=account
```

## Interruption and Resumption

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

```bash
# 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:

| Skill | Purpose |
|-------|---------|
| `/migration-patterns <keyword>` | Query migration patterns |
| `/icon-replacement <icon>` | Find replacement icons |
| `/ui-layout-guide <query>` | UI layout guidelines |

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.