Document Iteration Skill

A structured markdown syntax for iterating on documents with Claude AI

View the Project on GitHub foksa/document-iteration-skill

Migration Planning Session

A complete iteration session planning a Vue 2 to Vue 3 migration.

Round 1: Initial Draft

User creates migration plan:

# Vue 3 Migration Plan

## Current Stack

- Vue 2.7
- Vuex 3
- Vue Router 3
- Element UI

## Migration Approach

Use ==@vue/compat(COMPAT)== for gradual migration over ==4 weeks(TIME)==.

## Steps

1. Update build tools
2. Install Vue 3 + compat
3. Fix deprecation warnings
4. Remove compat layer

User adds feedback:

# Vue 3 Migration Plan

## Current Stack

- Vue 2.7
- ==Vuex 3(STATE)==
- Vue Router 3
- ==Element UI(UI)==

%%(STATE) ?: Switch to Pinia instead? %%
%%(UI) INFO: Element UI doesn't support Vue 3 %%

## Migration Approach

Use ==@vue/compat(COMPAT)== for gradual migration over ==4 weeks(TIME)==.

%%(COMPAT) ?: Do we need compat layer? We only have 12 components %%
%%(TIME) Add buffer for testing %%

## Steps

1. Update build tools
2. Install Vue 3 + compat
3. Fix deprecation warnings
4. Remove compat layer

%% Missing: rollback plan %%

Round 2: Claude Responds

# Vue 3 Migration Plan

## Current Stack

- Vue 2.7
- ==Vuex 3(STATE)==
- Vue Router 3
- ==Element UI(UI)==

%%(STATE) ?: Switch to Pinia instead? %%

•%%>Strongly recommend Pinia! Benefits:
- Official Vue 3 state management
- Simpler API (no mutations)
- Better TypeScript support
- Smaller bundle size
- Can migrate store-by-store <%%•

%%(UI) INFO: Element UI doesn't support Vue 3 %%

•%%>Correct! Options:
1. **Element Plus** - Official Vue 3 port (recommended)
2. **Naive UI** - Modern alternative
3. **Vuetify 3** - If you want Material Design

Element Plus has 1:1 API compatibility, easiest migration. <%%•

## Migration Approach

Use ==@vue/compat(COMPAT)== for gradual migration over ==4 weeks(TIME)==.

%%(COMPAT) ?: Do we need compat layer? We only have 12 components %%

•%%>With only 12 components, direct migration is better!
- No compat overhead
- Cleaner codebase
- Same effort, better result
- Can do it in one sprint <%%•

%%(TIME) Add buffer for testing %%

•%%>Updated to 6 weeks:
- Weeks 1-2: Core migration
- Weeks 3-4: Component updates + Element Plus
- Weeks 5-6: Testing + buffer <%%•

## Steps

1. Update build tools
2. Install Vue 3 + compat
3. Fix deprecation warnings
4. Remove compat layer

%% Missing: rollback plan %%

•%%>Added rollback plan:
1. Keep Vue 2 branch as fallback
2. Feature flag for gradual rollout
3. Parallel deployment first week
4. One-click revert in CI/CD <%%•

## Updated Plan

### Timeline: 6 Weeks

**Week 1-2: Foundation**
- Upgrade Vite/build tools
- Install Vue 3 (direct, no compat)
- Update Vue Router 4
- Migrate Vuex → Pinia (store by store)

**Week 3-4: Components**
- Update all 12 components to Composition API
- Replace Element UI → Element Plus
- Fix any breaking changes

**Week 5-6: Testing & Rollout**
- Full regression testing
- Staging deployment
- Gradual production rollout
- Monitor for issues

### Rollback Plan
- Vue 2 branch maintained for 30 days
- Feature flag controls new/old version
- CI/CD one-click revert ready

Round 3: User Reviews

%%(STATE) ?: Switch to Pinia instead? %%

•%%>Strongly recommend Pinia! Benefits... <%%•

%% APPROVED - switch to Pinia %%

%%(UI) INFO: Element UI doesn't support Vue 3 %%

•%%>Correct! Options: Element Plus, Naive UI, Vuetify 3... <%%•

%% Go with Element Plus for easy migration %%

%%(COMPAT) ?: Do we need compat layer? We only have 12 components %%

•%%>With only 12 components, direct migration is better! <%%•

%% Agreed, skip compat layer %%

%%(TIME) Add buffer for testing %%

•%%>Updated to 6 weeks... <%%•

%% 6 weeks APPROVED %%

Round 4: Final Confirmations

%%(STATE) ?: Switch to Pinia instead? %%

•%%>Strongly recommend Pinia! <%%•

%% APPROVED - switch to Pinia %%

•%%>Pinia confirmed! Will migrate store-by-store in weeks 1-2. <%%•

%%(COMPAT) ?: Do we need compat layer? We only have 12 components %%

•%%>Direct migration is better! <%%•

%% Agreed, skip compat layer %%

•%%>Direct migration confirmed. Cleaner result, same timeline. <%%•

Final: After Cleanup

# Vue 3 Migration Plan

## Current Stack

- Vue 2.7 → Vue 3
- Vuex 3 → Pinia
- Vue Router 3 → Vue Router 4
- Element UI → Element Plus

## Approach

Direct migration (no compat layer) - 12 components is small enough.

## Timeline: 6 Weeks

### Week 1-2: Foundation
- Upgrade Vite/build tools
- Install Vue 3 (direct, no compat)
- Update Vue Router 4
- Migrate Vuex → Pinia (store by store)

### Week 3-4: Components
- Update all 12 components to Composition API
- Replace Element UI → Element Plus
- Fix any breaking changes

### Week 5-6: Testing & Rollout
- Full regression testing
- Staging deployment
- Gradual production rollout
- Monitor for issues

## Rollback Plan

- Vue 2 branch maintained for 30 days
- Feature flag controls new/old version
- CI/CD one-click revert ready

Key Takeaways

This session demonstrated:

See Also