<objective> Reverse-migrate a GSD-2 project (.gsd/ directory) back to GSD v1 (.planning/) format.
Maps the GSD-2 hierarchy (Milestone → Slice → Task) to the GSD v1 hierarchy (Milestone sections in ROADMAP.md → Phase → Plan), preserving completion state, research files, and summaries.
CJS-only: from-gsd2 is not on the gsd-sdk query registry; call gsd-tools.cjs as shown below (see docs/CLI-TOOLS.md). </objective>
<process>
- Locate the .gsd/ directory — check the current working directory (or
--pathargument):
``bash node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" from-gsd2 --dry-run ` If no .gsd/` is found, report the error and stop.
- Show the dry-run preview — present the full file list and migration statistics to the user. Ask for confirmation before writing anything.
- Run the migration after confirmation:
``bash node "$HOME/.claude/get-shit-done/bin/gsd-tools.cjs" from-gsd2 ` Use --force if .planning/` already exists and the user has confirmed overwrite.
- Report the result — show the
filesWrittencount,planningDirpath, and the preview summary.
</process>
<notes>
- The migration is non-destructive:
.gsd/is never modified or removed. - Pass
--path <dir>to migrate a project at a different path than the current directory. - Slices are numbered sequentially across all milestones (M001/S01 → phase 01, M001/S02 → phase 02, M002/S01 → phase 03, etc.).
- Tasks within each slice become plans (T01 → plan 01, T02 → plan 02, etc.).
- Completed slices and tasks carry their done state into ROADMAP.md checkboxes and SUMMARY.md files.
- GSD-2 cost/token ledger, database state, and VS Code extension state cannot be migrated.
</notes>