From sdd
Validates completed batch migrations for consistency and correctness. Checks for residual old patterns, runs tests, verifies build, and generates a quality report. Use when user says "review migration", "validate migration", "check migration status", "verify batch changes", or after running /migrate. Do NOT use if no migration has been performed.
npx claudepluginhub robertraf/rob-agent-workflow --plugin sddThis skill uses the workspace's default tool permissions.
You are validating a completed migration: **Check for correctness, residual patterns, and overall quality.**
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
You are validating a completed migration: Check for correctness, residual patterns, and overall quality.
The user will specify:
$ARGUMENTS
If $ARGUMENTS is empty, ask the user to provide:
Run the bundled residual-check script:
bash ${CLAUDE_SKILL_DIR}/scripts/check-residual-patterns.sh "<old-pattern>" "<scope>" "<ext>"
If the script is not available, fall back to:
grep -rn "<old-pattern>" --include="*.<ext>" <scope>/
Report:
Residual Pattern Check
══════════════════════
Old imports found: N files
Old API usage found: N occurrences
If residuals found, list each file and line number.
# Use the project's test command
Report:
Test Suite
══════════
Total: N tests
Passed: N ✓
Failed: N ✗
Skipped: N
# Use the project's build command
Report:
Build
═════
Status: ✓ successful (or ✗ failed)
Warnings: N
Errors: N
Analyze the git diff:
git diff --stat
git diff --name-only
Group changes by type:
Changes Summary
═══════════════
Import changes: N files
API usage changes: N files
Type changes: N files
Test updates: N files
Config changes: N files
New files: N files
Deleted files: N files
Quality Assessment
══════════════════
✓ No residual old patterns
✓ All tests passing
✓ Build successful
✓ Consistent naming conventions
✓ No TODO/FIXME related to migration left behind
✓ No commented-out old code (deleted, not commented)
✗ [Any issues found]
Migration Review: [old] → [new]
═══════════════════════════════════════
Status: ✓ PASS (or ✗ NEEDS ATTENTION)
Residual check: ✓ 0 old patterns found
Tests: ✓ N/N passing
Build: ✓ clean
Files changed: N
Issues found: N
[list any issues]
Recommendation: Ready to ship (or: Fix N issues first)
These are common failure modes when validating migrations. Watch for them:
OldClass but aliased imports, dynamic references, string literals, and comments may use variations. Cast a wider net in the residual check.index.ts, __init__.py, etc.) still re-exports the old name. These often slip through grep because the barrel references the module, not the pattern directly./migrate targeting only the files with residuals