M1 Part 2 workspace migration — guided walkthrough that scans legacy state across sources A (repo-root), B (~/.sutando/workspace/), C ($SUTANDO_WORKSPACE env-override), surfaces collisions, gets owner greenlight, commits, verifies, and (if sutando-plus + sync configured) re-routes the vault .git via sutando-migrate-sync.sh. Wraps scripts/sutando-migrate.sh for agent-invoked use; bash entry path remains available.
SkillScore86Maintained
Automatic
◆DevOps & SRE pack
Last verified 8/23/2026
What it changes
Passed 17 of 20 test cases with the skill, and 11 of 20 without it.
Without skill55%
With skill86%
Checks it passed that the model alone missed
Specifies the --json flag for the initial scan command
Executes sutando-migrate-sync.sh with --dry-run initially
Reports that no migration is needed because data is already on M0
and 5 more in the full report
7 fixed12 passed either way3 still failing0 broke
Pass-rate lift
+32 pp
Tokens
+56%
Agent turns
0%
Response time
-52%
Model gemini-3.6-flashMeasured 8/23/2026v119 of 22 cases passed with skill · 20 comparable
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 5 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 5
Prompt
If verification fails in Phase 3 and the owner requests a rollback, what command syntax with scripts/sutando-migrate.sh should be provided?
case-18 · gemini-3.6-flash · 8/23/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md85 linessingle file
Sutando Migrate
Guided workspace migration for existing users (M1 Part 2). Reach for this when:
The legacy-state-detected warning fires (health-check, init.sh, check-pending-questions)
A user has data at a pre-M0 location (<repo>/{notes,state,results,...}/, ~/.sutando/workspace/, or a custom $SUTANDO_WORKSPACE-pointed path) and wants it folded into the M0 canonical <repo>/workspace/
Owner explicitly says "migrate workspace" or "run sutando-migrate"
Usage: /sutando-migrate [--auto]
--auto proceeds without per-step greenlight. Without it the skill waits for owner OK at each phase boundary.
What this skill does (5 phases)
Phase 1 — Scan + summary
Run bash scripts/sutando-migrate.sh scan --json. Parse the JSON for:
macOS notification (osascript -e 'display notification "scan ready: N actionable / M ignorable" with title "Sutando-Migrate"')
If voice client connected, a brief voice summary
Wait for greenlight unless --auto.
Phase 2 — Commit (data move)
If owner says go:
bash scripts/sutando-migrate.sh commit (no --delete-source; honors workspace_m1_no_auto_commit)
Surface the commit-output to owner: backup-id, per-source counts (copied/identical-drop/kept-dest/sidecar/skipped), sentinel paths
After commit, the script prints the phase-2 footer ("After ~7d run --commit --delete-source --backup-id "). Acknowledge it; don't run delete-source automatically.
Phase 3 — Verify
bash scripts/sutando-migrate.sh verify — confirms hash + count match per indexed source-file entry
If verify FAILS (returns non-zero), report the failure + suggest rollback. Don't proceed.
Isolate already-assigned owner tasks into durable provider sessions keyed by inferred workstream. This runtime skill is adapter-invoked; ungrouped tasks keep the selected core's legacy session.