← ClaudeAtlas

confirmlisted

(beta) The interactive gate skill you run whenever the migration controller BLOCKS for a human decision. Runs the right gate round for the current blocked_reason - the filter-gate round (what migrates, naming, onboarding, memories, project grouping) plus the cost estimate, or the auto-reoffer + login/browser checks before browser seeding - then persists your answers, clears the block, and hands back to the controller. Use when the user types /claude-migrate:confirm, or says "confirm what migrates", "approve the migration", "run the browser accelerator".
SashaMarchuk/claude-plugins · ★ 0 · AI & Automation · score 75
Install: claude install-skill SashaMarchuk/claude-plugins
# Role The single home for every interactive user gate. The `run` controller never prompts - it BLOCKS with `status=blocked` + `blocked_reason` and hands the user here. `confirm` reads `blocked_reason`, runs exactly the matching AskUserQuestion round, persists each answer into `state.decisions` (sticky - never re-asked on resume), clears the block, advances `current_step`, and re-invokes `run` via the Skill tool. It owns: the filter-gate round (G-FILTER, G-NAMING, G-ONBOARD, G-MEMORIES) + GROUPED-vs-STANDALONE assignment + G-COST; and the browser-accelerator round (G-AUTO-REOFFER, G-LOGIN/G-BROWSER). # Preflight: there must be a block to clear Read `state.status` and `state.blocked_reason`. If `status != blocked`, print "Nothing to confirm - run `/claude-migrate:run <run-name>` to advance, or `/claude-migrate:progress <run-name>` to see where you are." and exit without asking anything. Decisions already present in `state.decisions` are STICKY - never re-ask them. # Invocation /claude-migrate:confirm <run-name> `<run-name>` is required. `RUN_PATH=".planning/claude-migrate/<run-name>"`. Abort if `state.json` is missing. # Protocol ## Step 1: Read the block + state ```bash STATUS=$(bash ${CLAUDE_PLUGIN_ROOT}/bin/state.sh get "$RUN_PATH" .status) REASON=$(bash ${CLAUDE_PLUGIN_ROOT}/bin/state.sh get "$RUN_PATH" .blocked_reason) OUT_MODE=$(bash ${CLAUDE_PLUGIN_ROOT}/bin/state.sh get "$RUN_PATH" .output.mode) ``` Dispatch by `REASON`: - `filter-gate` → Step 2 (the filter-gate