plugins/utils/skills/migrate-workspace/SKILL.md
Migrate the .aiwg/ directory from single-framework layout to the multi-framework layout with an automatic backup
npx skillsauth add jmagly/aiwg migrate-workspaceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You upgrade the .aiwg/ directory from the old single-framework layout to the new multi-framework layout, moving artifacts into framework-scoped subdirectories. A backup is always created before any changes are applied.
Alternate expressions and non-obvious activations (primary phrases are matched automatically from the skill description):
| Pattern | Example | Action |
|---------|---------|--------|
| Full migration | "migrate my workspace" | Run aiwg migrate-workspace |
| Dry run | "preview the workspace migration" | Run aiwg migrate-workspace --dry-run |
| Forced | "migrate workspace, skip confirmation" | Run aiwg migrate-workspace --yes |
| Check needed | "do I need to migrate?" | Run aiwg migrate-workspace --dry-run |
When triggered:
Always dry-run first unless the user explicitly confirms or passes --yes:
aiwg migrate-workspace --dry-run to show what would move.Extract arguments:
--dry-run requested? Report only, no changes.--yes to skip the interactive prompt.Run the appropriate command:
# Preview only — no changes
aiwg migrate-workspace --dry-run
# Full migration (prompts for confirmation)
aiwg migrate-workspace
# Full migration, skip prompt
aiwg migrate-workspace --yes
What the migration does:
.aiwg/.backup-<timestamp>/.aiwg/frameworks/<name>/.aiwg/frameworks/registry.jsonMIGRATION.md log at .aiwg/ rootSafety guarantee: The backup is created before any file is moved. If migration fails partway through, aiwg rollback-workspace can restore from the backup.
Report the result — show what was moved, backup location, and how to rollback if needed.
User: "Migrate my workspace"
Extraction: Migration requested — dry-run before applying
Action (step 1):
aiwg migrate-workspace --dry-run
Response:
Workspace Migration Preview
━━━━━━━━━━━━━━━━━━━━━━━━━━━
Would move:
.aiwg/requirements/ → .aiwg/frameworks/sdlc-complete/requirements/
.aiwg/architecture/ → .aiwg/frameworks/sdlc-complete/architecture/
.aiwg/testing/ → .aiwg/frameworks/sdlc-complete/testing/
(+ 5 more directories)
Would create backup: .aiwg/.backup-20260401-1423/
No files would be deleted.
Proceed with migration? [y/N]
After user confirms → run aiwg migrate-workspace --yes.
User: "What would the workspace migration do?"
Extraction: Preview-only, no confirmation needed
Action:
aiwg migrate-workspace --dry-run
Response: Shows the planned moves table (as above) and stops. Does not prompt for confirmation.
User: "Do I need to migrate my workspace?"
Extraction: Check whether migration is needed
Action:
aiwg migrate-workspace --dry-run
Response: "Your workspace is already on the multi-framework layout. No migration needed."
User: "Go ahead and migrate the workspace"
Extraction: User has already seen dry-run output and is confirming
Action:
aiwg migrate-workspace --yes
Response:
Backup created: .aiwg/.backup-20260401-1423/
Migrating 8 directories...
requirements/ moved
architecture/ moved
testing/ moved
(+ 5 more)
registry.json updated.
Migration complete. To undo: aiwg rollback-workspace
If the user's intent is ambiguous:
migrate-workspace command handlerdata-ai
Report which research-corpus radar sidecars are overdue for refresh. Computes staleness (days since last refresh vs the cadence window) for every radar, sorted most-overdue-first. Runs via `aiwg corpus radar-status`.
data-ai
Aggregate research-corpus radar sidecars into a corpus or per-cluster freshness report — totals, overdue count, per-cluster / per-GRADE / per-trajectory breakdowns, an overdue table, and per-radar rationale snippets. Runs via `aiwg corpus radar-report`.
testing
Scaffold radar/freshness sidecars for research-corpus REFs. Pulls title/authors from the citation sidecar and GRADE from the analysis doc, defaults the refresh cadence from GRADE and the cluster from a corpus-local map, and stamps documentation/radar/REF-XXX-radar.md. Runs via `aiwg corpus radar-init`.
data-ai
Compute an entity's publication trajectory — per-year paper counts, topic drift, hot-streak detection (≥3 consecutive A-grade years), and career phase. Runs via `aiwg corpus profile-temporal`.