Help us improve
Share bugs, ideas, or general feedback.
From migration-planner
Run an autonomous quality review on a completed workflow step. Three coordinated agent personas (Orchestrator, Challenger, Researcher) loop through structured review rounds until a confidence score algorithm determines the data meets threshold.
npx claudepluginhub twofoldtech-dakota/plugin-migration-plannerHow this skill is triggered — by the user, by Claude, or both
Slash command
/migration-planner:migrate-challengeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Run an autonomous quality review on a completed workflow step. Three coordinated agent personas (Orchestrator, Challenger, Researcher) loop through structured review rounds until a confidence score algorithm determines the data meets threshold.
Cross-references structured review findings against an implementation plan, classifies each finding into an action category, applies concrete edits, and produces a traceability summary.
Performs multi-agent review of implementation plans using PoLL consensus protocol. Independent expert panels surface diverse issues and blind spots before coding.
Reviews architecture of written plans: scores data flow, failure modes, edge cases, test matrix, rollback safety (0-10 each) with citations; produces ranked fixes.
Share bugs, ideas, or general feedback.
Run an autonomous quality review on a completed workflow step. Three coordinated agent personas (Orchestrator, Challenger, Researcher) loop through structured review rounds until a confidence score algorithm determines the data meets threshold.
/migrate challenge [step]
Where [step] is one of: discovery, analysis, estimate, refine. If omitted, auto-detect the most recently completed step from the assessment status.
get_assessment with project_path set to the current working directory. Fall back to .migration/assessment.json. If neither exists, tell the user to run /migrate new first.discovery → challenge discovery, analysis → challenge analysis, estimation → challenge estimate, refinement → challenge refine.get_discovery (all dimensions). Read skills/migrate-knowledge/discovery/discovery-tree.json for the full question set.get_analysis. Read skills/migrate-knowledge/heuristics/gotcha-patterns.json, complexity-multipliers.json, dependency-chains.json.get_estimate. Read skills/migrate-knowledge/heuristics/base-effort-hours.json, ai-alternatives.json.get_estimate. Load scope exclusions via the refine page API or .migration/scope-exclusions.json.get_challenge_reviews with the assessment ID and step to load any prior challenge review rounds.skills/migrate-knowledge/knowledge/ for cross-referencing.Adopt the Orchestrator persona. You are the control loop — systematic, precise, data-driven.
Calculate the initial review confidence score using a weighted average of five dimensions:
review_confidence = Σ(dimension_weight × dimension_score) / Σ(dimension_weight)
Dimension weights (all steps):
| Dimension | Weight |
|---|---|
| Completeness | 25 |
| Consistency | 25 |
| Plausibility | 20 |
| Currency | 15 |
| Risk Coverage | 15 |
Scoring per step:
| Dimension | Measurement |
|---|---|
| Completeness | (answered_questions / total_required_questions) across all 17 dimensions × 100 |
| Consistency | Cross-dimension references align: topology matches component counts, DB count matches connection strings, instance counts match across dimensions |
| Plausibility | Values within reasonable ranges: instance counts 1-50, DB sizes 1GB-10TB, cache sizes 256MB-128GB |
| Currency | Azure target services listed in discovery are still available/recommended (verify via web search) |
| Risk Coverage | Known risk patterns for this topology type have sufficient data to evaluate |
| Dimension | Measurement |
|---|---|
| Completeness | Every in-scope complex dimension has >= 1 risk identified |
| Consistency | Assumptions don't contradict each other or contradict discovery answers |
| Plausibility | Risk severity ratings proportional to estimated hours impact (critical >= 16h, high >= 8h, medium >= 4h) |
| Currency | Mitigation strategies reference current Azure capabilities (verify via web search) |
| Risk Coverage | All gotcha patterns evaluated, all multiplier conditions checked, risk clusters identified for known combinations |
| Dimension | Measurement |
|---|---|
| Completeness | All in-scope components have hours assigned, role breakdowns present, AI alternatives evaluated |
| Consistency | Phase ordering respects dependency chains, role hours sum to phase totals, component hours sum to totals |
| Plausibility | Total hours within expected range for topology type, no single component > 30% of total, optimistic/pessimistic ratio between 1.5x and 3x |
| Currency | AI tool savings reflect current tool capabilities (verify via web search for latest versions) |
| Risk Coverage | Pessimistic range covers all identified risks, gotcha patterns add appropriate buffer, assumption widening present for unvalidated assumptions |
| Dimension | Measurement |
|---|---|
| Completeness | Cascade impacts fully propagated for all exclusions, dependent components flagged |
| Consistency | No in-scope component depends on an excluded component without acknowledgment |
| Plausibility | Less than 40% of total scope excluded (otherwise the scope may be too narrow), remaining scope is coherent |
| Currency | Excluded items are not critical for current Azure deployment requirements (verify via web search) |
| Risk Coverage | Out-of-scope risks and assumptions are properly flagged, excluded component risks noted |
Present the baseline score:
CHALLENGE REVIEW: Post-{Step}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Baseline Confidence Score: {score}%
Completeness {score}% ████████░░
Consistency {score}% ██████████
Plausibility {score}% ███████░░░
Currency {score}% ██░░░░░░░░ (needs web verification)
Risk Coverage {score}% █████████░
Focus areas: {lowest 2 dimensions}
Switch to the Challenger persona. You are skeptical, curious, and thorough. Your job is to find what's missing, inconsistent, or implausible. You push back on every assumption and look for gaps others would miss.
Generate 5-15 structured challenges targeting the lowest-scoring dimensions. Each challenge must include:
{
id: "CHK-001", // Sequential within this round
category: string, // completeness | consistency | plausibility | currency | risk_coverage
severity: string, // critical | high | medium | low
description: string, // What's wrong or suspicious
data_reference: string, // Specific data point or file referenced
status: "open",
resolution: null,
researcher_needed: boolean, // true if web search could help resolve
score_impact: number // Estimated confidence score improvement if resolved (1-10)
}
Challenge generation rules:
researcher_needed: true for currency verificationPresent challenges grouped by severity:
CHALLENGER FINDINGS — Round {N}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔴 CRITICAL ({count})
CHK-001 [completeness] No database sizing data — cannot validate migration approach
CHK-002 [currency] Azure SQL Managed Instance pricing model changed in 2024
🟠 HIGH ({count})
CHK-003 [consistency] Discovery says 4 CD instances but analysis only models 2
...
🟡 MEDIUM ({count})
...
⚪ LOW ({count})
...
{count} challenges need researcher investigation.
Switch to the Researcher persona. You are methodical and evidence-driven. You investigate challenges using live web search and cross-reference against local knowledge files.
For each challenge tagged researcher_needed: true:
Use WebSearch to find current information:
Cross-reference findings against local knowledge files in skills/migrate-knowledge/knowledge/
Produce a finding for each investigated challenge:
{
challenge_id: "CHK-002",
finding: string, // What was discovered
source: string, // Knowledge file path OR "web search"
source_url: string | null, // URL if from web search
verified_date: string, // Today's ISO date
recommendation: string, // What to do with this information
data_update_suggested: boolean // Should knowledge files be updated?
}
For non-researcher challenges, attempt to resolve from existing data:
Present findings:
RESEARCHER FINDINGS — Round {N}
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CHK-002: Azure SQL MI Pricing Update
Finding: Azure SQL MI pricing was restructured in November 2024. The
vCore-based purchasing model now includes a "Next-gen" tier.
Source: https://learn.microsoft.com/en-us/azure/azure-sql/...
Verified: {today}
Recommendation: Update estimate to reflect current pricing tier options.
⚠️ Suggests updating knowledge file: azure-sitecore-requirements.md
CHK-005: Sitecore 10.3 Azure Compatibility
Finding: Sitecore 10.3 officially supports Azure SQL MI with specific
configuration requirements documented in KB1001489.
Source: https://support.sitecore.com/...
Verified: {today}
Recommendation: No changes needed — current data is accurate.
Switch back to the Orchestrator persona.
Update dimension scores based on challenge resolutions and researcher findings:
Resolve challenges where possible:
resolved with the finding as resolutionresolvedopenRecompute the confidence score with updated dimension values
Check convergence:
Pass conditions (stop looping):
passedconditional_passContinue condition:
Plateau condition (engage user):
Present updated score:
SCORE UPDATE — Round {N}
━━━━━━━━━━━━━━━━━━━━━━━
Previous: {prev_score}% → Current: {new_score}% (+{delta})
Completeness {score}% (+{delta})
Consistency {score}% (+{delta})
Plausibility {score}% (+{delta})
Currency {score}% (+{delta}) ← improved by web verification
Risk Coverage {score}% (+{delta})
Challenges: {resolved}/{total} resolved
Open critical/high: {count}
Decision: {PASS | CONDITIONAL_PASS | CONTINUE | PLATEAU}
After each round (regardless of outcome), save the results:
Step 1 — Save to MCP: Call save_challenge_review with:
assessment_id, step, round (auto-increments)status: current round statusconfidence_score: computed scorescore_breakdown: per-dimension scoresacceptance_criteria_met: boolean map of criteriachallenges: full challenge array with updated statusesfindings: all researcher findings with source URLssummary: narrative summary of this roundcompleted_at: ISO timestamp if round is finalStep 2 — Write JSON snapshot: Write .migration/challenge-reviews/{step}-round-{N}.json:
{
"step": "discovery",
"round": 1,
"status": "failed",
"confidence_score": 62,
"score_breakdown": {
"completeness": 85,
"consistency": 72,
"plausibility": 68,
"currency": 30,
"risk_coverage": 55
},
"challenges": [],
"findings": [],
"summary": "..."
}
If the score has plateaued (improved < 5 points) and is below threshold:
REVIEW PLATEAU — Need Your Input
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Score: {score}% (target: 80%, improved only {delta}pts last round)
{count} items need information only you can provide:
1. CHK-007 [critical] Database sizing: How large is the production SQL
Server database? (Current assumption: <50GB)
→ This affects migration approach choice and timeline.
2. CHK-011 [high] VPN connectivity: Does the current AWS environment
use Site-to-Site VPN or Direct Connect?
→ This determines networking phase complexity.
Please answer what you can — any input helps improve the review.
Once the review terminates (pass, conditional pass, or plateau with user engagement):
CHALLENGE REVIEW COMPLETE
━━━━━━━━━━━━━━━━━━━━━━━━━
Step: {step} | Rounds: {N} | Status: {PASSED ✓ | CONDITIONAL PASS ⚠ | PLATEAU ◆}
Final Confidence Score: {score}%
Completeness {score}% ████████░░
Consistency {score}% ██████████
Plausibility {score}% ███████░░░
Currency {score}% ████████░░ (verified {date})
Risk Coverage {score}% █████████░
Round History:
Round 1: 52% → 62% (+10)
Round 2: 62% → 74% (+12)
Round 3: 74% → 82% (+8) ← PASSED
Challenges: {resolved}/{total} resolved
Critical: {count} ({open} open)
High: {count} ({open} open)
Medium: {count} ({open} open)
Low: {count} ({open} open)
Research Findings: {count} web-verified items
{count} confirmed current data
{count} suggested knowledge updates
{#if conditional_pass}
⚠ Conditional pass — the following items should be addressed before proceeding:
- CHK-xxx: ...
- CHK-xxx: ...
{/if}
{#if plateau}
◆ Review plateaued — unresolved items documented. Consider addressing
before proceeding to the next step.
{/if}
Recommendations:
- {next step suggestion}
- {if challenge_required is false} Consider enabling challenge gates:
set challenge_required on the assessment for mandatory quality checks
Suggest the appropriate next step:
/migrate analyze/migrate estimate/migrate plan.migration/challenge-reviews/ directory, creating it if needed.