Source profileQuality 75/100

sonichi/sutando/skills/sutando-migrate/SKILL.md

sutando-migrate

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.

Source repository stars
359
Declared platforms
0
Static risk flags
0
Last source update
2026-07-28
Source checked
2026-07-28

Decision brief

What it does—and where it fits

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 (/{notes,state,results,...}/, /.sutando/workspace/, or a custom $SUTA…

Best for

    Not for

    • Tasks that require unconfirmed production actions or broad system permissions.
    • Environments where the pinned source and install steps cannot be inspected.

    Compatibility matrix

    Platform support, with evidence labels

    PlatformStatusEvidenceWhat to check
    CodexNot declaredNo explicit evidencePortability before use
    Claude CodeNot declaredNo explicit evidencePortability before use
    CursorNot declaredNo explicit evidencePortability before use
    Gemini CLINot declaredNo explicit evidencePortability before use
    Open the compatibility checker

    Installation

    Inspect first. Install second.

    The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.

    Source-detected install commandSource
    npx skills add https://github.com/sonichi/sutando --skill "skills/sutando-migrate"
    Safe inspection promptEditorial

    Inspect the Agent Skill "sutando-migrate" from https://github.com/sonichi/sutando/blob/6a8f0fccd32e5aa620a3572c8885544f144bb6fe/skills/sutando-migrate/SKILL.md at commit 6a8f0fccd32e5aa620a3572c8885544f144bb6fe. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.

    Workflow

    What the source asks the agent to do

    1. 01

      Phase 1 — Scan + summary

      Run bash scripts/sutando-migrate.sh scan --json. Parse the JSON for: - Total unique relpaths across A+B+C+dest - Per-source byte counts - Cross-source collision triage: identicalcontent (drop-dup, no action) + mtimeonlydiff (commit's newest-mtime auto-resolves) + sizemismatch (R…

      Total unique relpaths across A+B+C+destPer-source byte countsCross-source collision triage: identicalcontent (drop-dup, no action) + mtimeonlydiff (commit's newest-mtime auto-resolves) + sizemismatch (REAL content conflicts — owner attention)
    2. 02

      Phase 2 — Commit (data move)

      If owner says go: - bash scripts/sutando-migrate.sh commit (no --delete-source; honors workspacem1noautocommit) - Surface the commit-output to owner: backup-id, per-source counts (copied/identical-drop/kept-dest/sidecar/skipped), sentinel paths

      bash scripts/sutando-migrate.sh commit (no --delete-source; honors workspacem1noautocommit)Surface the commit-output to owner: backup-id, per-source counts (copied/identical-drop/kept-dest/sidecar/skipped), sentinel pathsIf owner says go: - bash scripts/sutando-migrate.sh commit (no --delete-source; honors workspacem1noautocommit) - Surface the commit-output to owner: backup-id, per-source counts (copied/identical-drop/kept-dest/sidecar…
    3. 03

      Phase 3 — Verify

      bash scripts/sutando-migrate.sh verify — confirms hash + count match per indexed source-file entry

      bash scripts/sutando-migrate.sh verify — confirms hash + count match per indexed source-file entryIf verify FAILS (returns non-zero), report the failure + suggest rollback. Don't proceed.- 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.
    4. 04

      Phase 4 — Sync re-route (sutando-plus users only)

      Detect whether the user has the sync engine configured: - Check for /Documents/github/sutando-plus/scripts/sync-workspace.sh (or ${SUTANDOPLUSDIR:-}/scripts/sync-workspace.sh) - Check whether the source-C location has .git with a remote

      Check for /Documents/github/sutando-plus/scripts/sync-workspace.sh (or ${SUTANDOPLUSDIR:-}/scripts/sync-workspace.sh)Check whether the source-C location has .git with a remoteDetect whether the user has the sync engine configured: - Check for /Documents/github/sutando-plus/scripts/sync-workspace.sh (or ${SUTANDOPLUSDIR:-}/scripts/sync-workspace.sh) - Check whether the source-C location has .…
    5. 05

      Phase 5 — Report + clear nag

      Summarize end-state to owner: - Files migrated (count + bytes) - Sources preserved at original paths (per workspacem1noautocommit) - Backup-id for rollback (bash scripts/sutando-migrate.sh rollback --backup-id ) - Phase-2 cleanup reminder (--delete-source after 7d observation) -…

      Files migrated (count + bytes)Sources preserved at original paths (per workspacem1noautocommit)Backup-id for rollback (bash scripts/sutando-migrate.sh rollback --backup-id )

    Permission review

    Static risk signals and limitations

    No configured static risk pattern was detected

    This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.

    Evidence record

    Why each signal appears

    EvidenceSourceComputedTestedEditorial
    SignalValueEvidence typeMeaning
    Quality score75/100ComputedDocumentation, specificity, maintenance, and trust rules
    Repository stars359SourceRepository attention, not individual Skill quality
    Compatibility0 platformsSourceDeclared in the catalog source record
    Usage guideautomated source guideEditorialGenerated or reviewed according to the visible evidence level

    Pinned source

    Provenance and original SKILL.md

    Repository
    sonichi/sutando
    Skill path
    skills/sutando-migrate/SKILL.md
    Commit
    6a8f0fccd32e5aa620a3572c8885544f144bb6fe
    License
    MIT
    Collected
    2026-07-28
    Default branch
    main
    View the original SKILL.md

    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:

    • Total unique relpaths across A+B+C+dest
    • Per-source byte counts
    • Cross-source collision triage: identical_content (drop-dup, no action) + mtime_only_diff (commit's newest-mtime auto-resolves) + size_mismatch (REAL content conflicts — owner attention)
    • Notable size-mismatch entries (build_log, conversation.log, state/* divergences)

    Present a concise 4–6 line summary to owner via:

    • Discord DM (text)
    • 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.

    Phase 4 — Sync re-route (sutando-plus users only)

    Detect whether the user has the sync engine configured:

    • Check for ~/Documents/github/sutando-plus/scripts/sync-workspace.sh (or ${SUTANDO_PLUS_DIR:-}/scripts/sync-workspace.sh)
    • Check whether the source-C location has .git with a remote

    If both: run bash $SUTANDO_PLUS_DIR/scripts/sutando-migrate-sync.sh --dry-run first; show owner the plan; on greenlight run without --dry-run. Reports vault remote intact + restart instruction.

    If either missing: skip this phase silently; OSS users don't need it.

    Phase 5 — Report + clear nag

    Summarize end-state to owner:

    • Files migrated (count + bytes)
    • Sources preserved at original paths (per workspace_m1_no_auto_commit)
    • Backup-id for rollback (bash scripts/sutando-migrate.sh rollback --backup-id <id>)
    • Phase-2 cleanup reminder (--delete-source after ~7d observation)
    • Re-run python3 src/health-check.py and note: the legacy-state-detected warning WILL still fire — that's expected. The default commit preserves sources (matches workspace_m1_no_auto_commit + the (b)-style reader-fallback contract). The warning only clears after the two-phase phase 2 (commit --delete-source --backup-id <id> after ~7d observing no source-side writes). Mention this to owner: nag-clearance is intentional follow-up, not an unfixed bug.

    Write a build_log entry summarizing what migrated.

    Failure modes + fallbacks

    • scan fails to find any source: report "no migration needed; you're already on M0" and exit.
    • commit partial-fail mid-file (rsync interrupt etc.): rollback via the just-created backup-id, report the failure path, exit.
    • verify mismatch: report which sources failed, suggest rollback or --force re-commit (the latter only if owner confirms the diff is OK).
    • sutando-migrate-sync.sh fails post-commit: data is at dest; just sync is broken. Suggest manual cd <ws>; git init; git remote add origin <vault-url>; git push -u origin <hostname> as the recovery path. Don't auto-rollback data.

    Why this is a skill (not just a script)

    The script (scripts/sutando-migrate.sh) is the engine — operator-invocable from any shell. This SKILL adds:

    • Guided UX: surface collision triage + phase boundaries to owner, not raw stdout
    • Owner-aware sequencing: macOS notification + voice + Discord (channel-of-origin aware)
    • Sync auto-detect: skip phase 4 for OSS users without sutando-plus
    • Discoverability: /sutando-migrate is more memorable than bash scripts/sutando-migrate.sh scan

    OSS users with sufficient bash literacy use the script directly. Most owners use the skill.

    Notes for the agent invoking this skill

    • This skill is interactive (waits for owner greenlight at phase boundaries). Do NOT use --auto unless explicitly directed by owner.
    • The legacy-state-detected warning is a DISCOVERABILITY signal — when you see it in cron-probe stderr, surface to owner as a one-liner ("legacy-state detected; run /sutando-migrate to fold in") rather than running silently.
    • Per feedback_workspace_m1_no_auto_commit: this skill modifies workspace DATA but never runs git commit against the repo. Owner reviews any code changes (e.g. CLAUDE.md updates that may need to follow migration) manually.
    • Per feedback_design_quality: surface the COMPLETE per-phase outcome to owner, don't suppress non-blocking warnings.

    Alternatives

    Compare before choosing

    Computed 10042,015

    coreyhaines31/marketingskills

    ab-testing

    When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program

    Computed 10042,015

    coreyhaines31/marketingskills

    churn-prevention

    When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions 'churn,' 'cancel flow,' 'offboarding,' 'save offer,' 'dunning,' 'failed payment recovery,' 'win-back,' 'retention,' 'exit survey,' 'pause subscription,' 'involuntary churn,' 'people keep canceling,' 'churn rate is too high,' 'how do I keep users,' or 'customers are leaving.' Use this whenever someone is losing subscribers o

    Computed 997

    event4u-app/agent-config

    design-review

    Use when the user says "review the design", "check the UI", or wants a comprehensive UI/UX review. Uses a 7-phase methodology covering interaction, responsiveness, accessibility, and more.

    Computed 9831,966

    K-Dense-AI/scientific-agent-skills

    dask

    Distributed computing for larger-than-RAM pandas/NumPy workflows. Use when you need to scale existing pandas/NumPy code beyond memory or across clusters. Best for parallel file processing, distributed ML, integration with existing pandas code. For out-of-core analytics on single machine use vaex; for in-memory speed use polars.