insightflo

tasks-migrate

16
2
# Install this skill:
npx skills add insightflo/claude-impl-tools --skill "tasks-migrate"

Install specific skill from multi-skill repository

# Description

Consolidates legacy task files (docs/planning/06-tasks.md, etc.) into the root TASKS.md. Use this whenever task files are scattered across multiple locations. Invoke immediately on "migrate tasks", "move 06-tasks to TASKS", or "consolidate tasks" requests.

# SKILL.md


name: tasks-migrate
description: Consolidates legacy task files (docs/planning/06-tasks.md, etc.) into the root TASKS.md. Use this whenever task files are scattered across multiple locations. Invoke immediately on "migrate tasks", "move 06-tasks to TASKS", or "consolidate tasks" requests.
triggers:
- /tasks-migrate
- νƒœμŠ€ν¬ λ§ˆμ΄κ·Έλ ˆμ΄μ…˜
- 06-tasksλ₯Ό TASKS둜
- νƒœμŠ€ν¬ 톡합
- migrate tasks
version: 1.0.0


Tasks Migrate Skill

Scans legacy task files (docs/planning/06-tasks.md, task.md, etc.) and consolidates them into the root TASKS.md.

Role

  • Detect task files scattered across multiple locations
  • Extract checkbox items and Task IDs
  • Merge into root TASKS.md (with deduplication)
  • Never modifies the original legacy files (safe)

Workflow

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ 1. Detection Phase                                          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  β€’ Check whether TASKS.md exists                            β”‚
β”‚  β€’ Scan for legacy files (in priority order)                β”‚
β”‚  β€’ Count discovered checkbox items                          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ 2. Analysis Phase                                           β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  β€’ Extract Task IDs (P*-T*, T*.*)                           β”‚
β”‚  β€’ Classify by layer (T0–T3, P*)                            β”‚
β”‚  β€’ Detect duplicates                                        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ 3. User Confirmation                                        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  β€’ Output migration summary                                 β”‚
β”‚  β€’ User chooses: create / merge / cancel                    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ 4. Output Phase                                             β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  β€’ Create or merge TASKS.md                                 β”‚
β”‚  β€’ Append Migration Report section                          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Execution Stages

Phase 1: Detection

Check for task files in the following priority order:

# Priority order
ls -la TASKS.md 2>/dev/null
ls -la docs/planning/06-tasks.md 2>/dev/null
ls -la docs/planning/tasks.md 2>/dev/null
ls -la docs/tasks.md 2>/dev/null
ls -la planning/tasks.md 2>/dev/null
ls -la .tasks.md 2>/dev/null
ls -la task.md 2>/dev/null

Fallback: If none of the above are found, search using the *tasks*.md pattern.

Phase 2: Analysis

Extract checkbox items from discovered files:

Extracted targets:

- [ ] Incomplete task
- [x] Completed task
- [/] In progress (optional: normalize to - [ ] (in progress))

Task ID patterns:

P\d+(?:-[A-Z]\d+)?(?:-T\d+)?   # P1-T1, P2-S1-T3
T\d+(?:\.\d+)+                  # T0.1, T1.12, T3.4

Classification criteria:
| ID Pattern | Layer | Section |
|------------|-------|---------|
| T0.* | Skeleton | ## T0 β€” Skeleton |
| T1.* | Muscles | ## T1 β€” Muscles |
| T2.* | Muscles Advanced | ## T2 β€” Muscles (advanced) |
| T3.* | Skin | ## T3 β€” Skin |
| P*-* | Phase-based | ## P* β€” Project/Phase tasks |
| (no ID) | Uncategorized | ## Uncategorized |

Phase 3: User Confirmation

Output the migration summary and ask the user to confirm:

## Migration Summary

### Discovered Files
| File | Tasks | Checked | Unchecked |
|------|-------|---------|-----------|
| docs/planning/06-tasks.md | 25 | 20 | 5 |
| task.md | 3 | 1 | 2 |

### ID Distribution
- T0.* (Skeleton): 5
- T1.* (Muscles): 12
- T2.* (Advanced): 3
- T3.* (Skin): 5
- P*-T* (Phase): 3
- No ID: 0

### Expected Result
- TASKS.md create/merge: 28 items
- Duplicates removed: 2

Confirm via AskUserQuestion:
- Create (generate new TASKS.md)
- Merge (append to existing TASKS.md)
- Cancel (do nothing)

Phase 4: Output

TASKS.md structure:

# TASKS.md

> Canonical task file for this project.
> Migrated: {date}

## T0 β€” Skeleton

- [ ] T0.1: Project structure setup
- [x] T0.2: Routing configuration

## T1 β€” Muscles

- [ ] T1.1: Authentication feature implementation
- [ ] T1.2: API integration

## T2 β€” Muscles (advanced)

- [ ] T2.1: Caching layer
- [ ] T2.2: Error handling

## T3 β€” Skin

- [ ] T3.1: Apply animations
- [ ] T3.2: Responsive design

## P* β€” Project/Phase tasks

- [x] P1-T1: Design document complete
- [ ] P2-T1: Hook implementation

---

## Migration Report

| Source | Imported | Duplicates Skipped |
|--------|----------|-------------------|
| docs/planning/06-tasks.md | 25 | 2 |
| task.md | 3 | 0 |

**Total**: 28 tasks imported
**Date**: 2026-03-03

Safety Guarantees

  1. Legacy files are never modified: Original files are never deleted or edited
  2. Deduplication: If the same ID already exists, the existing item is preserved
  3. User confirmation required: Always confirm via AskUserQuestion before creating or merging
  4. Dry-run support: Use --dry-run to preview without making changes

Usage Examples

/tasks-migrate

# or
"Migrate 06-tasks.md to TASKS.md"
"Consolidate legacy task files"
  • /workflow-guide β€” Diagnose whether migration is needed
  • /agile β€” Run a sprint after migration
  • /recover β€” Reference when recovering task files

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.