Load current config:
gad-tools config-get planning.roots 2>/dev/null || echo "[]"Also read
planning-config.tomldirectly to get existing roots.Crawl for .planning/ directories: Find all
.planning/directories from the repo root, excluding paths inplanning.ignore:find . -name ".planning" -type d \ | grep -v node_modules | grep -v dist | grep -v .git \ | sortCompute diff:
- For each discovered path not in
[[planning.roots]]: show as NEW - For each
[[planning.roots]]path whose.planning/no longer exists: show as REMOVED - For each
[[planning.roots]]path still present: show as OK
- For each discovered path not in
Display summary:
Workspace sync — found N .planning/ directories ✓ OK [global] ./.planning + NEW [?] vendor/grime-time-site/.planning ! REMOVED [old-sub] vendor/deprecated/.planning (dir missing)Auto-generate an
idfor new entries from the parent directory name.Ask to apply (if any changes):
Apply changes to planning-config.toml? (y/n)Write updated
[[planning.roots]]toplanning-config.toml(or.planning/planning-config.tomlfollowing the file's current location).- Add new entries with
discover = false - Remove confirmed-removed entries
- Preserve all other config unchanged
- Add new entries with
Confirm:
✓ planning-config.toml updated — N roots registered
Skill
gad:workspace-sync
gad-workspace-sync
Crawl monorepo for .planning/ directories and sync planning-config.toml roots
Source on GitHub
vendor/get-anything-done/sdk/skills/gad-workspace-sync/SKILL.md