update-migration-log
π―Skillfrom dudusoar/vrp-toolkit
update-migration-log skill from dudusoar/vrp-toolkit
Installation
npx skills add https://github.com/dudusoar/vrp-toolkit --skill update-migration-logSkill Details
Log migration details to MIGRATION_LOG.md only. Use after completing a file migration to record details, issues, and solutions. Does NOT modify CLAUDE.md or TASK_BOARD.md - those are managed by other skills. Focused solely on maintaining detailed migration history.
Overview
# Migration Logger
Log detailed migration history to MIGRATION_LOG.md.
Core Responsibility
Log to MIGRATION_LOG.md ONLY - This skill:
- β Updates: MIGRATION_LOG.md
- β Does NOT modify: CLAUDE.md, TASK_BOARD.md, or other files
Clear separation:
update-migration-logβ Logs migration details to MIGRATION_LOG.mdupdate-task-boardβ Updates TASK_BOARD.md based on logs- CLAUDE.md β Entry point, rarely modified
When to Use
Use this skill after:
- Completing a file migration
- Recording migration issues and solutions
- User asks to "log migration" or "update migration log"
Do NOT use for:
- Updating task status (use update-task-board)
- Updating CLAUDE.md (handled separately)
- General task completion (use update-task-board)
Migration Entry Template
Use this template for all migration entries:
```markdown
YYYY-MM-DD - [Original File] β [New Location]
Status: β Completed / π§ In Progress / β οΈ Issues
Time Spent: [e.g., 45 minutes]
Complexity: Low / Medium / High
Source: [path/to/original/file.py]
Destination: [path/to/new/file.py]
#### π Migration Summary
- Original Purpose: [Brief description]
- Target Architecture Layer: [Problem/Algorithm/Data/Visualization]
- Key Changes Made: [2-3 sentence overview]
#### π§ Key Changes
- Extracted hardcoded values: [What was parameterized]
- Decoupled from paper logic: [How generalized]
- Added/improved: [Docstrings, type hints, etc.]
#### β οΈ Issues & Solutions
Issue 1: [Description]
- Solution: [Fix implemented]
- Impact: [Effect on migration]
#### β Verification
- [x] Code compilation
- [x] Import tests
- [ ] Runtime tests (if environment available)
#### π Notes
- [Any important observations]
```
MIGRATION_LOG.md Structure
Required Sections
1. Header
```markdown
# VRP Toolkit - Migration Log
Last Updated: YYYY-MM-DD
Total Files Migrated: X/9
```
2. Migration Progress Summary
```markdown
π Migration Progress Summary
| Category | Completed | Total | Progress |
|----------|-----------|-------|----------|
| Core Files | X | 9 | XX% |
```
3. Migration History (newest first)
```markdown
π Migration History
YYYY-MM-DD - file.py β new/location.py
[Entry details...]
```
Workflow
Step 1: Prepare Entry
Gather information about the migration:
- Original file location
- New file location
- Changes made
- Issues encountered
- Time spent
- Complexity level
Step 2: Write Entry
- Use migration entry template
- Fill in all sections
- Be specific about changes and issues
- Include verification checklist results
Step 3: Update MIGRATION_LOG.md
- Update "Last Updated" date
- Update "Total Files Migrated" count
- Update progress table percentages
- Add entry to top of "Migration History"
- Keep entries in reverse chronological order (newest first)
Step 4: Save
No further action needed - other skills will read this log.
Entry Guidelines
Summary Section
Be concise but informative:
- Original purpose: 1 sentence
- Target layer: One of Problem/Algorithm/Data/Visualization
- Key changes: 2-3 sentences covering main refactoring
Example:
```markdown
#### π Migration Summary
- Original Purpose: Instance class for PDPTW with battery constraints
- Target Architecture Layer: Problem
- Key Changes Made: Extracted hardcoded depot location and vehicle capacity into parameters. Separated solution validation from instance definition. Added type hints and comprehensive docstrings.
```
Key Changes Section
List specific technical changes:
- Parameters extracted from hardcoded values
- Decoupling from paper-specific logic
- Documentation improvements
- API changes
Example:
```markdown
#### π§ Key Changes
- Extracted hardcoded values: Depot location (0,0), vehicle capacity (15), max battery (100)
- Decoupled from paper logic: Removed SISR-specific validation, generalized time window checks
- Added/improved: Full docstrings for all public methods, type hints for function signatures
```
Issues & Solutions Section
Document problems encountered:
- Import errors
- Circular dependencies
- API incompatibilities
- Logic errors
For each issue:
- Clear description
- Solution implemented
- Impact on migration
Example:
```markdown
#### β οΈ Issues & Solutions
Issue 1: Circular import between Instance and Solution classes
- Solution: Moved Solution to separate module, used TYPE_CHECKING for type hints
- Impact: Required restructuring module organization
Issue 2: Hardcoded file paths in data loading
- Solution: Added config parameter for data directory path
- Impact: Minor - added one parameter to constructor
```
Verification Section
Checklist items:
- [x] Code compilation (no syntax errors)
- [x] Import tests (can import without errors)
- [x] Runtime tests (if applicable)
- [x] Tutorial compatibility (if applicable)
Mark items complete only when verified.
Integration with Other Skills
Read by:
update-task-board- Uses entries to update TASK_BOARD.mdbuild-session-context- Shows recent migrationsmanage-skills- Reads for project history
Does NOT interact with:
- CLAUDE.md (not this skill's job)
- TASK_BOARD.md (update-task-board handles)
Example Entry
```markdown
2026-01-01 - instance.py β vrp_toolkit/problems/pdptw.py
Status: β Completed
Time Spent: 2 hours
Complexity: High
Source: SDR_stochastic/new version/instance.py
Destination: vrp-toolkit/vrp_toolkit/problems/pdptw.py
#### π Migration Summary
- Original Purpose: PDPTW instance class with battery constraints for SDR paper
- Target Architecture Layer: Problem
- Key Changes Made: Extracted all hardcoded values (depot, capacity, battery) into parameters. Separated instance definition from solving logic. Added comprehensive type hints and docstrings following Google style.
#### π§ Key Changes
- Extracted hardcoded values: Depot (0,0), vehicle capacity 15, max battery 100, charging rate 2.0
- Decoupled from paper logic: Removed SISR-specific validation, separated battery simulation from instance
- Added/improved: Complete docstrings, type hints, parameter validation in constructor
#### β οΈ Issues & Solutions
Issue 1: Circular dependency with Solution class
- Solution: Moved Solution to separate module, used forward references
- Impact: Created cleaner module structure
Issue 2: Time window validation assumed specific format
- Solution: Generalized validation to accept any numeric time windows
- Impact: None - more flexible API
#### β Verification
- [x] Code compilation
- [x] Import tests
- [x] Runtime tests with sample data
- [x] Tutorial compatibility verified
#### π Notes
- Battery constraint logic may need future generalization for other problems
- Consider adding battery capacity as instance parameter vs vehicle parameter
```
Maintenance Notes
Keep MIGRATION_LOG.md:
- Chronologically ordered (newest first)
- Detailed but focused
- Consistent formatting
- Evidence of progress
Update frequency:
- After each migration completes
- When significant issues are resolved
- When migration approach changes
File References
- Manages:
.claude/MIGRATION_LOG.md - Does NOT modify:
.claude/CLAUDE.md,.claude/TASK_BOARD.md
More from this repository10
Extracts and integrates real-world street networks from OpenStreetMap for Vehicle Routing Problem (VRP) modeling and analysis.
Migrates Python research modules from SDR_stochastic to vrp-toolkit, refactoring code into generic, reusable implementations across problem, algorithm, and data layers.
Maintains a comprehensive, up-to-date architecture map documenting system modules, data flows, entry points, and dependencies in ARCHITECTURE_MAP.md.
create-playground skill from dudusoar/vrp-toolkit
Synchronizes TASK_BOARD.md by reading project logs and updating task statuses to reflect actual progress.
Quickly manages Python virtual environments, packages, and dependencies using uv, providing fast and modern project setup commands.
Systematically maps Streamlit playground UI to vrp-toolkit backend APIs, providing interface references and contract test integration for efficient module connections.
Logs and tracks development issues, debugging processes, and solutions in a structured DEBUG_LOG.md file for systematic problem resolution and knowledge retention.
Manages and maintains VRP Toolkit skills through compliance checks, documentation sync, and change tracking.
Provides comprehensive documentation for data structures in the VRP toolkit, covering problem, algorithm, data, and runtime layers for quick reference.