From drupal-dev-framework
Migrates single-file Markdown tasks to v3.0.0 folder structure with phased subfiles (task.md, research.md, etc.), parses content by headers, creates .bak backups. Auto or manual.
How this skill is triggered — by the user, by Claude, or both
Slash command
/drupal-dev-framework:task-folder-migratorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Migrate single-file tasks to the new v3.0.0 folder-based structure.
Migrate single-file tasks to the new v3.0.0 folder-based structure.
Activate when:
/drupal-dev-framework:migrate-tasks (manual mode)project-orchestrator when old format detected (automatic mode)Automatic Mode (when invoked by /next command):
/next and old format detectedManual Mode (when invoked by /migrate-tasks command):
Converts old-style single-file tasks into new folder structure:
Old Structure (v2.x):
implementation_process/in_progress/
└── settings_form.md # Everything in one file
New Structure (v3.0.0):
implementation_process/in_progress/settings_form/
├── task.md # Tracker with links
├── research.md # Phase 1 content
├── architecture.md # Phase 2 content
└── implementation.md # Phase 3 content
Check if invoked automatically or manually:
project-orchestrator agent (context includes automatic=true)/migrate-tasks command or user requestSet $automatic = true/false based on invocation context.
Get project path from project_state.md or ask user:
Where are your task files located?
Default: {cwd}/implementation_process/in_progress/
Use Glob to find single .md files:
{project_path}/implementation_process/in_progress/*.md
If no .md files found, report: "No old-style tasks found. All tasks already using v3.0.0 structure."
If Automatic Mode ($automatic = true):
Show brief message and proceed immediately:
Found {N} task(s) in v2.x format.
Auto-migrating: {list of task names}
Skip to Step 4 (no confirmation needed).
If Manual Mode ($automatic = false):
Show full migration plan and wait for confirmation:
## Tasks to Migrate
Found {N} task(s) in old format:
1. settings_form.md
2. content_entity.md
3. field_formatter.md
Proceed with migration? (Creates backups with .bak extension)
Wait for user confirmation. If user declines, exit gracefully.
For each task file:
Use Read on {task_name}.md to load full content.
Extract content by searching for markdown headers:
## Research or ## Phase 1 and next ## header## Architecture or ## Phase 2 and next ## header## Implementation or ## Phase 3 and next ## headerUse Bash to create directory:
mkdir -p "{project_path}/implementation_process/in_progress/{task_name}"
1. Create task.md (Tracker):
Use Write to create {task_name}/task.md:
# Task: {task_name}
**Created:** {original_date or today}
**Current Phase:** {detect from content}
## Goal
{extract from original Goal section}
## Phase Status
- [{x if research exists}] Phase 1: Research → See [research.md](research.md)
- [{x if architecture exists}] Phase 2: Architecture → See [architecture.md](architecture.md)
- [{x if implementation exists}] Phase 3: Implementation → See [implementation.md](implementation.md)
## Acceptance Criteria
{extract from original Acceptance Criteria section}
## Related Tasks
{extract from original Related Tasks section}
## Notes
{extract from original Notes section}
2. Create research.md (if content exists):
If Research section found, use Write to create {task_name}/research.md:
# Research: {task_name}
{paste Research section content here}
3. Create architecture.md (if content exists):
If Architecture section found, use Write to create {task_name}/architecture.md:
# Architecture: {task_name}
{paste Architecture section content here}
4. Create implementation.md (if content exists):
If Implementation section found, use Write to create {task_name}/implementation.md:
# Implementation: {task_name}
{paste Implementation section content here}
Use Bash to rename original file:
mv "{project_path}/implementation_process/in_progress/{task_name}.md" \
"{project_path}/implementation_process/in_progress/{task_name}.md.bak"
After migrating all tasks, report:
## Migration Complete ✓
Migrated {N} task(s) to v3.0.0 structure:
1. settings_form/ ✓
- task.md
- research.md
- architecture.md
- Backup: settings_form.md.bak
2. content_entity/ ✓
- task.md
- research.md
- Backup: content_entity.md.bak
Original files backed up with .bak extension.
**Next Steps:**
1. Verify migrated tasks: Check {project_path}/implementation_process/in_progress/
2. Delete backups when confident: rm *.md.bak
| Situation | Handling |
|---|---|
| No sections found | Create task.md only with all content |
| Task already migrated | Skip, report "already v3.0.0 format" |
| Empty sections | Don't create file for that phase |
| Backup file exists | Append timestamp: {task}.md.bak.{timestamp} |
| Permission error | Report error, skip task, continue |
In Manual Mode, STOP and ask user if:
In Automatic Mode, proceed but log warnings:
Migrating: settings_form.md
Creating: settings_form/
✓ task.md (tracker with links)
✓ research.md (Phase 1 content)
✓ architecture.md (Phase 2 content)
✗ implementation.md (no content found)
Backup: settings_form.md → settings_form.md.bak
Migration complete for settings_form
npx claudepluginhub camoa/claude-skills --plugin drupal-dev-frameworkConsolidates scattered legacy task files (docs/planning/06-tasks.md, task.md, etc.) into root TASKS.md with deduplication, Task ID extraction, and user confirmation.
Updates project_state.md, scans task directories via Bash, detects inconsistencies like empty/orphaned files, organizes structure after phase activities or task completion.
Converts PRD/FRD Markdown files to structured task lists with phased organization, checkboxes, metadata, saves to output directory, and adds reference link to PRD.